21

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

4

5 回答 5

50

它是一个wix 3.6问题。在这里找到了解决方案。您需要做的就是在您的 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>
于 2012-10-05T07:29:23.267 回答
8

我也遇到了这个错误,这似乎是创建新设置时从 Wix 自动生成的新事物。当我从 3.5 升级到 3.6 时,Wix 不喜欢它,我只是将其删除。

于 2012-09-12T11:03:54.670 回答
4

就我而言,我应该使用ComponentRef而不是ComponentGroupRef

于 2016-06-29T05:19:25.540 回答
1

从 升级Wix 3.5到 后Wix 3.8,我们遇到了同样的问题。但是,我们不希望项目收获,因此设置EnableProjectHarvesting为 true 不是一个好的解决方案。所以为了解决这个问题,我们不得不改变几件事:

在文件Product.wxs中,我们完全删除了以下行(从属性中<Feature>):

<ComponentGroupRef Id="Product.Generated" />



之后,在我们的 中.wixproj,我们将 更新LinkerBaseInputPathsDefineConstants.

所以这意味着改变

<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 的下方)。

于 2014-09-16T17:16:17.700 回答
0

就我而言,我得到了相同的错误号:

file_name.wxs(38): error LGHT0094: Unresolved reference to symbol 'WixComponentGroup:Name_of_the_ComponentGroup

这是因为我已将 ComponentGroup 移动到不同的文件,并且调用candle.exe 的构建脚本(在我的情况下为 cmake,也许您使用 ant)尚未更新以包含现在包含 ComponentGroup 的 .wxs 文件。

更新 cmake 脚本以包含新文件修复了错误。并且错误消息实际上是有意义的,因为这是一个未解决的参考。

于 2016-12-15T02:07:38.087 回答