如何在命令行中将参数传递给candle并让它覆盖目标.wxs中的值

God*_*ent 5 msbuild wix

我正在研究一个MSBUILD脚本,为多个版本的wix项目动态注入大量参数,我知道我可以在蜡烛中使用-d开关来提供额外的参数.

然而,我得到了几个警告,类似于"变量'xxx',其值'yyy'先前已声明为值'zzz'",这是可以理解的,因为.wxs我已经为默认构建定义了这些值,然后,构建将在警告之后继续使用.wxs中的值.

所以问题是......可能强制蜡烛覆盖已经在.wxs中的这些参数.

提前致谢.

Rob*_*ing 5

预处理器变量只能定义一次,因此您需要执行以下操作:

<?ifndef Variable ?>
  <?define Variable="default" ?>
<?endif?>
Run Code Online (Sandbox Code Playgroud)

防止重新定义。这与WiX工具集建模的C / C ++预处理器相同。