2009-11-20 16 views
6

J'essaie d'utiliser la chaleur sur un web .csproj, puis d'utiliser la bougie sur la sortie. Jusqu'à présent, je l'ai fait:Wix - comment gérer les références de projet lors de l'utilisation de la sortie de chaleur avec une bougie?

heat project "StatusReport Web.csproj" -pog:Binaries pog:Content -ag -out StatusReport.wxs 

Et puis:

candle StatusReport.wxs 

Cependant, sur ce dernier, je reçois:

Error CNDL0150: Undefined preprocessor variable '$(var.StatusReport Web.TargetDir)'. 

Qu'est-ce que je fais mal?

De même, existe-t-il un moyen d'utiliser la sortie de chaleur dans un projet Visual Studio Wix?

+0

Cela ne va pas aider, mais j'ai trouvé la documentation WiX pauvre au mieux. – Plip

Répondre

6

Le fichier wxs produit par heat.exe contient la variable du préprocesseur $(var.StatusReport Web.TargetDir). Vous devez transmettre la valeur de cette variable à candle.exe. Il doit être défini sur le dossier de sortie de Visual Studio de vos fichiers binaires.

Vous pouvez passer la valeur de cette variable à candle.exe comme ceci:

candle.exe -dStatusReport.Web.TargetDir=c:\myproject\bin StatusReport.wxs 

Vous pouvez modifier simplement StatusReport.wxs et remplacer la variable par la valeur qu'il est censé avoir.

+3

Lorsque vous faites cela, notez que la variable dans la sortie de chaleur contient un "var." au début. Vous ne spécifiez pas le "var". dans le cadre de la définition -d. Cela m'a confondu pendant environ 5 minutes avant que je l'ai compris. – ghostJago

0

La réponse à la deuxième question est facile, il suffit d'ajouter un élément existant et de pointer vers le fichier de sortie de la chaleur, donc je suppose que la première question n'a pas d'importance.

Ce serait bien si la chaleur pouvait gérer les dépendances du projet pour vous.