CreateProcess из NT службы зависает - PullRequest
0 голосов
/ 20 апреля 2010

Я пытаюсь запустить экспресс-установщик SQLServer2008SP1 из процесса обслуживания NT. Процесс запущен успешно, я вижу его в диспетчере задач, но он ничего не делает, просто остается неактивным, пока я его не убью.

Я запускаю процесс с помощью следующей команды:

 szCmdLine = "Setup.exe /Q /HIDECONSOLE /ACTION=install /CONFIGURATIONFILE=ConfigurationFile.ini /SAPWD=pwd_to_set");

 STARTUPINFO si;
 si.wShowWindow = SW_HIDE;
 ...
 CreateProcess(NULL, szCmdLine, NULL, NULL, TRUE, 
               CREATE_NO_WINDOW, NULL, szPath, &si, &pi);

Установка проходит нормально при запуске вручную из cmdline.

Я пытался поиграть с различными созданными флагами для процесса, но безуспешно. У меня заканчиваются идеи, поэтому мы ценим любую помощь.

Обратите внимание, что тот же код работал нормально для установки SQL Server 2000. И я знаю, что это странный способ справиться с установкой, но уже поздно это менять.

ОС - Windows Server 2003 с пакетом обновления 2 (SP2).

1 Ответ

0 голосов
/ 25 апреля 2010

Чтобы ответить самому себе, просто для справки. Проблема заключалась в том, что был вызван неправильный Setup.exe. Хотя szPath указывал на правильную папку, файл Setup.exe из папки Windows назывался.

Исправлена ​​проблема с вызовом Setup.exe с полным именем, включая директорию.

...