【发布时间】:2014-03-31 18:39:09
【问题描述】:
我是 Wix 的新手,所以请原谅我可能使用不正确的任何术语。
我有一个大型解决方案,其中包含许多项目,其中一些成为可安装的服务、可执行文件等等。在将具有安装程序的项目的构建后事件中,我运行以下命令以生成包含安装程序所需的所有文件的片段。
"C:\Program Files (x86)\WiX Toolset v3.8\bin\heat.exe" dir $(TargetDir) -ag -cg harvestedComponents -out $(TargetDir)$(ProjectName).wxs
我想创建一个具有组件引用占位符的单个 Wix 设置项目,然后我可以将其链接到片段。这样我可以重用一个安装项目的功能,而不需要为我拥有的每个可安装项目创建一个安装项目。从那里我会有第二个构建事件,它将链接/编译片段和项目,同时将标志传递给可以打开/关闭安装功能的通用安装程序项目,例如添加事件源、不同的自定义操作等。
所以我的问题是如何从可执行项目的构建后事件将片段与通用 Wix 项目链接/编译。我猜它看起来像:
Candle/Light.exe fragment.wxs generic.wxs -eventLog true -customAction1 true -msiName MyInstaller.msi
我将在通用文件中使用 eventLog customAction1 的值来启用/禁用安装功能。
很抱歉造成混乱,希望这是可能的。
【问题讨论】:
-
不要忘记每个安装程序都需要自己的 UpgradeCode 和 Version。
标签: c# wix visual-studio-2013 wix3.7 post-build-event