我将 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>
这里有什么需要改变的吗(例如产品版本)?