WIX-使用heat.exe后ComponentGroupRef的条件



在我的main.wxs中,我有一些组件,比如:

  <Component Id="Component1" Guid="FBE06968-502C-4FFB-82F8-A314AD7D5789" Directory="INSTALLFOLDER">
    <Condition>$(var.CheckBoxB3)=1</Condition>
    <File Name="File.dll" Source="$(var.BinDir)File.dll" />
  </Component>

而且运行良好。安装文件时会选中复选框。

我决定使用heat.exe添加特定目录中的所有文件。

1-我在我的项目中添加了生成的.wxs文件

2-我在目录元素中添加了好的id

3-我在包含我的元素的相同功能中添加了一个新功能,这是我的新功能:

  <Feature Id="ProductFeatureExamples" Title="Examples" Level="1">
    <Condition Level="1">$(var.CheckBoxB3)=1</Condition>
    <ComponentGroupRef Id="ExamplesComponents"/>
  </Feature>

好的部分是:生成的.wxs中的所有文件都已安装。

坏的地方:情况不好。文件始终处于安装状态。

我试着理解为什么我的病情不起作用?这与前面组件中的情况相同。

我不想在生成的.wxs文件中的所有元素中添加条件,因为有很多条件,而且当我需要重新生成文件时,它也不太有用。

有人有主意吗?

谢谢。

我找到了解决方案。我没有正确理解使用Features条件的方法。我通过以下方式更改条件行:

<Condition Level="0">$(var.CheckBoxB3)=""</Condition>

对我来说,这意味着:如果复选框没有值(未选中),则将此功能更改为0级(不要使用此功能)。

我不清楚如何说:$(var.CheckBoxB3)不等于1

<>不起作用,因为它在XML 中

意思是另一回事

!=不存在

有人知道吗?

相关内容

  • 没有找到相关文章

最新更新