Wix IIS版本检查启动条件不起作用

时间:2018-09-26 13:04:30

标签: wix windows-installer wix3.5

嗨,我正在尝试添加启动条件,以检查安装的IIS版本是否大于7,否则它会显示符合性消息。

 <PropertyRef Id="IISMAJORVERSION"/>
   <Condition Message="Install requires IIS 7 or higher">
    <![CDATA[IISMAJORVERSION AND (IISMAJORVERSION >= #7)]>
    </Condition>

还尝试了IISMAJORVERSION> =“#7”和IISMAJORVERSION> =“#7”但 在未安装II的计算机上未显示条件消息。请帮忙。

2 个答案:

答案 0 :(得分:0)

检查MSI :在Orca中打开已编译的MSI(or an equivalent tool-朝底部看)。 LaunchCondition 表中是否有条目? 我看不到该条件的编译方式 -当前状态。您可能已经链接了旧的目标文件或类似的文件。这意味着您当前的构建实际上无法生成新的MSI文件,您使用的是旧文件而没有注意到。

条件 :我认为您在条件格式方面存在错误,也许可以尝试以下方法:

<Condition Message="Install requires IIS 7 or higher">
     <![CDATA[IISMAJORVERSION AND (IISMAJORVERSION >= "#7")]]>
</Condition>

请注意结尾处的双括号和两端的<和>字符以及#7周围的引号。我没有检查实际情况。第二部分还不够吗?

Alternatively use an escape character as shown here

答案 1 :(得分:0)

由于IISMAJORVERSION是字符串,因此我们不能执行大于或小于的字符串。因此,我将条件修改为以下。

<PropertyRef Id="IISMAJORVERSION"/>
 <Condition Message="Installer requires IIS 6 or 7 or higher versions installed on the machine.">
<![CDATA[(IISMAJORVERSION <> "") AND (IISMAJORVERSION <> "#1") AND (IISMAJORVERSION <> "#2") AND (IISMAJORVERSION <> "#3") AND (IISMAJORVERSION <> "#4") AND (IISMAJORVERSION <> "#5")]]>
</Condition>