如何将热量输出包含在 wix 文件中? (没有 Visual Studio 个项目)

How to include the output of heat in a wix file? (No Visual Studio project)

我需要构建一个安装程序,出于各种原因,我想避免使用 WiX 项目模板。我非常乐意自己编写这些东西的脚本,并且已经有了适合它的自定义构建过程。

我相信我很好地理解了 WiX 蜡烛、加热和照明工具的作用,我正在熟悉 wxs 文件格式,并且我可以 运行 加热来生成我所需要的文件片段输出想。但是我不知道如何将其合并到我的 wxs 文件中。大概在某些时候我会在 wxs 中引用文件片段文件......但我不太清楚这里的正确语法是什么。

在描述目标目录结构的 wxs 文件中,在 TARGETDIR 下添加一个目录节点,如下所示:

<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="DYNAMIC" Name="Dynamic">

在列出功能引用组件的 wxs 文件中,添加组件组引用:

<Feature Id="MyFeature">
    <ComponentGroupRef Id="MyComponentGroup"/>

像这样调用 heat(根据您的喜好添加更多参数):

"C:\WIX\bin\heat.exe" dir "C:\SourceDir" -cg MyComponentGroup -ke -srd -dr DYNAMIC -sfrag -o "C:\MyProject\Dynamic.wxs"

将此 Dynamic.wxs 添加到您的 Candle 通话中。将其结果 (wixobj) 添加到您的 Light 调用中。