“自动”与“自动(延迟启动)”

时间:2012-06-13 12:49:27

标签: windows-services wix

安装Windows服务时,有两个选项可以在Windows启动时自动启动Windows服务。一个是自动,另一个是自动(延迟启动)。这两者之间有什么区别?

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

WiX文档: ServiceConfig Element

1 个答案:

答案 0 :(得分:439)

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

启动服务延迟可提高服务器的启动性能,并具有the article Adriano在评论中链接的安全优势。

更新“启动后不久”实际上是在最后一次“自动”服务启动后2分钟,默认情况下。根据{{​​3}}和其他来源(Windows Internals3),可以使用注册表项对此进行配置。

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

    如果延迟,
  • HKLM\SYSTEM\CurrentControlSet\services\<service name>\DelayedAutostart的值为1,否则为0
  • HKLM\SYSTEM\CurrentControlSet\services\AutoStartDelayHKLM\SYSTEM\CurrentControlSet\Control(在Windows 10上):等待的十进制秒数,可能需要创建此一个。全局适用于所有延迟服务。