0

我是 WiX 的新手。我使用 Heat 工具根据文件夹生成 wxs 文件。现在如何在 product.wxs 中使用 wxs 文件而不实际将生成的文件包含到解决方案中。仅供参考,我知道我可以使用“ComponentGroupRef Id”引用生成的文件,但是如何指定 ComponentGroupRef 的文件路径?

4

2 回答 2

0

您不必指定该组件组所在文件的路径。你基本上应该做两件事:

  • 确保您的热生成文件包含在编译过程中。你可以把它放在其他wxs文件旁边,让蜡烛选择那个文件夹
  • 正如您所提到的,在elementproduct.wxs的帮助下从您那里引用该组件组ComponentGroupRef
于 2015-12-15T17:37:20.010 回答
0

检查 before build 目标中的收获元素。

<Target Name="BeforeBuild">
  <HarvestDirectory Include="$(SourceDir)">
    <DirectoryRefId>INSTALLDIR</DirectoryRefId>
    <ComponentGroupName>cmpMain</ComponentGroupName>
    <PreprocessorVariable>var.SourceDir</PreprocessorVariable>
    <SuppressUniqueIds>false</SuppressUniqueIds>
    <SuppressCom>true</SuppressCom>
    <SuppressRegistry>true</SuppressRegistry>
    <SuppressRootDirectory>true</SuppressRootDirectory>
    <KeepEmptyDirectories>false</KeepEmptyDirectories>
  <Transforms>DefaultTransform.xsl</Transforms>
</HarvestDirectory>

制作组件组并引用生成的文件:

<ComponentGroup Id="ProductComponents" Directory="INSTALLDIR">
  <ComponentGroupRef Id="cmpMain" />
</ComponentGroup>

*您可以跳过此步骤并直接移至功能表中的参考,但我更喜欢在不同的 Components.wxs 文件中定义所有组件。

然后在特征表中包含组件组:

<Feature Id="Main" Title="Main" Level="1" ConfigurableDirectory="INSTALLDIR" >
  <ComponentGroupRef Id="ProductComponents" />
</Feature>
于 2015-12-15T21:02:39.040 回答