【问题标题】:Passing MSI properties to sqlstring将 MSI 属性传递给 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"/>

【问题讨论】:

    标签: sql wix windows-installer wix3.7


    【解决方案1】:

    这不是 MSI 错误,这是 SQL 错误。阅读说明。 “'(' 附近的语法错误。我正在计算你语句中的括号,看起来你缺少一个结束 ')'

    【讨论】:

    • 有5个左括号和5个右括号,相同的脚本独立执行时可以正常工作
    • 啊,好的。我认为这是我的滚动问题。但是,该错误仍然是 SQL 错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 2018-06-13
    • 1970-01-01
    相关资源
    最近更新 更多