NTサービスのCreateProcessがハングします
-
28-09-2019 - |
質問
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インストールで問題なく機能したことに注意してください。そして、私はこれがインストールを処理する奇妙な方法であることを知っていますが、それを変えるのは遅れていることです。
OSはWindows Server 2003 SP2です。
解決
参照のためだけに、自分自身に応答するために。問題は、間違ったsetup.exeが呼ばれたことでした。 SzPathはフォルダーを修正することを指摘しましたが、Windowsフォルダーからのsetup.exeが呼び出されました。
修正は、DirectRoryを含むフルネームでsetup.exeを呼び出すことでした。
所属していません StackOverflow