Передача свойств MSI в sqlstring

#sql #wix #windows-installer #wix3.7

#sql #wix #windows-установщик #wix3.7

Вопрос:

Здравствуйте, я пытаюсь передать MSI свойство Sqlstring .

Ниже приведен мой код. Свойство GROUP задается MSI в начале, и мне нужно передать то же самое этому Sql Query . Я попытался заменить [ and ] на [[] and []] , как я прочитал в одном из ответов, но я все еще получаю приведенную ниже ошибку при запуске MSI . Я новичок в WIX буду признателен за любую помощь.

введите описание изображения здесь

 <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. Прочитайте описание. «Неправильная синтаксическая ошибка рядом с ‘(‘. Я подсчитываю вашу скобку в вашем заявлении, и, похоже, вам не хватает закрывающего ‘)’

Комментарии:

1. Есть 5 открывающих и 5 закрывающих круглых скобок, и один и тот же скрипт отлично работает при независимом выполнении

2. Ах, хорошо. Я думаю, что это была проблема с прокруткой с моей стороны. Однако ошибка по-прежнему остается ошибкой SQL.