2011-01-18 20 views
1

VS2010を使用して簡単なNTサービスを作成しましたが、InstallUtilを使用してXPSP3 devボックスにインストールします。残念ながら好きではなかったパスnet startを指定するとしてこれ以上の詳細は、
The TestService service failed to start due to the following error: The system cannot find the path specified.Windowsサービスの起動に失敗しました。一般的なエラー

この同じエラーは、イベントシステムログに書き込まれます。私はnet start TestServiceを実行したときしかし、私は一般的なエラーを取得します。だから、私はFilemonを走らせたが、そこに運がなかったので、失敗したサービスの出力はまったくなかった。

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

この問題をデバッグするためのヒントを教えてください。

EDIT:ヒントのすべてに感謝します。 DLLはうまくいきました。ブロックが蹴られないようにキャッチし、InitializeComponentとブロックのブロックをキャッチしました。パスをチェックするための以下のステートメントはヒントです。私は明らかな間違いを犯しました。何らかの理由で成功を報告したSUBST'edドライブからバイナリにInstallUtilを実行しました。ローカルパスからInstallUtilを実行すると問題が解決され、サービスが正しく開始されるようになりました。

+1

ロギングコードで 'catch'ブロックを追加してみてください。また、DLLが不足していないことを確認してください。 – SLaks

答えて

3

最初にサービスが正しくインストールされていることを確認してください。sc qc TestService これは完全なパス名(ドライブ文字で始まる)であることを確認し、コマンドラインから実行可能ファイルを実行してください。

上記が動作する場合は、実行可能ファイルのアクセス許可を確認しようとします。

+1

また、サービスは通常、ネットワークパスから開始しません。パスがローカルであることを確認してください。 –

0

ドライブ文字にマップされていても... bin \ Release \ xxxmyprojxxx.exeがネットワークドライブ上にある場合は、"システムエラー2 ...システムが見つかりませんファイルには、だから、割り当てられたネットワーク共有/ドライブませ、機械(SANまたは内蔵ドライブ)上のローカルドライブに(できれば任意の依存関係が含まれます)exeファイルとディレクトリをコピー」

を指定しました。

関連する問題