I used to use a very handy free program from a guy named Juoni Vuorio, named RegCleaner.
Whenever you install & then uninstall software on Windows, there is a fair chance that anything from a little to a huge amount of useless data is left behind in what is known as the Windows Registry.
Over time this has the effect of slowing down the machine, a registry clean-up can then speed things up somewhat. Occasionally, erroneous data caught up in the registry can cause more serious errors such as files opening up in the wrong programs or worse.. again a registry cleanup can sometimes restore the system to normal operation.
Unfortunately Juoni Vuorio's old RegCleaner program, which operated perfectly on Windows XP for many moons, is no longer as reliable. Microsoft have changed the structure of XP sufficiently, and pushed the changes out to many machines via Windows Update, such that RegCleaner needs somewhat of a rewrite to work properly on modern systems.
All is not lost however - it seems that Juoni Vuorio is now under the name 'JV Power Tools', and has provided an updated program that does a very similar job: RegSupreme.
Although it comes in a pay-for pro version, there's also a basic version which has a very usable, non-hobbled, long trial. And, it's fairly cheap even if you do want to use it longer than the trial.
RegSupreme is available at:
http://www.macecraft.com/regsupreme/
Do take care with the more extreme settings. If you select the 'Aggressive' mode and leave all the checkboxes checked, you might wipe out things like email settings. Best to use it conservatively, make use of the 'backup' facility & make sure you read carefully what all the options do before hitting 'go' - it's a fairly powerful program

Hope it helps someone

ps.. as far as I know it's useable on Vista, but I've never tried it on that OS - maybe someone can post if they know for sure?