I'm having this error on one of build servers. All other servers build it ok. Any ideas what can be wrong?
问题:
回答1:
I also had this error, It seems to be a new thing automatically generated from Wix when a new setup is created. Wix did not like it when I upgraded from 3.5 to 3.6, i simply deleted it.
回答2:
Its a wix 3.6 issue. Found the solution here. All you need to do is add the following property <EnableProjectHarvesting>True</EnableProjectHarvesting> on your wix project
<?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>
回答3:
In my case, I should use ComponentRef
instead of ComponentGroupRef
回答4:
After an upgrade from Wix 3.5
to Wix 3.8
, we got the same issue. However, we do not want project harvesting, so setting EnableProjectHarvesting
to true is not a good solution. So to solve the problem, we had to change a couple things :
In the file Product.wxs
, we removed completely the following line (from the attribute <Feature>
) :
<ComponentGroupRef Id="Product.Generated" />
After that, in our .wixproj
, we updated the LinkerBaseInputPaths
to a DefineConstants
.
So this means change
<LinkerBaseInputPaths>%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</LinkerBaseInputPaths>
To (And please also notice the addition of BasePath=%
)
<DefineConstants>BasePath=%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</DefineConstants>
and finally we added
PreprocessorVariable="var.BasePath"
to our HeatDirectory
attribute (which is just below the PropertyGroup we modified in the previous step).
回答5:
In my case, I was getting the same error number:
file_name.wxs(38): error LGHT0094: Unresolved reference to symbol 'WixComponentGroup:Name_of_the_ComponentGroup
This was because I had moved the ComponentGroup to a different file, and the build script (cmake in my case, maybe you use ant) that calls candle.exe had not been updated to include the .wxs file that now contained the ComponentGroup.
Updating the cmake script to include the new file fixed the error. And the error message was actually meaningful, since this was an unresolved reference.