【问题标题】:Wix,Heat and Wxi FileWix、Heat 和 Wxi 文件
【发布时间】:2009-10-21 06:39:02
【问题描述】:

我正在使用 heat.exe 生成文件列表,我需要替换 File/@Source="SourceDir" 所以我传递 -var 和目录名称,但这些变量是在我的 .wxi 文件中定义的 如何在热生成的 wxs 文件中包含 .wxi 文件。因为每次构建时都会生成此文件。

【问题讨论】:

  • 我想我找到了解决此问题的另一个选项。使用 -var 并在蜡烛命令行上使用相同的。

标签: wix


【解决方案1】:

为什么要替换 SourceDir?

您可以使用-b 开关传递其他基本文件夹以点亮,对于 SourceDir 的所有引用,WiX 将在您指定的基本文件夹中查找。使在机器之间移动东西变得容易,只需更新构建系统中的参数,而不是编辑包含文件。

【讨论】:

  • 当您有多个文件夹,具有相同的文件名时,SourceDir 是一场噩梦。
【解决方案2】:

wix 3.7 的更新,当您在 wixproj 中使用 HeatDirectory 任务而不是运行 heat.exe 时,您可以使用 PreprocessorVariable 来设置 SourceDir。

<Target Name="BeforeBuild">
<HeatDirectory Directory="..\distribution"
               PreprocessorVariable="myVar"  <--- your variable name
               OutputFile="HeatGeneratedFileList.wxs"
               ComponentGroupName="HeatGenerated"
               DirectoryRefId="INSTALLFOLDER"
               AutogenerateGuids="true"
               ToolPath="$(WixToolPath)"
               SuppressFragments="true"
               SuppressRegistry="true"/>
</Target>

更多细节:

http://wix.sourceforge.net/manual-wix3/msbuild_task_reference_heatdirectory.htm

WIX HeatDirectory Task - Setting the preprocessorVariable

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多