WiX组件组条件

WiX组件组条件,wix,windows-installer,installation,conditional-statements,wix3.10,Wix,Windows Installer,Installation,Conditional Statements,Wix3.10,我有一个功能,它引用了组件组。该组件组在另一个文件的片段中定义,并包含组件的数量 该项目在产品的多个版本之间共享,我希望维护product.wxs文件的一个版本(产品版本之间的代码库是通用的) 我是否可以在ComponentGroup上设置一个条件以确定是否将其包含在安装程序中?是的,您可以。下面的代码段是完全有效的WiX代码: <Feature Id="MyFeature" Title="Some title" Level="100"> <ComponentGroupRe

我有一个
功能
,它引用了
组件组
。该
组件组
在另一个文件的
片段
中定义,并包含
组件
的数量

该项目在产品的多个版本之间共享,我希望维护product.wxs文件的一个版本(产品版本之间的代码库是通用的)


我是否可以在ComponentGroup上设置一个条件以确定是否将其包含在安装程序中?

是的,您可以。下面的代码段是完全有效的WiX代码:

<Feature Id="MyFeature" Title="Some title" Level="100">
  <ComponentGroupRef Id="ComponentGroup1"/>
  <ComponentGroupRef Id="ComponentGroup2"/>
  <?if $(var.IncludeAnotherGroup) = true ?>
    <ComponentGroupRef Id="AnotherGroup"/>
  <?endif ?>
</Feature>

是的,你可以。下面的代码段是完全有效的WiX代码:

<Feature Id="MyFeature" Title="Some title" Level="100">
  <ComponentGroupRef Id="ComponentGroup1"/>
  <ComponentGroupRef Id="ComponentGroup2"/>
  <?if $(var.IncludeAnotherGroup) = true ?>
    <ComponentGroupRef Id="AnotherGroup"/>
  <?endif ?>
</Feature>

这正是我所需要的。我使用VisualStudio解决方案从命令行调用构建。在构建安装程序之前(确切地说,在构建整个代码库之前),我正在修改config.wxi中版本字符串的值。可以从msbuild命令行设置wix变量吗?@Jon,有很多关于将msbuild与wix一起使用的官方文档:这正是我需要的。我使用VisualStudio解决方案从命令行调用构建。在构建安装程序之前(确切地说,在构建整个代码库之前),我正在修改config.wxi中版本字符串的值。可以从msbuild命令行设置wix变量吗?@Jon,有很多关于将msbuild与wix一起使用的官方文档: