Wix if 和 else if 组件元素内的条件

Wix if and else if condition inside component element

我有一个用于程序安装的 .wxs 文件。我想根据 IIS 版本传递安装的一部分(例如,如果 IIS verion > #10 set something 则执行,如果 <= #7 set something 则执行)并继续安装其他部分。

在Windows安装程序中,组件是installation/removal的最小单位。它们是可以成为多个产品一部分的实体。对于产品,只能 select 用于安装或删除功能。 (当没有产品的安装功能需要一个组件时,它被删除。当一个产品没有安装功能时,它被删除。)

一个组件可以在多个功能中。一个特征可以有一个条件。 (它们不仅适用于对话框中的用户 selection。)功能可以嵌套。

综合起来,好像需要有条件的select特征。

在 WiX 中,您可以像answer类似问题中那样表达特征、条件和组件引用。

您可以像这样在您的条件下使用 WiX 提供的 IIS 版本检测:

<PropertyRef Id="IISMAJORVERSION" /> 
<PropertyRef Id="IISMINORVERSION" />
…

<Condition Level="1"><![CDATA[IISMAJORVERSION >= "#10"]]></Condition>