PC起動時にWindowsサービスが意図したとおりに動作しない現象と対処法を紹介します。
現象
Windows起動時にWindowsサービスを開始する設定にしているにもかかわらず、意図したとおりに動作しないことがあります。
なお、マシンを再起動した場合は意図したとおりに動作します。
原因
Windowsの設定でFast Bootが有効になっている場合、Windowsサービスが意図したとおりに動作しないことがあります。
解説
Windowsの設定でFast Bootが有効な場合、サービスがサービスの開始処理から起動せずに前回から実行中の状態のまま動作し始める場合があります。
サービスの開始処理で初期化などのロジックが実行されず、意図したとおりの結果にならない現象が発生します。
対処法1: Fast Bootを無効化する
Fast Bootを無効化するとPC起動時にサービスが開始される動作になります。
Fast Boot無効化の手順は
こちらの記事を参照してください。
対処法2: サービスの初期化処理をなくす
サービスの初期化処理が不要になるよう構造を変更します。パラメーター等の取得をサービスの初期化時ではなく、
定期的に常に取得する動作にして、サービスがサスペンド状態から復帰した場合でも、問題なく動作するロジックに変更します。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2023-09-17
作成日: 2023-09-17