0

NTサービスプロセスからSQLServer2008SP1エクスプレスインストーラーを起動しようとしています。プロセスは正常に開始され、タスクマネージャーで確認できますが、何も実行されず、彼を殺すまで非アクティブのままになります。

次のコマンドでプロセスを開始しています。

 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);

コマンドラインから手動で開始すると、インストールは正常に行われます。

プロセス用にさまざまな作成フラグを試してみましたが、うまくいきませんでした。私はアイデアが不足しているので、すべての助けに感謝します。

同じコードがSQLServer2000のインストールでも問題なく機能したことに注意してください。そして、これはインストールを処理するための奇妙な方法であることを私は知っていますが、それを変更するのは遅れています。

OSはWindowsServer2003SP2です。

4

1 に答える 1

0

参考までに、自分自身に返信するため。問題は、間違ったSetup.exeが呼び出されたことです。szPathは正しいフォルダーを指していますが、WindowsフォルダーのSetup.exeが呼び出されました。

修正は、ディレクトリを含むフルネームでSetup.exeを呼び出すことでした。

于 2010-04-24T21:02:10.677 に答える