安装 Windows 服务时,有两个选项可用于在 Windows 启动时自动启动 Windows 服务。自动的 ,另一个是自动(延迟开始)。这两个详细的区别是什么?

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

WIX文档:ServiceConfig元素

答案

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

开始您的服务延迟 改善服务器的引导性能,并具有在文章Adriano在评论中链接。

Update: 默认情况下,“启动后不久"实际上是在上次"自动"服务开始后的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)要等待的毫秒数十进制数量,可能需要创建这个。全球适用于所有人延迟服务。

来自: stackoverflow.com