将 MSI 属性传递给 sqlstring
Posted
技术标签:
【中文标题】将 MSI 属性传递给 sqlstring【英文标题】:Passing MSI properties to sqlstring 【发布时间】:2020-08-14 12:18:12 【问题描述】:您好,我正在尝试将 MSI
属性传递给 Sqlstring
。
下面是我的代码。属性 GROUP
在开头由 MSI
设置,我需要将其传递给 Sql Query
。当我阅读其中一个答案时,我尝试将 [ and ]
替换为 [\[] and [\]]
,但是在运行 MSI
时仍然出现以下错误。我是WIX
的新手,我们将不胜感激。
enter image description here
<sql:SqlString Id="SuperUser" ExecuteOnInstall="yes" ContinueOnError="no"
SQL="IF NOT EXISTS(SELECT TOP 1 * FROM [Interface].[dbo].[user] A WHERE A.default_user = 1)
BEGIN
INSERT INTO [Interface].[dbo].[user](staff_id, staff_name, status, default_user)
VALUES('ab', 'ab', 'A', 1)
INSERT INTO [Interface].[dbo].[rights](staff_id, role, role_n, name, enable)
VALUES('ab', 6, 'admin', '[GROUP]', 'E')
END"/>
【问题讨论】:
【参考方案1】:这不是 MSI 错误,这是 SQL 错误。阅读说明。 “'(' 附近的语法错误。我正在计算你语句中的括号,看起来你缺少一个结束 ')'
【讨论】:
有5个左括号和5个右括号,相同的脚本独立执行时可以正常工作 啊,好的。我认为这是我的滚动问题。但是,该错误仍然是 SQL 错误。以上是关于将 MSI 属性传递给 sqlstring的主要内容,如果未能解决你的问题,请参考以下文章
将参数从bootstrapper传递到msi bundle包
WiX - 将参数从 MSI 传递到 Xeam 引导程序应用程序