安装Windows服务时,有两个选项可以在Windows启动时自动启动Windows服务。一个是自动,另一个是自动(延迟启动)。这两者之间有什么区别?
例如,如果您使用wixtoolset创建安装程序,则ServiceConfig
元素具有DelayedAutoStart
属性。如何在启动时启动服务时会发生什么?
WiX文档: ServiceConfig Element
答案 0 :(得分:439)
简而言之,设置为自动的服务将在启动过程中启动,而设置为延迟启动的服务将在启动后不久启动。
启动服务延迟可提高服务器的启动性能,并具有the article Adriano在评论中链接的安全优势。
更新“启动后不久”实际上是在最后一次“自动”服务启动后2分钟,默认情况下。根据{{3}}和其他来源(Windows Internals,3),可以使用注册表项对此进行配置。
感兴趣的注册表项(至少在某些版本的Windows中)是:
HKLM\SYSTEM\CurrentControlSet\services\<service name>\DelayedAutostart
的值为1
,否则为0
。HKLM\SYSTEM\CurrentControlSet\services\AutoStartDelay
或HKLM\SYSTEM\CurrentControlSet\Control
(在Windows 10上):等待的十进制秒数,可能需要创建此一个。全局适用于所有延迟服务。