14

我正在尝试学习 WiX,现在使用 Visual Studio 的 WiX 设置项目模板创建示例设置项目。

我有一个包含三个项目的解决方案:

  • .net 类库;
  • .net 应用程序,它使用类库;
  • WiX 设置项目。

当然,我想将前两个项目的输出作为组件添加到 WiX 设置中。

herehere所述(据我所知),在WiX项目中添加引用并将其Harvest属性设置为True自动添加项目输出的组件。

现在,我想在一些Feature描述中引用这个组件。

问题:

  • 我应该用Id什么ComponentRef
  • 这是引用 VS 项目输出的正确方法吗?

我正在使用 VS 2010 和 WiX 3.6 RC。

4

2 回答 2

14

目前 Harvesting 引用的项目输出在 Wix3.6 中不起作用,将在 Wix4.0 中添加

现在,您必须自己手动将二进制输出添加到您的项目中(无论如何我个人更喜欢)。对于下面的示例,组件将与其子文件元素(dotNetClass.Output 和 dotNetApp.Output)命名相同。

<Component>
    <File Id="dotNetClass.Output"
          Name="$(var.dotNetClass.TargetFileName)"
          Source="$(var.dotNetClass.TargetPath)"
          KeyPath="yes" />
</Component>

<Component>
    <File Id="dotNetApp.Output"
          Name="$(var.dotNetApp.TargetFileName)"
          Source="$(var.dotNetApp.TargetPath)"
          KeyPath="yes" />
</Component>
于 2012-08-10T11:21:26.793 回答
2

作为替代方案,您可以使用HarvestProjectHeatDirectoryHarvestDirectory MsBuild 任务:

这些需要嵌入到您的 *.wixproj 文件中,或者您可以创建一个单独的 MSBuild 兼容 proj 文件。

于 2014-09-19T07:52:04.840 回答