Automatic vs Automatic (Delayed start) Service Startup types

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.

automatic vs automatic delayed start services windows

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 ScInitDelayStart() function.

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:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

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.

Quoting Microsoft Performance Team blog: Startup Processes and Delayed Automatic Start

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 HKLM\SYSTEM\CurrentControlSet\Services

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

The 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

For the Start DWORD value, the possible data are:

  • 2 is Automatic
  • 3 is Manual
  • 4 is Disabled
  • If the Start DWORD is set to anything other than 2 (Automatic), then the DelayedAutoStart value is ignored, even if it’s set to 1.
  • If the Start DWORD is set to 2 (Automatic) and DelayedAutoStart is set to 0 or 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.


One small request: If you liked this post, please share this?

One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
  • Pin it!
  • Share it to your favorite blog + Facebook, Reddit
  • Tweet it!
So thank you so much for your support. It won't take more than 10 seconds of your time. The share buttons are right below. :)

Ramesh Srinivasan is passionate about Microsoft technologies and he has been a consecutive ten-time recipient of the Microsoft Most Valuable Professional award in the Windows Shell/Desktop Experience category, from 2003 to 2012. He loves to troubleshoot and write about Windows. Ramesh founded Winhelponline.com in 2005.

5 thoughts on “Automatic vs Automatic (Delayed start) Service Startup types”

  1. In Services I cannot get Automatic start for Windows Time (Clock) to work. It is stuck on Manual and clicking Automatic does not change it.

    Reply
  2. Great job! One question though, what happens if my service is set to “Automatic” but fails to start every single time? (Subsequent failures set to: “Restart the Service”, Reset fail count after: 1 minute). Since all Automatic (Delayed start) services wait until my service is up and running, will they ever start?

    Regards,

    Reply

Leave a Comment