他のいくつかのカスタム .Net Windows サービスを正常にインストールしました。私が最近書いた新しいものは他のものと非常に似ていて、エラーなしでインストールされましたが、サービスコントローラーで起動すると、エラーダイアログで起動できませんでした:システムエラー2 ...システムは指定されたファイルを見つけることができません.
時間と驚きの末、私が考えることができたこのサービスの大きな違いは、パスと実行可能ファイルの名前が、私の他のどのサービスよりも少なくとも 10 文字長いということだけでした。パスと .exe 名の両方を短縮して再インストールすると、サービスは正常に実行されました: エラーはありません! 以前のパス、サービス、または .exe 名が長すぎたとしか思えません。
また、win API 呼び出しを介してサービス コントローラーへのサービスのインストール/アンインストールを処理するために、私の exe に組み込まれている借用した「サービス ドライバー」コードを使用したことに言及することは適切です。そのサービス ドライバ モジュール内に文字制限が隠されている可能性があります。
超えたパスまたはサービス名にシステム バインドされた文字制限があるかどうかを確認するための Windows 関連のドキュメントが見つかりませんでした。時間が許せばサービス ドライバーを掘り下げて、それが問題であるかどうかを確認します。その間、私はどんな洞察も歓迎します。