Ever hear someone say something like, "Windows sure gets slow and bloated over time", or "My system sure has slowed down over this past year — damn Windows!"?
The truth is, it's not Windows' fault in the slightest.
It's yours.
That is, it's the fault of the programs you've installed since you bought it, and whoever initially set up the machine if it came ready-to-go. About a third of the installs put in a 'pre-loader', which pre-loads a bunch of drivers and libraries and such into memory during boot-up so, when you actually run the program, it pops onto your screen approximately 0.87 seconds quicker. And each of these pre-loaders gobbles up a bit more memory and is one more background 'task' for Windows to keep track of.
Now, if just one program did this, no biggie. But multiply it by thirty programs and the rules change. With tons of your memory being gobbled up, the first symptom you'd notice would be your computer... slowing down.
Want to see something sobering? Open Control Panel, Administrative Tools, System Configuration. Click on the 'Startup' tab.
This window is empty on a brand new Windows.
Everything you see was put here by you or whoever set up the computer initially. And 90% of it can go.
But that's not what this post is about. Using System Config to get rid of pre-loaders is beginner's stuff.
This post is on the background programs that it can't get rid of. It's for you obsessive, pedantic bastards out there who demand a totally clean, pure system.
Not that I know anyone like that.
This post deals with programs that are started after Windows loads, so they're not part of the startup bunch that System Config controls.
First, though, let's quickly go over the two ways to stop programs from starting up at boot-up, just to make sure whatever you're dealing with can't be stopped more easily.
1. Control Panel, Administrative Tools, System Configuration, 'Startup' tab. As noted, this window is blank in a brand new Windows. Everything here has been added later.
Basically, the only things checked should be things that actually should start up with Windows, like graphic drivers, mouse driver, little background 'helper' programs, your anti-malware/Internet firewall program, etc.
It's to note, though, that there are also a few 'normal' programs out there that need something run during boot-up in order to work. For example, my disk image backup program, True Image, needs a small file run at boot-up. You're just deselecting them, though, so if suddenly some program doesn't work, look over the entries and reselect the proper one. Between the name and the path to the program, most can be figured out.
A much lengthier discussion on the subject is on my Win7 setup page.
2. Administrative Tools, Task Scheduler. Click on 'Task Scheduler Library' over on the left. Everything in the main window is probably needless. Go ahead and right-click each entry and 'Disable'. While disabling something in System Config might keep a program from running, nothing in Task Scheduler will.
TaskKill
This will take a bit of investigative work on your part. The basic premise is to look over the running background programs in Task Manager and decide who should stay and who should go.
Many will be semi-obvious. My Norton SystemWorks program fires up four programs after boot-up:
diskdoctorsrv.exe
diskdoctorsrvproxy.exe
speeddisksrv.exe
speeddisksrvproxy.exe
Since DiskDoctor and SpeedDisk are part of Norton, they were easy to recognize, and there's absolutely no reason why they should be hogging background resources unless actually being run.
When I install my Logitech mouse driver, I let it do one update, at which point it grabs the latest version. That's good enough, though, and I don't want it doing any further updating, yet there's no way to turn it off. But there it is in Task Manager, "logitechupdate.exe", and that's good enough for the DOS command TaskKill.
We're going to use what's called a "batch file"; a text file which will use two DOS commands to do the dirty deed.
Open Notepad, scribble down:
timeout /T 20
taskkill /F /IM xxx.exe
This uses the TimeOut command to have the batch file wait 20 seconds to give the post-bootup programs time to load, then uses TaskKill to eliminate the unnecessary ones. We're just using "xxx" as a placeholder for the moment.
Open Task Manager (right-click on the Task Bar or hit Ctrl-Alt-Delete). Click on the 'Processes' tab. Go to the View menu, 'Select Columns'. Check 'Image Path Name', OK. Make the box a bit wider if you want.
Between the path to the file and the description, you should be able to eliminate most of the suspects. Presumably, any Microsoft program is okay, and it'll help to know the names of the various manufacturers of your programs and devices. For example, my Logitech mouse fires up "Logitech SetPoint Event Manager", my Acronis True Image program fires up "Acronis Scheduler", and my function keys program, My Function Keys, runs "MFK.exe" to fire itself up with.
When you find an unknown entry, head for Google and type in the exact name. You'll probably be able to tell just from the brief descriptions if it's legitimate or not.
For example, one of my entries is "khalmnpr.exe". A quick Google search reveals that it's part of my mouse driver package. Without it, things like clicking the scroll wheel to produce a double-click don't work. So it stays.
Go ahead and spend some time going down the list. You may not find many things that can go — but on the other hand, you might find something nasty, like a program sending your browsing history to its home database. Nothing illegitimate, that is, like something an anti-malware program would find, but still something that definitely shouldn't be on your system.
If you've installed any Google software, like Google Earth, you'll probably have a "googleupdate.exe" listed that can go.
Write the exact name of any reject in your batch file, giving each a new TaskKill line.
Save the file someplace safe, then change the file extension from ".txt" to ".bat". If you're not seeing file extensions, go to Control Panel, Folder Options, the 'View' tab, uncheck 'Hide extensions...'.
Double-click on the BAT file to run. If the entries were currently listed in Task Manager, they should disappear. You can move the time delay up to a few seconds while testing, then change it back to '20' when done.
If a task doesn't kill, right-click on it and 'End process'. If it kills, double-check the spelling in the batch file. If it still won't kill, do some further investigation on it. Normally, only Windows system files and big background programs like anti-malware can't be killed. If it isn't one of those two, it might be a bad guy.
When the batch file's ready, d-r-a-g the icon over to the Start Menu, Programs, drop it in the 'Startup' folder. If you can't drag-and-drop to your Start Menu, right-click on the Start button, 'Open', then open 'Programs', 'Startup', and put a shortcut to the batch file there.
That'll run the batch file at boot-up. You'll see an icon on the Task Bar while it's running.
Reboot, wait until the file has run (the icon will disappear) then check Task Manager. Presuming the unwanted programs are gone, close Task Manager, wait a few minutes, then check again. You might run into two things:
1. If I kill those four Norton files at boot-up, they reappear exactly one minute later. If I kill them again, they stay killed. So my batch file actually duplicates itself, first killing the whole bunch, then waiting 70 seconds and doing it again.
2. Google Update seems to wait about minute before it kicks in, so it gets included in the second bunch.
Here's what my batch file looks like:
timeout /T 20
taskkill /F /IM diskdoctorsrvproxy.exe
taskkill /F /IM diskdoctorsrv.exe
taskkill /F /IM speeddisksrv.exe
taskkill /F /IM speeddisksrvproxy.exe
taskkill /F /IM logitechupdate.exe
taskkill /F /IM wmpnetwk.exe
taskkill /F /IM afcdpsrv.exe
timeout /T 70
taskkill /F /IM speeddisksrv.exe
taskkill /F /IM speeddisksrvproxy.exe
taskkill /F /IM diskdoctorsrvproxy.exe
taskkill /F /IM diskdoctorsrv.exe
taskkill /F /IM googleupdate.exe
File Notes:
— That "wmpnetwk.exe" is some 'sharing' routine used by Media Player, a program I never use. And speaking of Media Player, you should open it up and open Options, unchecking almost every box, especially the 'Library' and 'Privacy' panels. For a much better video player, try this.
— My True Image program actually fires up three programs during boot-up. One's necessary, one can be eliminated via System Config, but "afcdpsrv.exe" has to be removed this way.
— While it was a small thing, it was annoying, so I might point out that removing this unnecessary junk might also have some real-world benefits. Almost every time I used to open my older Google Earth Pro (the commercial version), a "Would you like to update??" box would open up first. It would take upward of ten seconds to display, then I could finally go to the program. With Google Update eliminated, the program opens immediately. Like I said, no big deal, but it was a small annoyance that I'm glad to see gone.
To keep the ugly black DOS box from opening during boot-up, right-click on the entry in Start Menu, Programs, Startup, open 'Properties'. For the 'Run' area, select 'Minimized'.
Any questions or additional thoughts, give a holler in the comments.