ChatGPT解决这个技术问题 Extra ChatGPT

"Automatic" vs "Automatic (Delayed start)"

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

I'm not sure how this is considered off topic considering the fact that wixtoolset.org gives you the ability to specify this and we allow questions about Wix.
I got here looking for an answer for wix installer. This is absolutely on topic for programming as an installer is kinda relevant to programming.
Agreed with Smithers and PitLock. If you look at the vote-ups for both the question and the answers on this and other "closed" subjects, it seems that some members are more interested in the letter of the law rather than the usefulness of the post, which is the whole idea behind sites like this. Apparently, they don't realize that this particular question does, in fact, affect "programming". At least they didn't take the post down.
I don't agree that this is off topic. This is very relevant to developers.

F
FaultyOverflow

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\\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.


I'm wondering, how short is shortly? Not much information out there. It somehow looks like Windows would wait, until the system load drops, or a certain step during the boot sequence has been reached. After that it begins starting any delayed services. Any oppionions or even knowledge on that?
@leo 2 mins after the last automatic service - answer updated.
With multiple delayed start services, how does windows decide which to start first?
@ErnestSoeralaya services can be marked as dependent on other services. Windows will ensure the dependencies are started first, then after that the services should start in alphabetical order; but this is not guaranteed.
@MeM A failure in any one service will not affect any other service. The only exception to this are services which are marked as dependent on other services.

关注公众号,不定期副业成功案例分享
Follow WeChat

Success story sharing

Want to stay one step ahead of the latest teleworks?

Subscribe Now