What is the difference between Automatic and Automatic (Delayed Start) for a property setting for a Windows service? i.e. what do I gain or lose by setting my service as one or the other?
Running the service on Windows Server 2008 x64
This question came from our site for professional and enthusiast programmers.
From my understanding, it's simply a delay before launching the service.
Later versions of Windows introduced this to ensure that they didn't trip over each other's feet during the boot process (having a gazillion processes starting up at the same time is not conducive to performance).
The documentation for this feature states that services marked thus will be started "shortly after boot", hopefully once the boot-time-required services have settled down a little.
A service marked as Automatic (Delayed Start) will start shortly after all other services designated as Automatic have been started. In my experience, this means that they are started 1-2 minutes after the computer boots.
The setting is most useful in lessening the "mad rush" for resources when a machine boots.
Note that when you have 20 services all being started at the same time, each will start up slower as it competes with the others for slices of the machine's precious resources (CPU/RAM/Disk/Network). That is, each service takes longer to become available!
If you have a few services that are critical, then you may want to set those few to Automatic and set as many of the others as you can to Automatic (Delayed Start). This will ensure that the critical services get the most resources early and become available sooner, while the non-critical services start a bit later (which by definition is ok).