Je rencontre cette erreur sur l'un des serveurs de génération. Tous les autres serveurs le construisent bien. Des idées ce qui peut être faux?
J'ai aussi eu cette erreur, Il semble être une nouvelle chose générée automatiquement à partir de Wix lors de la création d'une nouvelle configuration. Wix n'aimait pas ça quand j'ai mis à jour de 3.5 à 3.6, je l'ai simplement supprimé.
C'est un problème Wix 3.6. Trouvé la solution ici . Tout ce que vous avez à faire est d’ajouter la propriété suivante <EnableProjectHarvesting> True </ EnableProjectHarvesting> sur votre projet wix
<?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>
Dans mon cas, je devrais utiliser ComponentRef
au lieu de ComponentGroupRef
Après une mise à niveau de Wix 3.5
vers Wix 3.8
, nous avons le même problème. Cependant, nous ne voulons pas de la récolte de projet, donc définir EnableProjectHarvesting
sur true n'est pas une bonne solution. Donc, pour résoudre le problème, nous avons dû changer quelques choses:
Dans le fichier Product.wxs
, nous avons supprimé complètement la ligne suivante (de l'attribut <Feature>
):
<ComponentGroupRef Id="Product.Generated" />
Après cela, dans notre .wixproj
, nous avons mis à jour la LinkerBaseInputPaths
en une DefineConstants
.
Donc, cela signifie un changement
<LinkerBaseInputPaths>%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</LinkerBaseInputPaths>
To (Et notez également l'ajout de BasePath=%
)
<DefineConstants>BasePath=%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</DefineConstants>
et finalement nous avons ajouté
PreprocessorVariable="var.BasePath"
à notre attribut HeatDirectory
(qui est juste en dessous du PropertyGroup que nous avons modifié à l'étape précédente).
Dans mon cas, j'ai eu le même numéro d'erreur:
nom_fichier.wxs (38): erreur LGHT0094: Référence non résolue au symbole 'WixComponentGroup: Nom_du_ComponentGroup
C'est parce que j'avais déplacé le ComponentGroup dans un fichier différent et que le script de construction (cmake dans mon cas, vous utilisez peut-être ant) qui appelle candle.exe n'a pas été mis à jour pour inclure le fichier .wxs qui contient maintenant le ComponentGroup.
La mise à jour du script cmake pour inclure le nouveau fichier a corrigé l'erreur. Et le message d'erreur était réellement significatif, puisqu'il s'agissait d'une référence non résolue.