我为我的整个输出创建了一个片段,如下所示
"%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=""$(WIX)\candle.exe" -dOutputDir="..\Output" -dVersion="$(Version)" -dProductName="FreePIE" $(InstallerTemp)\Main.wxs $(InstallerTemp)\Output.wxs"/>
</Target>
<Target Name="Light">
<Exec WorkingDirectory="$(InstallerTemp)" Command=""$(WIX)\light.exe" -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
答案 0 :(得分:0)
你应该做下一个:
将Preprocessor变量添加到项目中。项目 - &GT; 属性 - &gt;构建OutputDir =我的路径
为您的命令-cg MyFilesGroup
将MyFilesGroup添加到您的产品功能
&lt; Feature Id = ProductFeature“Title =”$(var.ProductName)“Level =”1“&gt;
&lt; ComponentGroupRef Id =“MyFilesGroup”/&gt;
&LT; /功能和GT;