Controlling Windows Startup Programs

July 12, 2007 at 7:56 pm 5 comments

It seems like I’m always fighting with the programs that get started automatically when Windows starts.  Every program I install seems to add some kind of quick-launch program, control panel, or background process that I don’t really need. After a while I’ve got so many little icons in the task bar at the bottom right of my screen that it gets hard to find the programs I really do want. Not to mention the sluggish performance of my computer with all those little (or not so little) programs taking up memory and other resources.

Windows Task Manager
Over the years, I’ve found a variety of different ways to see what’s running on my computer. The first and easiest method is to use the Windows Task Manager (the helpful little program that pops up when you press control-alt-del). It will show you all the programs running on your computer in the pane under the “processes” tab. The only problem with this is that it doesn’t tell you whether the process is running an application, background program, or service. It also doesn’t tell you how the process was started. Was it started automatically when Windows started, or was it started by another program? If it was started automatically, where did it get started- in the “Startup” folder on the “Start, All Programs” menu, or in the registry?

MSCONFIG (MS System Configuration Utility)
An even better way to discover which programs are started automatically when Windows boots is with the Microsoft System Configuration Utility, msconfig.exe (part of the Windows OS). This is a great little program since it not only shows you which programs run at startup, but it also allows you to selectively disable the ones you don’t want. To run this program, just type “msconfig” in the “Run” dialog box that you open from the “Start” menu.

You can use msconfig to control loading of drivers from Win.ini, or System.ini., and you can control the startup settings in Boot.ini, and you can control which services or programs are started. One of the really cool things is that the pane under the startup tab not only shows you all the programs that start when Windows starts, and not only allows you to selectively enable or disable them, but also shows you where they are started – either from the startup folder, or in the registry. Being able to see which key in the registry is responsible for starting a program is what I really like. Sure, you can temporarily disable a program by just unchecking it’s box in msconfig. But I don’t want to have msconfig running every time I boot just to control startup of programs. I’d rather cut off a startup program at it’s source, so I prefer to edit the registry using regedit to remove the programs that I don’t want. Of course, some programs have an option menu that lets you disable them from starting automatically. This is the way they should all be written! But, unfortunately, many programs do not have this option- hence the need to edit the registry.

I have one unanswered question about the registry locations displayed on the paine under the “Startup” tab in msconfig. Some of the locations start with “SOFTWARE/” rather than “HKLM/” (HKEY_LOCAL_MACHINE) or “HKCU/” (HKEY_CURRENT_USER). As far as I know there is no registry hive named “SOFTWARE”, so what is this?

Here are a few good links to information on using msconfig and regedit:

Windows Defender
You can also use Windows Defender (a free download from Microsoft) to identify all the programs that run at startup as well as all the programs that are currently running on your computer. You do this by selecting the “Software Explorer” option on the “Tools” menu. Windows Defender also allows you to disable any programs that you don’t want to run at startup. This is a lot easier than editing the registry!

Entry filed under: msconfig, Regedit, Task Manager, Technology, Windows Defender. Tags: .

Free Antivirus Software Which Version of the Windows SDK Should You Use?

5 Comments Add your own

  • 1. xpsecrets  |  July 13, 2007 at 3:20 pm

    Thank you for this article. I downloaded Windows Defender and love the way that it displays the all the specifics of the startup items (as mentioned in your article). It is so much more detailed than MSCONFIG.

  • 2. Jonas  |  August 29, 2007 at 8:30 pm

    The Software\ entries, should be the entries that are turned off.
    If you go into regedit (run -> regedit) and search for what it says in the command section in msconfig, you should find it 🙂


  • 3. Bahrom  |  September 5, 2007 at 4:14 pm

    I just found this helpful article that explains how to disable Windows Messenger:

    How do I disable Windows Messenger in Windows XP?

    On my computer, Windows Messenger was starting every time I opened Outlook (the MS Office version). I disabled this by going to: Tools, Options, selecting the Other tab, and under Person Names, unchecking “Display Presence Status in the From Field”.

  • 4. Phil Ivey  |  August 30, 2009 at 1:01 pm

    I am looking for a way to prevent programs to load on startup, but without deleting the registry keys (I have no permissions to msconfig).

    Is this possible?

    Thanks / Phil from

    • 5. Bahrom  |  August 31, 2009 at 6:05 pm

      I don’t think you can disable startup programs that are configured to launch in the registry without administrator priveleges. If someone else knows a way, I’d be interested in hearing about it.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed

Bird’s Bits

Computers, software & the Internet

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 41 other followers

%d bloggers like this: