Wix - heatdirectory目录和预处理器变量之间的关系

时间:2014-11-06 18:35:52

标签: visual-studio wix installation heat

我正在使用热来收集我的项目,但我对视觉工作室中已定义的预处理器变量之间的关系感到困惑,例如:SourceDir=$(SolutionDir)MyProject,&lt; HeatDirectory> Directory=var.SourceDir<HeatDirectory> Directory=$(SolutionDir)MyProject

哪一个定义了将要收获的源目录?对我来说,看起来VS中的预处理器变量/定义的预处理器变量会覆盖HeadDirectory中的目录变量。

这是对的吗?

1 个答案:

答案 0 :(得分:0)

清理一件事,当你调用heat时,你收获的目录将通过命令行参数提供给heatSourceDir是您查找收集的实际文件的路径的占位符,相对于您选择收获的目录。

由预处理程序变量或您使用light选项指定给-b的路径定义。

当您致电heat时,您可以告诉它要用哪个变量替换SourceDir,当您拨打candle时,您将对其进行定义。

一个例子:

heat dir [options] -var var.MyProjectDir <dir to harvest>

将生成一个$(var.MyProjectDir)代替SourceDir

的.wxs文件

致电candle时:

candle [options] -dMyProjectDir=<my project path> <wxs files>

使用-d选项将允许您定义预处理器变量的值,并在编译片段文件时引用它。

如果您不使用-var-d选项heatcandle,则可以-b使用light和WiX将使用它来尝试使用这些路径解析文件。它本质上就像你的环境PATH变量一样,它将使用指定的所有路径来查找文件。