标签: wix
我有一个WiX安装项目,我根据Wise以前的安装程序重写。在Wise中,您可以添加要执行的文件(我们使用的sql脚本文件),并且它有一个替换选项卡,指定文件中的某些文本将替换为静态文本或Wise属性。
我想知道这是否可以在WiX中使用?
示例:
use [SQLDBNAME] SELECT * FROM Employee
WiX会在哪里读取文件并将[SQLDBNAME]替换为WiX属性表中设置的值?
[SQLDBNAME]
答案 0 :(得分:6)
属性替换适用于SqlString元素,您可以在其中将SQL字符串字面定义为属性的值。但是,它不适用于SqlScript元素,您将整个SQL脚本文件放在Binary中。这完全取决于您的SQL查询的复杂程度。
使用SqlString时,不要忘记SQL使用[和]来逃避自己的保留字。因此,在这种情况下,你应该像这样转义MSI属性:[\[]和[\]]。
[
]
[\[]
[\]]
希望这有帮助。