Windows Automatic Startup Locations
The Windows operating system ships with options to run custom files or programs on startup.
That's good on the one hand as it enables users of the operating system to select programs that they want to start with Windows. It is also required for some programs, for instance security software as it is usually necessary that these programs start as early as possible.
But it is also a big nuisance as programs can be added to the startup during installations or even on start.
Since this is often not communicated properly to the user, may not only delay system start but also mean that programs that may not be needed all the time are run all the time.
Windows Automatic Startup Locations
While you can use a program like the excellent Autoruns to manage all startup locations, you sometimes may need direct access to them, for instance when you want to add a program of your own to the startup.
First time users may be overwhelmed by the sheer number of autostart locations -- both as folders on a drive and in the Windows Registry -- and it may take a long time to go through the listing the first time you open it.
Part of why the system is quite complex is the fact that Windows maintains autostart entries for individual users and all users on the system, and if a 64-bit version of Windows is used, another exclusive for 64-bit versions.
Windows Automatic Startup Locations can be divided into the three groups folders, Registry and scheduled Tasks for the most part even though you may also use the Group Policy to add autostart programs to the system (which are reflected in the Windows Registry however).
Windows Automatic Startup Locations: Folders
The following locations are ideal when it comes to adding custom programs to the autostart. Also, it is rather easy to remove program and shortcuts from those autostart folders.
To make things easier, Microsoft has added keywords for the folders which help you open them quickly. The locations / keywords open the same folder.
Autostart folder of the current user
- %appdata%\Microsoft\Windows\Start Menu\Programs\Startup
- C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Autostart folder of all users
- shell:common startup
- %programdata%\Microsoft\Windows\Start Menu\Programs\Startup
- C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
Windows Automatic Startup Locations: Registry
The bulk of autostart locations is found in the Windows Registry. You probably know how to load the Registry editor but if you don't, here is how it is done:
- Tap on the Windows-key, type regedit.exe and hit enter.
- Confirm the UAC prompt that is displayed.
Run keys (individual user)
- HKCU\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run (only on 64-bit systems)
- HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run
- HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce (runs the program/command only once, clears it as soon as it is run)
- HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceEx (runs the program/command only once, clears it as soon as execution completes)
Run keys (machine, all users)
- HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run (only on 64-bit systems)
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce (runs the program/command only once, clears it as soon as it is run)
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx (runs the program/command only once, clears it as soon as execution completes)
Other autostart keys
Active Setup has been designed to execute commands once per user during logon.
- HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components
- HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
Undocumented autostart feature.
Shell related autostart entries, e.g. items displayed when you right-click on files or folders.
The following keys specify drivers that get loaded during startup.
- HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font Drivers
- HKLM\Software\Microsoft\Windows NT\CurrentVersion\Drivers32
- HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32
Misc Startup keys
- KLM\System\CurrentControlSet\Control\Session Manager\KnownDlls
- HKCU\Control Panel\Desktop\Scrnsave.exe
Windows Automatic Startup Locations: Group Policy
The Group Policy editor is only available on professional versions of Windows while the Registry keys associated with policies are available on all versions.
- Tap on the Windows-key, type gpedit.msc and hit enter to start the Group Policy Editor.
Navigate to the following keys using the tree structure on the left to check, modify, add or remove entries using policies.
- Computer Configuration > Administrative Templates > System > Logon > Run these programs at user logon
- User Configuration > Administrative Templates > System > Logon > Run these programs at user logon
The corresponding Registry keys are:
Windows Automatic Startup Locations: Tasks
You can open the Windows Task Scheduler to manage tasks on the Windows operating system:
- Tap on the Windows-key, type Task Scheduler, and hit enter.
You may check out tasks using Windows Explorer / File Explorer as well.
The following files can be used to autostart programs on Windows start:
The following resources provide you with additional information about specific Registry keys.
- Active Setup Explained
- Active SetupÂ Registry Key
- Bleeping Computer on Windows Autostart
- Registering File Handlers
- The Windows 7 Boot Process
- Understand and Control Startup Apps with the System Configuration Utility
Thank you very much for gathering these infos on one page. Some where still unknown to me, thx 20 yrs MS UnHelp :)
Not everything is going to be documented.
I thank to all virus, spyware, trojan developers to use mostly of this locations. And because of this, no introduction for Autorun is needed. It is part of Hiren’s boot cd for so many years.
A very interesting and complete overview indeed! Still for the sake of ultimate completeness, there’s one thing that might have been mentioned here, too: the fact that all kinds of third-party utilities can be used to auto-launch programs at system boot or user logon, too.
Two well-known freeware examples are Nirsoft’s nircmd.exe and Outertech’s batchrun.exe. Both are capable of running their own script to launch one’s own precomposed list of programs: Nircmd from its own *.ncl scripts, Batchrun from its own *.brs scripts.
The advantage is that these scripts have many built-in options for things like startup timing (such as autostart each program one second after the previous one) and fine-tuning (such as autostart some specific programs in minimized mode). This makes them more handy than using a simple old-fashioned autoexec.bat script.
The disadvantage however is that this kind of boot scripts will make it even more hard to get one complete overview of everything that will autostart when you boot your system. Take the wonderful Autoruns utility mentioned above: Autoruns will just list one instance of Nircmd or Batchrun, but it will NOT list any of the programs that are autostarted by this Nircmd or Batchrun instance.
In practice, this means that when troubleshooting startup or overload problems with someone else’s PC, you should always look carefully for the presence of such third-party auto-launchers too, and check what’s in their scripts.
That’s a lot of autostart entries. Why can’t they be all at a single place?
They are .. in Autoruns under the Everything tab :)
Because Microsoft never had the knowledge how to properly develop an OS.
On OSX all startup items are in 1 system folder : /Library/StartUpItems
Removing users/group startup items is build in OSX System Preferences.
hahaha I’m coming a bit late to this post but come on give me a break
First of all microsoft has plenty of brilliant people working on windows which keeps improving with every OS. I like apple’s stuff but os x or macOS or whatever they want to call it now has been going down hill unfortunately.
Second do to os x’s unix legacy it has TONS of startup locations, windows probably has it beat but not by much
heres some from a google search
â€” User Login Items (~/Library/Preferences/com.apple.loginitems.plist)
â€” /Library/Preferences/loginwindow.plist can have Login Items that apply to all users
â€” /etc/rc/ and /etc/rc.local – totally unsupported, and not created by default (but probably still work)
â€” Network/Library/LaunchDaemons, but I donâ€™t know)?
â€” /etc/mach_init_per_login_session.d/ and /etc/mach_init_per_user.d/
â€” cron launched @reboot items (yes, cron is still there), this might even work for everyoneâ€™s crontabs
â€” /Library/Security/SecurityAgentPlugins that have been loaded by being listed in the proper spots in /etc/authorization
â€” /private/var/root/Library/Preferences/com.apple.loginwindow.plist, in the LoginHook key (runs as root, passed the username)MCX (WorkgroupManager) login hooks (runs as root, but passed the username) note: below this network home directories are more reliably available, as is a connection to the WindowsServer
â€” MenuBar items from ~/Library/Preferences/com.apple.systemuiserver.plist and /Library/Preferences/com.apple.systemuiserver.plist (+MXC added items)
â€” /Library/Preferences/loginwindow.plist, in the key (array of paths) AutoLaunchedApplicationDictionary (everyone gets this launched at login, runs as user) (+MXC added items)
â€” LoginItems (generally GUI items) ~/Library/Preferences/com.apple.loginitems.plist and possibly /Library/Preferences/com.apple.loginitems.plist (have not tried) (+MXC added items)
Not to mention browser plugins and things of that nature.
Please don’t act like an expert and post a definite answer until you’re completely certain of it. A 10 second google search could’ve stopped you from spreading misinformation and making people think apple users are tools
Nonsense! Typical Apple/Linux hybris.
Inform yourself about Dave Cutler who developed Windows NT.
My answer is: Because Windows is a multi-user OS, and because those start options are all for differnet purposes.
Plus: some things (like AD and GPOs) were introduced at a later time, i.e. evolution.
Thanks, very informative indeed.
Autoruns from Sysinternals is comprehensive. https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx
It only misses Group Policies I guess.
The Notification function on Win10 x64 Home periodically tells me I have 3 or more programs autostarting, and this may slow my system down. I’ve investigated this with Autoruns and Process Explorer and it appears to me I want the starts as is. The useful comments here may lead me to reevaluate my conclusion. Thanks for a great article.
@Martin, this is the kind of meaty, juicy, under the hood Windows info that I come here for.
Martin, there is a program which you can use
WinPatrol enables addition, deletion and disablement of programs very simply and easily in its startup gui
My post ref WinPatrol seems to have disappeared ! Reposting.
WinPatrol can be used to add, delete and disable startup programs.
Should be there now :)
Thanks Martin :))
I always wondered, which is the boot order of all these startup items. Any good info?
Check out the Bleeping Computer article linked under reference.
Hallo, Herr Brinkmann
bitte vorab um Nachsicht, meine Frage hier zu stellen:
Gibt es Ihre Seite auch auch Deutsch und wenn nicht, kennt jemand der Poster hier vergleichbare Seiten auf Deutsch ? Mein Vater kann zwar Schulenglisch vorweisen, ist aber mit z.B. dieser Seite Ã¼berfordert. Vielen Dank.
Hallo, die Seite gibt es nur auf Englisch. Vielleicht hilft Google Translate weiter? Eine vergleichbare deutsche Seite ist mir leider nicht bekannt.
Ok, vielen Dank fÃ¼r die schnelle Antwort. Google Translate hilft manchmal, aber mitunter kommen doch die tollsten und irrsinnigsten Verdrehungen vor, die den Inhalt in sich selbst auf den Kopf stellen.
Dennoch von hier aus mal herzlichen Dank fÃ¼r eine tolle Webseite mit riesigem Informationsgehalt. Ich werde halt wie bisher bei Bedarf fÃ¼r Daddy Ã¼bersetzen.
autoexec.bat and config.sys… lol. I thought I was in 1995 when I read that ; )
I prefer to keep it simple (https://en.wikipedia.org/wiki/KISS_principle) by going to msconfig.msc, which in Windows 10 is in taskmanager>startup. IMHO this should be the first (and easiest) place to check before proceeding to Autoruns, etc.
Dang, alot of infos :)
I’ve recently moved from XP to 8.1, and now some programs I had autostarting on XP, won’t autostart with windows on 8.1
Don’t remember if it’s due to me choosing portable versions [need to take a look] or is it some windows issue.
I did add shortcuts to the Start Folder , following random article about this…
And I did check the right boxes for it on the programs itself [Specifically: XtraButtons (so awesome, when it worked, now it fails… must look into it again :\ ) and ScreenCaptor & WizMouse —– 3 awesome programs!!! check it out guys!!]
Another thing that might has to do with it: Windows security crap USER ACCOUNT CONTROL [Ok, Ive taken a look, it does lead to portable folders… that means I have to simply be forced to Fully Install rather than use portable ones Shortcuts from within Unpacked Folders?] UAC – jumping everytime..
I do not wish to lower UAC’s settings, in order to prevent damageful progs from hitting my PC… So I leave the demand ON…
Why is there no way to Exclude specific progs from this UAC jumping each time…
A rthough – will AUtoRuns solve any of the issue\s?
Thanks y’all :)
Ah, WizMouse. Couldn’t live without it!
Now if I could only get something equivalent to “WindowsWhere” ( Â© Zack Snow 2010) that **works**, things would be awesome on this windows 7 OS, and 8.1 !
I unselected something and windows 10 cannot start. Auto repair also doesn’t work. Is there an Autorun application that can be started from the boot CD?