构建wix解决方案时,Candle.exe未针对特定项目运行

时间:2017-01-10 06:58:31

标签: visual-studio wix windows-installer

我在Visual Studio中使用wix 3.9解决方案。它有三个类似的wix安装项目。它们使用相同的Product.wxs,但它们在预处理程序变量方面彼此不同。 当我单独构建每个项目时,candle.exe在light.exe之前运行。因此处理预处理器变量并且msi文件是正确的。但是,当我构建整个解决方案时,我的一个项目是在没有candle.exe的情况下构建,仅使用light.exe。因此对于该项目预处理器变量被忽略。结果msi不正确。 此项目比其他项目晚些时候添加到解决方案中 你能告诉我为什么在构建解决方案时没有运行candle.exe吗?也许为此目的有一些神奇的复选框? 感谢。

1 个答案:

答案 0 :(得分:0)

解决了问题。两个项目位于同一目录中。在解决方案构建第一个项目时,Product.wxs由candle.exe处理,因此生成了Product.wixobj文件。然后第二个项目是建议wix检查Product.wixobj已经存在,其他文件自Product.wixobj编译后没有改变。 因此跳过了candle.exe步骤。