起動時に特定のファイルの存在と構造をチェックし、いくつかの条件が満たされない場合は終了/失敗/停止するサービスが必要です。このスレッドを読みました: Windows サービスが失敗する適切な方法は何ですか? しかし、それは役に立ちません。
ServiceBase.ExitCode プロパティをゼロ以外に設定してから、ServiceBase.Stop を呼び出します。しかし、5 つのイベント ログ エントリが表示されます。下記参照:
Starting service. (I log this event via code)
Config.xml file not found. (I log this ERROR event via code)
Service stopped successfully. (SCM logs this message)
Service started successfully. (SCM logs this message)
Service cannot be started. The handle is invalid (SCM logs this message)
ご覧のとおり、最後の 2 つのエントリを除いてすべて問題ありません。なぜ彼らはそこにいるのですか?起動時にサービスを適切にシャットダウンするにはどうすればよいですか? SCM がサービスを停止/失敗として認識しないのはなぜですか?