我正在尝试从 NT 服务进程启动 SQLServer2008SP1 express 安装程序。进程已成功启动,我可以在任务管理器中看到它,但它什么也没做,只是保持不活动状态,直到我杀死他。
我正在使用以下命令开始该过程:
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 手动启动时安装正常。
我尝试为进程使用各种 creat 标志,但没有运气。我的想法已经不多了,所以每一个帮助都会受到赞赏。
请注意,对于 SQL Server 2000 安装,相同的代码可以正常工作。而且我知道这是处理安装的一种奇怪方式,但要改变它为时已晚。
操作系统是 Windows Server 2003 SP2。