2009-10-21 4 views
3

J'utilise heat.exe pour générer la liste des fichiers, je dois remplacer File/@ Source = "SourceDir" donc je passe -var et le nom du répertoire, mais ces variables sont définies dans mon Fichier .wxi Comment puis-je inclure le fichier .wxi dans le fichier wxs généré par la chaleur. car ce fichier sera généré chaque fois que je fais une build.Wix, Heat et Wxi fichier

+0

Je pense avoir trouvé une autre option pour résoudre ce problème. Utilisez -var et utilisez la même chose sur la ligne de commande de la bougie. – Avinash

Répondre

1

Pourquoi remplacer SourceDir?

Vous pouvez simplement passer dans des dossiers de base supplémentaires pour allumer avec le commutateur -b et pour toutes les références de SourceDir, WiX se penchera dans les dossiers de base que vous avez spécifiés. Facilite le déplacement des objets entre les machines et ne nécessite que la mise à jour d'un paramètre dans votre système de construction plutôt que la modification d'un fichier d'inclusion.

1

Une mise à jour pour wix 3.7, lorsque vous utilisez la tâche HeatDirectory dans votre wixproj au lieu d'exécuter heat.exe, vous pouvez PreprocessorVariable pour définir le SourceDir.

<Target Name="BeforeBuild"> 
<HeatDirectory Directory="..\distribution" 
       PreprocessorVariable="myVar" <--- your variable name 
       OutputFile="HeatGeneratedFileList.wxs" 
       ComponentGroupName="HeatGenerated" 
       DirectoryRefId="INSTALLFOLDER" 
       AutogenerateGuids="true" 
       ToolPath="$(WixToolPath)" 
       SuppressFragments="true" 
       SuppressRegistry="true"/> 
</Target> 

Plus de détails:

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

WIX HeatDirectory Task - Setting the preprocessorVariable