我的项目过去使用WiX 3.0构建得很好,现在却失败了。
heat.exe : error HEAT5301:无效的项目输出组: Binaries3bSources3bSatellites%3bDocuments。
我在ProjectOutputGroup文件中找到了这个wix.targets,但看起来如下所示:
<CreateItem
Include="@(_MSBuildProjectReferenceExistent)"
Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' "
AdditionalMetadata="ProjectOutputGroups=Binaries%3BSymbols%3BSources%3BContent%3BSatellites%3BDocuments;GenerateType=payloadgroup;HeatOutput=$(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs">
<!-- ... -->
</CreateItem>
看起来,对于前两个值,%
被丢弃了,但是对于最后一个值,它仍然存在。
发布于 2010-07-11 14:36:32
首先,尝试升级到最新版本。WiX v3.5正在开发中,所以这个问题可能已经解决了。如果没有,请确保在这个问题上存在一个漏洞,以便社区了解这个问题。最后,您可以尝试调试HeatTask以查看它的错误所在。
发布于 2010-08-31 03:13:35
我们的一个WiX项目(在Visual 2008解决方案下)中也出现了相同的错误,该项目从WiX 3.0升级到WiX 3.5.x。此外,问题只发生在TFS 2010构建服务器上。用Visual构建桌面很好。
我们的WiX安装项目与一堆C#类库在同一个解决方案中--它基本上是一个库安装程序。WiX项目对每个C#库都有项目引用,我们使用“$(var.MyLibrary ary1.TargetDir)\MyLibrary.dll”语法来引用WiX脚本中的文件。
DoNotHarvest没有为我们解决这个问题。
我们通过删除并重新添加来自C#安装项目的所有WiX库引用来解决这个问题。
发布于 2011-01-12 09:34:52
对我来说,在受影响的WiX项目中重新添加所有引用也解决了这个问题。除其他外,财产
<DoNotHarvest>True</DoNotHarvest>
添加到每个引用中,显然这就是解决方案。
https://stackoverflow.com/questions/3182998
复制相似问题