我正在尝试从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手动启动时安装正常。
我尝试使用各种创建标志进行处理,但没有运气。我的想法已经不多了,所以我感激不尽。
请注意,相同的代码适用于SQL Server 2000安装。我知道这是处理安装的一种奇怪方式,但要改变它是迟到的。
操作系统是Windows Server 2003 SP2。
答案 0 :(得分:0)
回应我自己,仅供参考。 问题是调用了错误的Setup.exe。虽然szPath指向正确的文件夹,但是调用了来自windows文件夹的Setup.exe。
修复方法是使用全名调用Setup.exe,包括directrory。