1

このテキストに入る前に、私はすでに次のことを試したことに注意してください。

  • サービスの依存関係の設定
  • 延長タイムアウトの設定

さて、そうは言っても、おそらく私の問題は何であるかを推測できます。私のWindowsサービスは起動時に開始できませんが、サービスマネージャーから手動で正常に開始できます。イベントログには、起動時に起動を試みたが、タイムリーに応答できなかったことが示されています。

このサービスは、SOAPエンドポイントに到達し、いくつかのシステムコマンドを実行し、いくつかのWMIクエリを実行するという点で、特別なことではありません。DNSサービスとWMIサービスに依存するようにサービスを設定しましたが、まだ開始(タイムアウト)に失敗しているため、他の何かがサービスの実行を妨げていることがわかります。

次のオプションを使用して、NSISSimpleSCプラグインを使用してサービスを登録しています。

Service Type: SERVICE_WIN32_OWN_PROCESS 
Start Type: SERVICE_AUTO_START 
Dependencies: Winmgmt, Netman, Eventlog, Dnscache
User Name: LocalSystem

私は何が欠けていますか?

4

2 に答える 2

1

サービスでSetServiceStatusを使用して、しばらくお待ちください。また、読み込み順序が重要であることを覚えておいてください。

于 2011-06-26T01:02:46.570 に答える
1

この問題は、開始順序またはそのようなものよりも低いレベルであったことが判明しました。これは、サービスのコンストラクターにある初期化コードと関係がありました。そのコードをコンストラクターの外に移動するようにリファクタリングすると、すべてがうまく機能していました。

@AljoshaBreと@PeterK.の協力に感謝します。

于 2011-06-27T23:43:13.733 に答える