我有一个自定义控件,如下所示。
在卸载期间,检查IIS_MAJOR_VERSION =“#7”和IIS_MINOR_VERSION =“#5”的条件似乎失败,尽管在安装期间此条件为真。
我确实在卸载文件中检查了IIS_MAJOR_VERSION =“#7”和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 :(得分:0)
即使我不确定代码为什么会出错,但为了预防措施,请使用此代码来获取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" />