Larry Seltzer has an insightful column about the difficulties of troubleshooting Windows, entitled Gee, I Think I Have a Virus:
When strange, inexplicable things happen on your Windows computer, what do you assume is the cause? Probably, you’ll think you have a virus, or some spyware, or one of those other bad things you read about even in the local newspaper. But you may be wrong.
Oh, can I relate. Invariably, when someone contacts me with a tricky troubleshooting problem, they go through the litany of stuff they tried first, which typically includes defragging, scanning for spyware, and scanning for viruses. Most of the time, those are pointless exercises. Larry points to a recent column by the guru of Windows Internals, Mark Russinovich, in which he stepped through the troubleshooting process to track down a tricky problem that turned out to be caused by a missing file on a networked computer. Windows kept looking in vain for that file, and it would slow the system to a crawl while it engaged in its futile search. Fortunately, with the help of his own company’s tools and utilities (many of them available for free) he found the cause.
Larry continues:
But only very sophisticated users, mainly developers, are capable of this, and normal users would be befuddled by the task.
[Russinovich] closes by observing, “This is just one example of the many types of Windows issues that cause users to complain that their systems slow down over time and that result in a general ‘I don’t know, just reinstall’ mentality. I hope Vista does better.”
I bet a lot of those users would take this sort of behavior and assume they have a virus. The ones who were a bit more sophisticated would assume they have some sort of spyware, and they’d still be wrong.
There actually are some excellent Windows troubleshooting tools, but they are not for mere mortals. Most of the really nasty problems I see are the result of bad drivers, faulty hardware, or poorly written software.
Like Mark Russinovich, I really hope that Windows Vista can do a better job with helping nontechnical users keep their systems running smoothly and help them diagnose problems more effectively. I’d love to see some of the people selling snake-oil “optimizing” products go out of business.

