378

安装 Windows 服务时,有两个选项可用于在 Windows 启动时自动启动 Windows 服务。一个是Automatic,另一个是Automatic (Delayed start)。这两者在细节上有什么区别?

例如,如果您使用 wixtoolset 创建安装程序,则该ServiceConfig元素具有该DelayedAutoStart属性。这将如何影响在启动时启动服务时会发生什么?

WiX 文档:ServiceConfig 元素

4

1 回答 1

523

简而言之,设置为自动的服务将在启动过程中启动,而设置为延迟启动的服务将在启动后不久启动。

延迟启动服务可提高服务器的启动性能并具有安全优势,这些优势在评论中链接到的文章Adriano 中进行了概述。

更新:默认情况下,“启动后不久”实际上是在最后一个“自动”服务启动后 2 分钟。根据Windows Internals和其他来源(3、4 ) ,这可以通过注册表项进行配置。

感兴趣的注册表项(至少在某些版本的 Windows 中)是:

  • HKLM\SYSTEM\CurrentControlSet\services\<service name>\DelayedAutostart1如果延迟,则将具有价值,0否则。
  • HKLM\SYSTEM\CurrentControlSet\services\AutoStartDelayHKLM\SYSTEM\CurrentControlSet\Control\AutoStartDelay(在 Windows 10 上): (DWORD) 十进制等待的毫秒数,可能需要创建这个。适用于全球所有延迟服务。
于 2012-06-13T13:12:05.043 回答