Helping people with computers... one answer at a time.
Regular maintenance of your computer can help keep it performing well, but some things like software rot, can only be delayed not avoided entirely.
I have an older laptop (about 3 yrs old) running XP Pro w/SP3 and IE7. I was a complete newbie when I first started receiving your newsletter and my learning process has had me installing / uninstalling many programs, applications, etc. Rather than clutter up my hard drive with something I might use only once as a learning tool, or just once in a while, I'll uninstall the program. Then I'll use disk cleanup; search the hard drive for any remaining files or folders; use regedit to delete any registry entries; maybe run CCleaner; defrag; and once every couple of months run a check disk. Knock on wood and lighting a candle to my little shrine of Redmond, my computer is humming right along.
So my question is this: Is my preventive maintenance routine enough, too much, or would you recommend something entirely different? I still enjoy playing with different software but I'm also trying to forestall my laptop's demise.
"Software rot" is what happens to your machine slowly over time as you install and uninstall, and in some cases simply use, software. Settings get left behind, files don't get properly uninstalled, and things just get slightly messy. Eventually it can lead to some amount of instability.
The question is, can it be avoided or delayed, and if so, how?
My take is that software rot simply cannot be avoided. Particularly in the scenario that you outline, where you're actively installing and uninstalling software on a semi-regular basis, it's going to happen.
Why does software rot exist? Primarily because software systems have become so incredibly complex that the changes and decisions required when installing or removing software are easy to get wrong. In fact, "wrong" doesn't even apply sometimes; some decisions of what to do when uninstalling aren't that obvious, which leads to different decisions being made by different vendors.
It would be easy to blame all the software manufacturers in the world for not doing a better job of cleaning up after themselves, or Microsoft for not making it easier to do so, but regardless - it is what it is.
You can minimize software rot by not making a lot of changes to your system, and by following basic internet safety guidelines. That won't eliminate it, but it will likely slow it down to the point that you'll never notice; you'll replace your system for other reasons before it becomes an issue.
On the other hand you might, like the person asking the question, and myself for that matter, be of a mind to occasionally install and uninstall things.
So ... let me tell you the specific steps I take to deal with software rot:
Seriously, aside from normal routine maintenance for other purposes, I do nothing specifically to address software rot. I do accept the fact that in my case about every year or two I'll need to reinstall the operating system from scratch to clear it all out.
So, what about the things that you're doing? Let me take them on one at a time:
Uninstalling things you might use "just once in a while". I wouldn't bother. If you know that it's likely you'll use it again, I'd leave it installed. I might move the desktop or start menu shortcuts to somewhere less obtrusive, but in general if the software's not being used leaving it on disk is typically benign. The only exceptions are software that insist on installing something that always runs on startup. I'd spend a few minutes seeing if those can be disabled, and if not, then yes ... I'd uninstall.
Disk cleanup. You know, I don't think I've ever run the disk cleanup utility, at least not outside of answering someone's question. That being said, it's probably fine to run "once in a while", I just wouldn't take the time every time I uninstalled something. Simply be certain that you understand what it is that it's cleaning up - I have actually heard of people who've not realized that it would clean up some things they planned to keep.
Use regedit to delete any registry entries. I would strongly recommend against this unless you really know what you are doing. It's simply too easy to make a mistake resulting in some unintended consequences. I honestly believe that the cost of having unused entries in your registry is overstated, and one of the reasons that I don't suggest running registry cleaning utilities.
CCleaner. Crap Cleaner (yes, that's it's original name), is a tool that I'll probably be recommending in the not too distant future. I actually trust it more than I do the disk cleanup tools in Windows mentioned earlier. However, much like the disk cleaning tool, it's important that you understand what it is you're cleaning up before you do so. I'd also stay away from the registry cleaning that it offers, for the same reason I avoid registry cleaning in general. And once again, I might run this "every so often", not necessarily after every uninstall. In fact, I might only perform this kind of maintenance if I suspected that it might actually resolve an issue I'm experiencing.
Defrag. I defrag once a week. Not for anything related to software rot (it's not something that defragging would help anyway), but simply for performance. Certainly if you install and uninstall a lot, you're fragmenting your hard drive, but then the same can be said for simply using your computer.
Check disk (chkdsk). There's nothing wrong with running a periodic check disk. Once again, it won't really help with issues surrounding software rot, but if you've been experiencing crashes then a check disk might well clean up some issues that might have resulted from the crash. I'd run it occasionally, depending on how often you're experiencing crashes. Note that I do this not as a way to prevent crashes, but rather to fix up any disk issues that might result from the crash.
So as you can see, the various steps you're taking have their role, just not necessarily as frequently as you might be using them, and perhaps not for the issues you're using them for.
My advice boils down to:
Minimize the amount of change to your system, to the extent that it's practical for how you use your system.
Back up regularly. It's the single most important thing people can do to recover from problems.
Don't spend a lot of time trying to avoid software rot. The steps you take may be benign, but it's often time wasted in my opinion.
Do address issues as they arise with the appropriate tools.
Do expect to reinstall Windows from scratch someday. How soon is hard to say, since it depends on you, your system, and the software you're running.
And finally, realize that this is simply a software issue. It's not about "forestalling your laptop's demise", a you put it, but rather just delaying the day that you'll need to reinstall Windows, and everything else, from scratch.