2009-11-20 6 views
6

Ich versuche, Wärme auf einem Web-.csproj verwenden, und dann Kerze auf die Ausgabe verwenden. Bisher habe ich getan habe:Wix - Wie wird mit Projektreferenzen verfahren, wenn die Wärmeausgabe mit Kerze verwendet wird?

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

Und dann:

candle StatusReport.wxs 

Doch bei letzterem die ich erhalten:

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

Was mache ich falsch?

Gibt es auch eine Möglichkeit, die Ausgabe von Wärme in einem Visual Studio Wix-Projekt zu verwenden?

+0

Das wird nicht helfen, aber ich habe die WiX-Dokumentation bestenfalls schlecht gefunden. – Plip

Antwort

6

Die von heat.exe erzeugte wxs-Datei enthält die Präprozessorvariable $(var.StatusReport Web.TargetDir). Sie müssen den Wert dieser Variablen an candle.exe übergeben. Es sollte auf den Visual Studio-Ausgabeordner Ihrer Binärdateien eingestellt werden.

Sie können den Wert dieser Variablen candle.exe wie dies passieren:

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

Alternativ können Sie StatusReport.wxs einfach bearbeiten und die Variable durch den Wert ersetzen, dass es haben, angenommen hat.

+3

Wenn Sie dies tun, beachten Sie, dass die Variable in der Heat-Ausgabe eine "Var" enthält. am Anfang. Sie geben nicht die "var." als Teil der -d-Definition. Das hat mich für ca. 5 Minuten verwirrt, bevor ich es herausgefunden habe. – ghostJago

0

Die Antwort auf die zweite Frage ist einfach, nur Add Existing Item, und zeigen Sie auf Heats Ausgabedatei, so denke ich, die erste Frage ist egal.

Es wäre nett, wenn Wärme die Projektabhängigkeiten für Sie behandeln könnte.