2

我已经为我的整个输出创建了一个片段,就像这样

"%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

4

1 回答 1

0

接下来你应该做:

  1. 将预处理器变量添加到您的项目中。项目-> 属性-> 构建输出目录=我的路径

  2. 将组名添加到您的命令-cg MyFilesGroup

  3. 将 MyFilesGroup 添加到您的产品功能

    <功能 ID=ProductFeature" Title="$(var.ProductName)" Level="1">

    <ComponentGroupRef Id="MyFilesGroup"/>

    </功能>

于 2013-02-10T15:42:07.717 回答