我有Feature
,引用ComponentGroup
。 ComponentGroup
在另一个文件的Fragment
中定义,并包含Component
个数。
该项目在产品的多个版本之间共享,我想维护一个版本的Product.wxs文件(代码库在产品版本之间很常见)。
我可以在ComponentGroup上设置Condition以确定是否将其包含在安装程序中吗?
答案 0 :(得分:2)
是的,你可以。下面的代码片段是完全有效的WiX代码:
<Feature Id="MyFeature" Title="Some title" Level="100">
<ComponentGroupRef Id="ComponentGroup1"/>
<ComponentGroupRef Id="ComponentGroup2"/>
<?if $(var.IncludeAnotherGroup) = true ?>
<ComponentGroupRef Id="AnotherGroup"/>
<?endif ?>
</Feature>
您可以在构建时提供IncludeAnotherGroup
变量的值,例如像这样(NAnt代码):
<candle ...>
<defines>
<define name="IncludeAnotherGroup" value="true" />
</defines>
<sources basedir="${paths.wxs}">
<include name="**.wxs"/>
</sources>
</candle>