Reputation: 10354
I'm trying to use heat on a web .csproj, and then use candle on the output. So far, I've done:
heat project "StatusReport Web.csproj" -pog:Binaries pog:Content -ag -out StatusReport.wxs
And then:
candle StatusReport.wxs
However, upon the latter, I get:
Error CNDL0150: Undefined preprocessor variable '$(var.StatusReport Web.TargetDir)'.
What am I doing wrong?
Also, is there a way to use the output of heat in a Visual Studio Wix project?
Upvotes: 6
Views: 6480
Reputation: 66753
The wxs file produced by heat.exe
contains the preprocessor variable $(var.StatusReport Web.TargetDir)
. You must pass the value of this variable to candle.exe. It should be set to the visual studio output folder of your binaries.
You can pass the value of this variable to candle.exe
like this:
candle.exe -dStatusReport.Web.TargetDir=c:\myproject\bin StatusReport.wxs
Alternatively, you can just edit StatusReport.wxs
and replace the variable by the value that it's supposed to have.
Upvotes: 7
Reputation: 10354
The answer to the second question is easy, just Add Existing Item, and point to heat's output file, so I guess the first question doesn't matter.
It'd be neat if heat could handle the project dependencies for you.
Upvotes: 0