如何在从安装程序执行的sql文件中使用WiX属性?

Nor*_*rth 1 wix

我有一个WiX安装项目,我根据我们以前的Wise安装程序重写.在Wise中,您可以添加要执行的文件(我们使用的sql脚本文件),它有一个替换选项卡,指定文件中的某些文本要用静态文本或Wise属性替换.

我想知道这在WiX中是否可行?

例:

use [SQLDBNAME]
SELECT *
FROM Employee
Run Code Online (Sandbox Code Playgroud)

WiX会在哪里读取文件并将其替换为[SQLDBNAME]WiX属性表中设置的值?

Yan*_*nko 6

Property替换适用于SqlString元素,您可以在其中将SQL字符串字面定义为属性的值.但是,它不适用于将整个SQL脚本文件放入Binary的SqlScript元素.这一切都取决于您的SQL查询有多复杂.

使用SqlString时,不要忘记SQL使用[]转义其自己的保留字.所以你应该在这种情况下逃避这样的MSI属性:[\[][\]].

希望这可以帮助.