WiX升级后出现热量错误

时间:2013-03-03 12:50:54

标签: wix tfs2010 wix3.5 team-build wix3.7

我从版本3.5升级了WiX到版本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"

现在,这导致我们的团队构建因错误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>

这里有什么需要改变的地方(例如产品版本)吗?

1 个答案:

答案 0 :(得分:6)

我做了两件似乎已经解决了我的问题的事情,所以我不能确定具体的解决方案是什么,但这就是我所做的。

  1. 我重新启动了构建服务器。尽管它显示了正确的环境变量,并从命令行返回正确的值,但我重新启动以防万一。
  2. 我将预构建事件更改为使用$(WIX)而不是%WIX%
  3. 现在,构建正确运行事件并成功。我在IIS网站上遇到了不同的问题,但如果需要,我会提出一个新的问题。