views:

457

answers:

2

Hi, 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?

A: 

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.

David Hodgson
+1  A: 

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.

Wim Coenen