1

VS2010 を使用して簡単な NT サービスを作成しましたが、InstallUtil を使用して XPSP3 dev ボックスに問題なくインストールされます。ただし、実行するnet start TestServiceと一般的なエラーが発生します。
The TestService service failed to start due to the following error: The system cannot find the path specified.

net startこの同じエラーはイベント システム ログにも書き込まれますが、残念ながら、指定されたパスが気に入らなかったという詳細はありません。そのため、Filemon を実行しましたが、うまくいきませんでした。失敗したサービスに光を当てる出力はありませんでした。

サービスは Local Service アカウントで実行されます。

この問題をデバッグするためのヒントはありますか?

編集:ヒントをありがとう。DLL は問題なく、catch ブロックは機能しませんでした。try/catch ブロックInitializeComponentOnStartメソッドがありました。パスを確認する以下のステートメントはヒントでした。私は明らかな間違いを犯しましたInstallUtil。何らかの理由で成功を報告した SUBST されたドライブからバイナリを実行しました。ローカル パスから実行InstallUtilすると問題が解決し、サービスが正しく開始されるようになりました。

4

2 に答える 2

3

sc qc TestService 最初に、 Verify this is a full path name (drive letter で始まる) を 使用して、サービスが正しくインストールされていることを確認し、コマンド ラインから実行可能ファイルを実行してみます。

上記が機能する場合は、実行可能ファイルのアクセス許可を確認してみます。

于 2011-01-18T04:36:34.837 に答える