Startup apps artificially delayed on Windows 11?

Anonymous
2024-02-15T07:04:15+00:00

I'm running Windows 11 23H2 with all the updates installed. I have several (5) programs added to shell:startup so they can launch automatically at boot.

I'd expect these apps to start launching maybe up to 5 seconds after seeing the desktop, but for some reason, most of the time the startup of these programs is delayed by up to 1-3 minutes. Looking at Task Manager indicates very little resource usage, so insufficient processing power is not the cause (this desktop computer is running on latest Core i7 and a very fast NVMe drive). Additionally, the same apps I have added in shell:startup I can also launch manually the very second my desktop is visible and they'll launch immediately.

This installation of Windows 11 should still be good as new. It's barely 3 months old, no strange tweaks done to it, just basic programs installed. sfc and dism checks return no problems. There are also no other issues with this computer besides that one.

Is there something that could be done to make these applications run immediately after logon with no delay?

Windows for home | Windows 11 | Performance and system failures

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
Anonymous
2024-04-29T08:58:54+00:00

And here we are again. MS guys don't know anything about their product)

I found a solution:
Changing registry is dangerous, make backup and blablabla
open regedit Win+R -> regedit

goto "Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer"

Create key with name "Serialize"
Create REG_DWORD value in it with name "WaitForIdleState" (case-sensitive!) with value 0.
Optionally create REG_DWORD value in it with name "StartupDelayInMSec" (case-sensitive!), and specify value to lower startup delay. I am good with 0, but YMMV.

Hope, that helps. Cheers!

p.s.: the answer is found on another forum, not sure if i can post links to other resources here.
This situation is somehow connected with a new way of calculating startup delay. It used to be a static value in milliseconds, which worked fine. But they made it even better by making it dynamic, so windows will wait for cpu idle state and only then it will launch startup apps. i guess, this is made because modern cpus are much weaker than old ones and putting a little bit of load on them is excessive *sarcasm*

Was this answer helpful?

100+ people found this answer helpful.
0 comments No comments

18 additional answers

Sort by: Most helpful
  1. Anonymous
    2024-06-04T23:24:42+00:00

    This helped.

    I was struggling with incredibly slow autostart of my apps for nearly a year now (some took like 5 minutes after a login to show up, but I could immediately start it from e.g. the desktop without an issue), but with the "WaitForIdleState" addition it got solved.

    I already found the "StartupDelayInMSec" on another forum, but it only helped a bit.

    A fair warning though: It's best to create a *.reg file for this, since I've noticed that certain Windows Updates will delete the "Serialize" key again and you have to re-add the key and the 2 dwords.

    True. Here is .reg contents in case anyone comes across. Create a text file with .reg extension and following contents. Then just double click it to add to registry.

    Windows Registry Editor Version 5.00 
    
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize] 
    
    "StartupDelayInMSec"=dword:00000000 
    
    "WaitForIdleState"=dword:00000000
    

    Was this answer helpful?

    20+ people found this answer helpful.
    0 comments No comments
  2. Anonymous
    2024-02-27T09:32:54+00:00

    Thank you for your response. I've had a look at my event log, but failed to find anything that could be the reason for startup delays.

    I've attempted option 3, since I have some familiarity with Task Scheduler. It's admittedly a bit "hacky", but it works. I:

    1. Placed all my shortcuts in a different folder. I picked "C:\Startup".
    2. Created a task with a trigger set to "user logon" and action set to:
      Program: cmd.exe
      Parameters: /C for %f in (*.lnk) do call start "" "%f"
      Start in: C:\Startup

    And done. This task runs all the shortcuts at once in this folder, and compared to shell:startup it runs within less than a second after seeing the desktop. That's what I wanted to see :)

    Having apps that need to run with elevated privileges might cause a complication, but for my use case it's fortunately not a problem.

    Was this answer helpful?

    10+ people found this answer helpful.
    0 comments No comments
  3. Anonymous
    2024-11-13T17:40:04+00:00

    Check this article out: https://bstar.de/2024/06/08/windows-11-autostart-apps-delays-very-long-after-boot/It should resolve your issue. Here is the content in case the link doesn't work.

    If you have the problem that after a restart, you have to wait 1 or 2 minutes before the system starts the AutoStart Apps/Programs, you may have success with this method.

    Add/modify your registry with these values

    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize] 
    "StartupDelayInMSec"=dword:00000000 
    "WaitForIdleState"=dword:00000000
    

    Most likely, you have to create these keys since they do not exist by default.

    „WaitForIdleState“ seems to be the reason for the issue. Somehow, the system will wait for an idle state before continuing to start the Apps. Depending on your system configuration, it can take a while until this happens 🙂

    *makes sure to back up your registry and make edits at your own risk.

    Was this answer helpful?

    4 people found this answer helpful.
    0 comments No comments
  4. Anonymous
    2024-06-04T23:18:46+00:00

    first of all, the issue seems to be solved with registry tweaks mentioned above.
    second, if you still want to use this approach

    i'd create a .bat file with following contents

    for %f in (C:\path\to\startup\links\*) do call start "" "%f"
    

    and place this .bat file in shell:startup (win+r -> shell:startup).

    Was this answer helpful?

    4 people found this answer helpful.
    0 comments No comments