Windows サービスをインストールする場合、Windows の起動時に Windows サービスを自動的に開始するためのオプションが 2 つあります。1 つは[自動]で、もう 1 つは[自動 (遅延開始)]です。これら 2 つの違いは具体的に何ですか?
たとえば、wixtoolset を使用してインストーラーを作成する場合、ServiceConfig
要素には属性がありますDelayedAutoStart
。起動時にサービスが開始されると、どのような影響があるでしょうか?
WiX ドキュメント:ServiceConfig 要素
ベストアンサー1
つまり、自動に設定されたサービスは起動プロセス中に開始され、遅延として開始するように設定されたサービスは起動後すぐに開始されます。
サービスを遅延して起動すると、サーバーの起動パフォーマンスが向上し、セキュリティ上の利点が得られます。記事コメントでリンクしたアドリアーノ。
更新:「起動直後」は、実際には、デフォルトでは最後の「自動」サービスが開始されてから2分後です。これは、レジストリキーによって設定できます。Windows 内部およびその他の情報源(3、4)。
対象となるレジストリ キー (少なくとも一部のバージョンの Windows の場合) は次のとおりです。
HKLM\SYSTEM\CurrentControlSet\services\<service name>\DelayedAutostart
1
遅延されている場合は値が設定されます0
。そうでない場合は設定されます。HKLM\SYSTEM\CurrentControlSet\services\AutoStartDelay
またはHKLM\SYSTEM\CurrentControlSet\Control\AutoStartDelay
(Windows 10 の場合): (DWORD) 待機するミリ秒数の 10 進数。この値を作成する必要がある場合があります。すべての遅延サービスにグローバルに適用されます。