这个Wix声明在做什么?

时间:2014-06-09 20:27:48

标签: .net wix windows-installer

我无法在Wix帮助或网上找到关于此代码的作用的解释:

<Binary Id="WixUI_Bmp_Dialog" SourceFile="!(wix.WixUIDialogBmp=$(var.dialogBmp))" />

具体来说,是SourceFile属性的评估值?

我可以看到wix.WixUIDialogBmp取消引用该名称的WixVariable。

我可以看到$(var.dialogBmp)取消引用已定义的预处理器变量。

但是我不明白将一个分配到另一个,或者#34;!()&#34;符号

正如我理解这段代码的运行方式,它可能是一个空的合并表达式,因为WixVariable不一定在代码中定义,而另一个变量是常量并且总是被定义。但我在Wix中找不到任何关于空合并表达式的内容。

1 个答案:

答案 0 :(得分:5)

!(wix.variable)是你如何引用bind-time变量的。 =“子句”为bind-time变量提供默认值。这样可以让WiX构建提供默认位图,但允许您通过在WixUIDialogBmp bind-time变量中提供路径来覆盖它。