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> 
+0

这是很难说什么是错的样品中,但我仍然建议您使用IIsExtension的预定义的属性:'IISMAJORVERSION'和'IISMINORVERSION'而不是定义你的...只要使用'PropertyRef'元素引用这些属性,并在之后的任何情况下使用 –

即使我不知道它为什么会错了代码,但对于预防使用此代码来获得的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" />