PreBuildEvent
和HeatDirectory
之间的关系是什么?
.wixproj
档案?
要致电heat.exe
我已经配置了预制活动:
<PropertyGroup>
<PreBuildEvent>"$(WIX)bin\heat.exe" dir "$(SolutionDir)\Source" ^
-var var.SourceDir ^
-dr INSTALLFOLDER ^
-cg MyComponents ^
-ag -ke -scom -sfrag -srd -sreg -suid -svb6 ^
-o "$(ProjectDir)MyComponents.wxs"</PreBuildEvent>
</PropertyGroup>
但是还有HeatDirectory
元素:
<!-- To modify your build process, add your task inside one of the
targets below and uncomment it. Other similar extension points
exist, see Wix.targets.
<Target Name="BeforeBuild">
<HeatDirectory ... >
</HeatDirectory>
</Target>
<Target Name="AfterBuild">
</Target>
-->
我应该使用什么关系?
答案 0 :(得分:1)
两者都是一样的。
Prebuild事件直接调用加热过程,以便自动生成MyComponents.wxs文件。
使用“HeatDirectory”或“HarvestDirectory”时,之前的构建目标也是如此。
主要区别在于哪个选项更适合您。 命令行,如上所述,或 xml风格,如:
<HarvestDirectory Include="$(SourceDir)">
<DirectoryRefId>INSTALLDIR</DirectoryRefId>
<ComponentGroupName>cmpMain</ComponentGroupName>
<PreprocessorVariable>var.SourceDir</PreprocessorVariable>
<SuppressUniqueIds>false</SuppressUniqueIds>
<SuppressCom>true</SuppressCom>
<SuppressRegistry>true</SuppressRegistry>
<SuppressRootDirectory>true</SuppressRootDirectory>
<KeepEmptyDirectories>false</KeepEmptyDirectories>
<Transforms>DefaultTransform.xsl</Transforms>
</HarvestDirectory>