sqlcmd не работает во время установки (innosetup) - PullRequest
0 голосов
/ 02 марта 2012

приятно познакомиться, я всегда прячусь здесь, как только у меня возникают проблемы; но теперь, кажется, у меня какая-то странная проблема, я не нашел здесь никаких следов.

Используя InnoSetup, я создал установку, которая работает, пока другие, 2 пакета;

Первый устанавливает SQL EXPRESS 2008 с инструментами (% n - параметры, переданные с innosetup):

C:\omi\setup\sql\setup.exe /QS /ACTION=Install /FEATURES=SQL,Tools /INSTANCENAME=%1 /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SQLSVCSTARTUPTYPE="Automatic" /IACCEPTSQLSERVERLICENSETERMS /SECURITYMODE=SQL /SAPWD="omicron" /TCPENABLED=1
PAUSE

И, похоже, он успешно заканчивается.

Проблема идет со второй партией:

sqlcmd -d master -S .\%1 -q "CREATE DATABASE arca ON ( FILENAME = N'C:\omi\db\arca_Data.MDF' ), ( FILENAME = N'C:\omi\db\arca_Log.LDF') FOR ATTACH"
PAUSE

, поскольку подсказка сообщает, что sqlcmd не распознается ни как внутренняя или внешняя команда, ни как исполняемый файл или пакет.

меня поразил тот факт, что, если я пишу ту же команду вручную, это прекрасно работает.

1 Ответ

0 голосов
/ 02 марта 2012

Кажется, он не обнаруживает его в системном PATH в течение одного сеанса установки и выполняется под пользователем, который не видит измененную среду PATH.Сначала он выполняется в / SQLSVCACCOUNT = "NT AUTHORITY \ Network Service", затем кажется, что он использует другого пользователя.Похоже, он устанавливает переменную PATH только для пользователя сетевой службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...