When installing Windows services there are two options for automatically starting a Windows service on Windows startup. One is Automatic, and the other is Automatic (Delayed start). What is the difference between these two in detail?
For example, if you're creating the installer with wixtoolset, the ServiceConfig
element has the DelayedAutoStart
attribute. How will that effect what happens when services are started at boot time?
WiX documentation: ServiceConfig Element
In order to speed up the Windows boot process, Microsoft introduced Automatic (Delayed Start) Windows Services. The idea behind this was to delay the start of non-essential services in order to minimise the overall boot time of the operating system.
It is the process of automating events, processes, tasks and business functions. Service automation helps in achieving multi-dimensional visibility into businesses and helps in streamlining the service process.
Acceptable startup types include: Automatic: The service starts at system logon. Automatic (Delayed): The service starts a short while after the system has finished starting up. This option was introduced in Windows Vista in an attempt to reduce the boot-to-desktop time.
In short, services set to Automatic will start during the boot process, while services set to start as Delayed will start shortly after boot.
Starting your service Delayed improves the boot performance of your server and has security benefits which are outlined in the article Adriano linked to in the comments.
Update: "shortly after boot" is actually 2 minutes after the last "automatic" service has started, by default. This can be configured by a registry key, according to Windows Internals and other sources (3,4).
The registry keys of interest (At least in some versions of windows) are:
HKLM\SYSTEM\CurrentControlSet\services\<service name>\DelayedAutostart
will have the value 1
if delayed, 0
if not.HKLM\SYSTEM\CurrentControlSet\services\AutoStartDelay
or HKLM\SYSTEM\CurrentControlSet\Control\AutoStartDelay
(on Windows 10): (DWORD) decimal number of milliseconds to wait, may need to create this one. Applies globally to all Delayed services.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With