【发布时间】:2013-03-03 12:50:54
【问题描述】:
我将 WiX 从 3.5 版升级到 3.7 版,现在在安装程序的预构建步骤中遇到错误。
有问题的预构建步骤是"%wix%\bin\heat.exe" dir "$(OutDir)_PublishedWebsites\Application Files" -dr INSTALL_LOCATION -cg SourceComponentGroup -ag -var var.SourcePath -out "$(ProjectDir)HeatFile.Generated.wxs"
这会导致我们的 Team Build 失败并出现错误 C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets (816): The command ""%wix%\bin\heat.exe" dir "C:\Builds\12\TFS\Wix 3.7 Test Build\Binaries\_PublishedWebsites\Application Files" -dr INSTALL_LOCATION -cg SourceComponentGroup -ag -var var.SourcePath -out "C:\TFS\WiX3.7\Install\HeatFile.Generated.wxs"" exited with code 3
我无法弄清楚导致此错误的原因是什么,除非发生了一些我无法发现的热度变化。
编辑:
Rob 在下面的评论中提到详细构建后,我查看并发现在“构建前的环境”中发现 WIX 属性设置为WIX = C:\Program Files (x86)\Windows Installer XML v3.5\,但是当我查看相同的属性时通过控制面板的系统环境变量,我看到WIX设置为C:\Program Files (x86)\WiX Toolset v3.7\。
在 MSBuild 配置中的某个地方会设置此项吗?
编辑 2:
我还在我们的 .wixproj 文件中发现了这一点:
<ProductVersion>3.5</ProductVersion>
<ProjectGuid>{GUID}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>Install</OutputName>
<OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
这里有什么需要改变的吗(例如产品版本)?
【问题讨论】:
-
希望能在 MSBuild 输出和/或详细日志中提供更多由 heat 本身提供的信息。您可以将其添加到问题中吗?
-
感谢@RobMensching - 我添加了更多信息。如果需要,我可以从日志中添加更多详细信息。
标签: wix wix3.5 tfsbuild wix3.7