I have been planning on talking about cleaning up your windows startup for a while but it looks like Jonathan Hardwick bet me too it with his excellent post What is all this stuff doing on my computer?. I do however have a couple more things to add.
If you run msconfig you will see that there is a startup tab (see Jonathan's post for a screen shot) this is the primary place that small programs will install startup stuff. Things in the startup tab primarily come from the following locations:
- From the Registry:
- (Note there is also a RunOnce under HKLM that allows for something to run only on the next boot of your machine)
- From the Startup Folder:
- %USERPROFILE%\Start Menu\Programs\Startup
- %ALLUSERPROFILE%\Start Menu\Programs\Startup
Now since I really hate having my computer startup and loading about a billion icons in my system tray, I clean out all these files that I know I don't need. If you don't know what you are doing or you are unsure about something I would suggest that you use msconfig because it doesn't delete the items it just copies them to another location for safe keeping incase you want to re-enable them later.
Warning: This next part is meant for power users!
Once I have cleaned up those startup items I go a step farther and prevent anything from being put in those locations. I usually go into the registry and set the security permissions on those two Run keys mentioned above to read only for everyone. So I clear out all users and add the group "Everyone" and allow only "Read" permissions. If you don't have at least "Read" permissions then the items you have left to startup will not startup. You should be able to set permissions on registry keys in Windows NT, 2000, XP, and 2003, you can't on Windows 95, 98, or ME. Now you could do a similar thing for the Startup folders if you are running NTFS but in my experience the majority of programs use the registry Run keys as opposed to the Startup folder, so I usually don't worry about them.
Now for some words of caution. When installing some software that tries to write to those registry keys, you can get a variety of possible problems. Some programs will give you a warning that says something like "can't write to blah key" or "don't have permissions to blah key", and give you the standard "Abort", "Ignore", or "Retry" options. Most of the time I hit Ignore unless I know it is something I want in the startup and then I will change the registry permissions temporarily to "Full Control" and then hit "Retry". Other install programs just flat out fail, and usually if that happens and I suspect that it was because of the registry permissions I will temporarily grant "Full Control" and try to re-install. Once the program finishes its install and I know I don't want it in my startup then I will delete the key it created and the set the permissions back to "Read" only. I really hate it when and installer just simply fails, they should handle those conditions more gracefully. Another little tip is that I add those two Run keys to my registry favorites, yes that's right if you didn't know the registry also has a list of favorites.
One last thing if you apply these changes and you haven't installed XP SP2 yet wait because the SP2 install crashed and burned on my machine at the very end of the install, and then I had to enable the permissions and install again.;) Why oh why can't Microsoft handle these conditions more gracefully...
Disclaimer: Modifying the registry or file system security permissions can cause serious problems that may require you to reinstall your operating system. I cannot guarantee that problems resulting from modifications to the registry or file system security permissions can be solved. Use the information provided at your own risk.