我在其中一个构建服务器上遇到此错误。所有其他服务器都可以构建它。什么想法可能是错的?
答案 0 :(得分:49)
它是一个wix 3.6问题。找到了解决方案here。您需要做的就是在您的wix项目中添加以下属性< EnableProjectHarvesting> True< / EnableProjectHarvesting>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<EnableProjectHarvesting>True</EnableProjectHarvesting>
答案 1 :(得分:8)
我也有这个错误,这似乎是在创建新设置时从Wix自动生成的新东西。当我从3.5升级到3.6时,Wix不喜欢它,我只是将其删除了。
答案 2 :(得分:2)
就我而言,我应该使用ComponentRef
代替ComponentGroupRef
答案 3 :(得分:1)
从Wix 3.5
升级到Wix 3.8
后,我们遇到了同样的问题。但是,我们不希望项目收获,因此将EnableProjectHarvesting
设置为true并不是一个好的解决方案。所以为了解决这个问题,我们不得不改变一些事情:
在文件Product.wxs
中,我们完全删除了以下行(来自属性<Feature>
):
<ComponentGroupRef Id="Product.Generated" />
之后,在我们的.wixproj
中,我们将LinkerBaseInputPaths
更新为DefineConstants
。
所以这意味着改变
<LinkerBaseInputPaths>%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</LinkerBaseInputPaths>
要(还请注意添加BasePath=%
)
<DefineConstants>BasePath=%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</DefineConstants>
最后我们添加了
PreprocessorVariable="var.BasePath"
到我们的HeatDirectory
属性(位于我们在上一步中修改过的PropertyGroup的下方)。
答案 4 :(得分:0)
在我的情况下,我得到了相同的错误号:
file_name.wxs(38):错误LGHT0094:未解析的符号引用&#39; WixComponentGroup:Name_of_the_ComponentGroup
这是因为我已将ComponentGroup移动到另一个文件,并且调用candle.exe的构建脚本(在我的情况下是cmake,也许你使用ant)尚未更新以包含现在包含的.wxs文件ComponentGroup。
更新cmake脚本以包含新文件修复了错误。并且错误消息实际上是有意义的,因为这是一个未解决的引用。