使用Heat生成的片段?

时间:2013-02-10 15:30:14

标签: wix

我为我的整个输出创建了一个片段,如下所示

"%WIX%\bin\heat" dir ..\Output -nologo -suid -srd -sfrag -ag -wx -dr "INSTALLFOLDER" -var var.OutputDir -out ..\FreePIE.Setup\main.wxs

如何在Product.wxs中使用它?

关于如何使用Heat

,文档真的很模糊

修改 进一步,现在当我构建(使用msbuild)

msbuild ..\FreePIE.Setup\FreePIE.Setup.wixproj

我得到了

  

未定义的预处理器变量'$(var.OutputDir)'。

编辑:使用Candle和light exes的最终解决方案

  <Target Name="Candle">
    <Exec WorkingDirectory="$(InstallerTemp)" Command="&quot;$(WIX)\candle.exe&quot; -dOutputDir=&quot;..\Output&quot; -dVersion=&quot;$(Version)&quot; -dProductName=&quot;FreePIE&quot; $(InstallerTemp)\Main.wxs $(InstallerTemp)\Output.wxs"/>
  </Target>

  <Target Name="Light">
    <Exec WorkingDirectory="$(InstallerTemp)" Command="&quot;$(WIX)\light.exe&quot; -ext WixUIExtension -ext WiXNetFxExtension -out FreePIE.$(Version).msi $(InstallerTemp)\Main.wixobj $(InstallerTemp)\Output.wixobj"/>
  </Target>

Main.wsx保存主要定义,Output.wxs保存热量wsx。 -dOutputDir =设置标志

有关完整解决方案,请参阅 https://github.com/AndersMalmgren/FreePIE/tree/master/BuildTools

调用所有逻辑的批处理是 https://github.com/AndersMalmgren/FreePIE/blob/master/BuildTools/build_installer.bat

1 个答案:

答案 0 :(得分:0)

你应该做下一个:

  1. 将Preprocessor变量添加到项目中。项目 - &GT; 属性 - &gt;构建OutputDir =我的路径

  2. 为您的命令-cg MyFilesGroup

  3. 添加群组名称
  4. 将MyFilesGroup添加到您的产品功能

    &lt; Feature Id = ProductFeature“Title =”$(var.ProductName)“Level =”1“&gt;

    &lt; ComponentGroupRef Id =“MyFilesGroup”/&gt;

    &LT; /功能和GT;