wix IIS版本在卸载状态下失败
问题描述:
我有一个自定义控件,如下所示。wix IIS版本在卸载状态下失败
在卸载过程中,检查IIS_MAJOR_VERSION =“#7”AND IIS_MINOR_VERSION =“#5”的条件似乎失败,尽管在安装过程中此条件为真。
我没有在卸载文件中检查IIS_MAJOR_VERSION =“#7”AND IIS_MINOR_VERSION =“#5”的属性。有谁知道我做错了什么?
<Property Id="IIS_MAJOR_VERSION">
<RegistrySearch Id="CheckIISVersion"
Root="HKLM"
Key="SOFTWARE\Microsoft\InetStp"
Name="MajorVersion"
Type="raw" />
</Property>
<Property Id="IIS_MINOR_VERSION">
<RegistrySearch Id="CheckIISMinorVersion"
Root="HKLM"
Key="SOFTWARE\Microsoft\InetStp"
Name="MinorVersion"
Type="raw" />
<Custom Action="DropDBUSerIIS75" Before="InstallFinalize">Installed AND NOT UPGRADINGPRODUCTCODE AND IIS_MAJOR_VERSION="#7" AND IIS_MINOR_VERSION="#5"</Custom>
答
即使我不知道它为什么会错了代码,但对于预防使用此代码来获得的IIS版本的价值,因为即使IIS是未安装在上面的注册表项值将持续存在。
<Property Id="IIS_MAJOR_VERSION">
<RegistrySearch Id="CheckIISVersion"
Root="HKLM"
Key="SYSTEM\CurrentControlSet\services\W3SVC\Parameters"
Name="MajorVersion"
Type="raw" />
</Property>
<Property Id="IIS_MINOR_VERSION">
<RegistrySearch Id="CheckIISMinorVersion"
Root="HKLM"
Key="SYSTEM\CurrentControlSet\services\W3SVC\Parameters"
Name="MinorVersion"
Type="raw" />
这是很难说什么是错的样品中,但我仍然建议您使用IIsExtension的预定义的属性:'IISMAJORVERSION'和'IISMINORVERSION'而不是定义你的...只要使用'PropertyRef'元素引用这些属性,并在之后的任何情况下使用 –