LGHT0094:“Product:*”部分中未解析的符号'WixComponentGroup:Product.Generated'的引用

时间:2012-09-12 10:31:49

标签: wix windows-installer

我在其中一个构建服务器上遇到此错误。所有其他服务器都可以构建它。什么想法可能是错的?

5 个答案:

答案 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脚本以包含新文件修复了错误。并且错误消息实际上是有意义的,因为这是一个未解决的引用。