The Services console (
services.msc) in Windows lets you configure the startup type of Windows Services. As you know, you can choose one of the options from the dropdown: Automatic (Delayed Start), Automatic, Manual, or Disabled.
But, do you know what’s the difference between Automatic and Automatic (Delayed Start).
Automatic vs Automatic (Delayed start) Startup types
If a service startup is set to Automatic, it loads during boot. As there are too many built-in Windows services, Microsoft first introduced the “delayed start” concept in Windows Vista to improve the Windows boot and login performance. Automatic (delayed start) services won’t start until after all other auto-start services.
The service control manager, after processing the auto-start (“Automatic”) services, it then proceeds to launch services that are set to run as Automatic (delayed start) by invoking the
After all the automatic start services are loaded, the system queues the “delay start” services for 2 minutes (120 seconds) by default. This interval can be altered by creating a registry DWORD (32-bit) value named
AutoStartDelay and setting the delay (base: decimal) in seconds, in the following registry key:
Other than this, the Service Control Manager loads the “delay start” services in the same way as it starts the non-delayed auto-start services. There are no other differences between Automatic (delayed start) and Automatic startup types.
Delayed Automatic Start for System Services. To address the problem of the growing number of services set to start automatically and the subsequent negative impact on boot performance, there is a new start type for services that do not need to start early in the boot process – the Delayed start. This allows a service to still start automatically, but with the added advantage that boot performance is improved. Services set to start as Delayed will start shortly after boot.
So how does this work? The Service Control Manager starts services that are configured for the delayed automatic start after all of the automatic-start threads have finished starting. The Service Control manager also sets the priority of the initial thread for these delayed services to THREAD_PRIORITY_LOWEST. This causes all of the disk I/O performed by the thread to be a very low priority. Once a service finishes initializing, the priority is set back to normal by the Service Control Manager. The combination of the delayed start, low CPU and memory priority, as well as the background disk priority greatly reduce the interference with the user’s logon.
Many Windows services, including the Background Intelligent Transfer Service (BITS), Windows Update Client, and Windows Media Center, use this new start type to help improve logon performance after a system boot. To configure a service for delayed automatic-start, you can create a REG_DWORD value called
DelayedAutoStart in the service’s configuration registry key under
Registry values for Automatic and Automatic (delayed start) Startup types
For example, the Delivery Optimization service (
DoSvc) is set to Automatic (delayed start) in Windows 10 v1903. Here are the registry values for this service which store the service startup type choice:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DoSvc Value name: DelayedAutostart Value type: REG_DWORD Value data: 1
DelayedAutostart value data of
1 means the service is set to delayed start. If the value is missing or is set to
0, then it’s not set to delayed start.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DoSvc Value name: Start Value type: REG_DWORD Value data: 2
Start DWORD value, the possible data are:
- If the
StartDWORD is set to anything other than
2(Automatic), then the
DelayedAutoStartvalue is ignored, even if it’s set to
- If the
StartDWORD is set to
DelayedAutoStartis set to
0or the value is missing, then it means the service is set to Automatic start (no delay.)
Editor’s note: Arbitrarily changing the service startup types can cause problems to the system. It’s advisable to leave the services configuration in the Windows default setting in most cases. If you plan to modify the services configuration, backup the current service startup configuration, create a Restore Point, or perform a complete registry backup beforehand.