我正在尝试学习WiX,现在使用Visual Studio的WiX安装项目模板创建示例安装项目。
我有一个包含三个项目的解决方案:
- .net 类库;
- .NET 应用程序,使用类库;
- WiX 安装项目。
当然,我想将前两个项目的输出作为组件添加到WiX设置中。
如此处和此处所述(据我所知),在WiX项目中添加引用并将其设置为Harvest
属性True
会自动为项目输出添加组件。
现在,我想在一些Feature
描述中引用此组件。
问题:
- 我应该使用什么
Id
ComponentRef
? - 这是引用 VS 项目输出的正确方法吗?
我使用的是VS 2010和WiX 3.6 RC。
当前收获引用的项目输出在 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>
作为替代方案,您可以使用 HarvestProject、HeatDirectory 和 HarvestDirectory MsBuild 任务:
需要将这些文件嵌入到 *.wixproj 文件中,或者您可以创建单独的 MSBuild 兼容 proj 文件。