将MSI属性传递给sqlstring

问题描述

您好,我正在尝试将MSI属性传递给sqlstring

下面是我的代码属性GROUPMSI开头设置,我需要将其传递给此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"/>

解决方法

这不是MSI错误,这是SQL错误。阅读说明。 “'('附近的语法错误不正确。我在声明中加了括号,看起来您好像缺少了结尾的')'