2010-07-06 18 views
2

Mon projet, qui permet de construire très bien avec WiX 3.0, ne parvient maintenant avecComment puis-je corriger une erreur de HEAT5301 Wix 3.5.1811.0

heat.exe : error HEAT5301: Invalid project output group: Binaries3bSources3bSatellites%3bDocuments.

J'ai trouvé ce ProjectOutputGroup dans le fichier wix.targets, mais il semble comme ceci:

<CreateItem 
    Include="@(_MSBuildProjectReferenceExistent)" 
    Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' " 
    AdditionalMetadata="ProjectOutputGroups=Binaries%3BSymbols%3BSources%3BContent%3BSatellites%3BDocuments;GenerateType=payloadgroup;HeatOutput=$(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs"> 
    <!-- ... --> 
</CreateItem> 

Il semble que le % est d'être jeté pour les 2 premières valeurs, mais il est toujours présent pour le dernier.

Répondre

0

Essayez d'abord d'effectuer la mise à niveau vers la dernière version. WiX v3.5 est en cours de développement, donc le problème pourrait ont été corrigés. Si ce n'est pas le cas, assurez-vous qu'un bogue est ouvert sur le problème afin que la communauté soit au courant du problème. Enfin, vous pouvez essayer de déboguer la HeatTask pour voir où elle se passe.

+0

persiste avec la dernière version hebdomadaire. Y at-il quelque chose que je fais pour causer cette erreur? –

+0

J'ai "contourné" ce problème en ajoutant un True à ma référence de projet d'action personnalisée qui se trouve dans mon script de génération. merci, vous m'avez regardé dans la bonne direction, même si je ne sais toujours pas ce qui a réellement causé l'erreur –

1

Cela n'a pas fonctionné pour moi, à la place, j'ai dû modifier le fichier wix.targets pour supprimer les répertoires supplémentaires pour la récolte ... Heureusement, je n'utilise pas actuellement HEAT. Après avoir fait ce changement, j'ai pu construire à nouveau sur notre serveur de construction. Il est intéressant de noter que ceci n'a pas affecté la construction à partir de Visual Studio sur nos ordinateurs de bureau.

2

Nous avions la même erreur dans l'un de nos projets WiX (sous Visual Studio 2008) qui a été mis à jour de WiX 3.0 à WiX 3.5.x. Le problème est également survenu uniquement sur le serveur de construction TFS 2010. La construction de bureau avec Visual Studio était bien.

Notre projet d'installation WiX est dans la même solution avec un tas de bibliothèques de classe C# - il s'agit essentiellement d'un installateur de bibliothèque. Le projet WiX contient une référence de projet pour chacune des bibliothèques C# et nous utilisons la syntaxe "$ (var.MyLibrary1.TargetDir) \ MyLibrary.dll" pour faire référence aux fichiers de nos scripts WiX.

DoNotHarvest n'a pas résolu le problème pour nous.

Nous avons résolu le problème en supprimant puis en ajoutant à nouveau toutes les références de bibliothèque C# du projet d'installation WiX.

2

La réintégration de toutes les références dans les projets WiX touchés résout le problème, pour moi aussi. , entre autres, la propriété

<DoNotHarvest>True</DoNotHarvest> 

est ajouté à chaque référence, et, évidemment, cela est la solution.

1

La ré-ajout de toutes les références n'a pas résolu automatiquement le problème pour moi mais en ajoutant manuellement l'élément DoNotHarvest à chacune des références de projet.

2

Réglage du ToolsVersion à 4,0 a fonctionné pour moi:

Change:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 

Pour:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 
+0

Cela a également fonctionné pour moi après une mise à niveau des outils MSBuild de 2008 à 2010 sur notre serveur TFS. – Rabid

3

je courais la chaleur à partir de la ligne de commande. Donc, les choses mentionnées ci-dessus ne m'aident pas du tout.A l'origine ma configuration ressemblait à:

heat.exe project "project.csproj" -cg GroupName -gg –out "C:\OutPutLocation.wxs" 

qui a produit l'erreur suivante: heat.exe: erreur HEAT5302: Aucun groupe de sortie du projet spécifié.

je l'ai changé à ajouter dans les -pog commutateurs, a également ajouté le et -configuration -platform commutateurs.

heat.exe project "project.csproj" -cg Portals.Vendor -gg -pog Binaries -pog Content –configuration "release" -platform "AnyCPU" –out "C:\OutPutLocation.wxs" 

BTW: Je suis exécutant la version 3.7 Wix. pour VS 2010 .NET 4.0 projet.

Juste au cas où vous avez besoin de référence pour les commandes de commutation pour 3.x:

http://wix.sourceforge.net/manual-wix3/heat.htm

problème