OK, so is it safe to use a registry cleaner? Or, are they a no-no? Thank you.
Mark Russinovich (Author of the “Bible”, Windows Internals, co-founder of Winternals and Sysinternals, and since both companies were bought by Microsoft, now a senior Microsoft employee) was asked:
Hi Mark, do you really think that Registry junk left by uninstalled programs could severely slow down the computer? I would like to ‘hear’ your opinion.
His reply fairly captures my own view (quoting Mark Russinovich):
No, even if the registry was massively bloated there would be little impact on the performance of anything other than exhaustive searches (ed. of the registry itself).
On Win2K Terminal Server systems, however, there is a limit on the total amount of Registry data that can be loaded and so large profile hives can limit the number of users that can be logged on simultaneously.
I haven’t and never will implement a Registry cleaner since it’s of little practical use on anything other than Win2K terminal servers and developing one that’s both safe and effective requires a huge amount of application-specific knowledge.
To which you can add the additional problems: Applications installed on a machine that is used by more than one person can creates entries for each user in their private registry store: HKEY_CURRENT_USER. Because registry cleaners (and REGEDIT.EXE) operate under SYSTEM permissions with the logged-in user security token, they cannot access these other registry entries.
Again, quoting Mark Russinovich:
Uninstallers typically delete their application’s system-wide settings from the HKEY_LOCAL_MACHINE part of the Registry and any per-user settings of the user running the uninstaller from HKEY_CURRENT_USER. But what happens to the per-user settings of the other users that used the application? You guessed it, Registry junk gets created – and possibly file system junk in the application’s Application Data folder in the Documents and Settings directories of other users. An uninstall is only thorough if the user performing it is the only one that used the software.
So you have these issues with a registry cleaner:
Though the Microsoft Knowledge Base has a lot of articles on how to repair the damage created by using these utilities.
Will using Registry Cleaners speed-up my system and make it more reliable?
It will have no effect on system speed. There is an excellent chance it will make your system less reliable.
So what should I do about the registry?
The best thing you can do is to enable System Restore and add to your Autostart applications a registry backup. Strongly recommended for this is ERUNT (freeware):
[ERUNT] Registry Backup and Restore for Windows
[ERUNT Download URLs]
[Installing & Using ERUNT]
But I backup my registry reqularly using REGEDIT.EXE
You might as well not have bothered, the backups created by Regedit are of no use to you.
Neither does it export the whole registry (for example, no information from the “SECURITY” hive is saved), nor can the exported file be used later to replace the current registry with the old one. Instead, if you re-import the file, it is merged with the current registry without deleting anything that has been added since the export, leaving you with an absolute mess of old and new entries.
Are software registry cleaners of any use?
Fred Langa started with a standard PC, imaged it, and ran 10 registry cleaners. He ran each three times on an image:
Highest number of items that needed to be “fixed”: 800
Lowest number of items found to be “fixed”: 59
Does not this suggest that what needs to be fixed is not at all certain?
The other question it invites is it not possible that those generating a large number of entries are trying to sell snake oil? See this small discussion that prompted Langa to test. Quoting letter to Fred:
What are your thoughts on Registry Programs? I have run five different programs on the same computer, without making any of the recommended changes, and get the following results:
Registry Repair from Stomp — 732 errors
Registry 1st Aid from Rose City — 73 errors
Registry Mechanic from PC Tools — 18 errors
Registry Medic from Iomatic — 50 errors
Easy Cleaner from Toni Arts — 36 errors
No, that’s not an error; Stomp did return 732 errors. Best Regards, John
Mr. Langa answers: There are several reasons for the disparity in those error counts. First there’s the matter of simple semantics: At one end of the spectrum, there are Registry errors that — if not corrected — may make a system unbootable or unstable, or that may cause some of your software to crash or to malfunction. But at the other end of the spectrum, there are trivial, transient Registry items that are intended for short-term use, that harm nothing when they go out of date, and that are ultimately self-correcting via normal Windows housecleaning. Naturally, counting these latter as “errors” drives up the count and lets a given piece of software generate impressive-looking stats; but removing those “errors” doesn’t mean much in terms of a real benefit.
I cite the article so that you can read it in full: http://www.informationweek.com/LP/showArti…&queryText=
But back to Mr. Langa’s testing. One reason for testing each cleaner three times was as a credibility check. If you run the same cleaner three times consecutively, it would be a fair assumption that the results should be nearly identical each time. It would be hard to make a credible case for using a product that changed its mind about what was a registry entry to be cleaned if run three times as a test. As Fred explains:
Doing immediate second and third runs with each cleaning tool was to see if any of the programs under test were fudging their numbers by over-reporting errors. For example, if a tool was really doing what it said it was, it would find and fix all the errors it could on the first run. Immediate subsequent runs should show essentially zero errors, because they all were fixed on the first run, right?
But if a tool still reports a significant number of errors on the second and third runs, you might wonder what was going on: Why couldn’t the tool find and fix all the errors the first time? Is the tool introducing new errors as it runs? Is it fudging the numbers to make you think it’s doing more than it really is? Is it reporting as “errors” some things that really aren’t errors after all?
At the least, it seems to me that a good Registry cleaning tool should report a stable, repeatable, and very low number of errors on back-to-back repeated runs. To me, a tool that can’t get the number of reported errors down to a stable, low minimum number on repeated runs either isn’t fixing things right, or isn’t analyzing them right in the first place. Your mileage may vary, but I tend to stay away from tools that act this way.
With apologies to Fred Langa, my summary of his test results:
The fact that your own results will likely vary is even more cause of concern. There simply is not a reliable way to test if a registry entry is valid or not. This requires a trained eye and not an automated tool. Langa cites the worst possible case for registry trash: a computer upgraded from Win98 to XP. The computer received regular scans from Norton’s “WinDoctor” and ToniArts “EasyCleaner.” When given to a group of XP experts, they manually removed over 3,000 entries.
Summary of Registry Cleaner Software:
Do not bother with this. It it unlikely to help, it can cause harm.
There are no end-user benefits from running registry cleaners. Unecessary entries in the registry do no harm. This should not be a regular maintenance chore. It most certainly if done should not be automated.
I hold to the singular distinction I made in the beginning: there are times that a fast registry editor with search is needed to fix a single issue under Expert hands. There is no justification for the regular use of automated registry cleaning tools; and as the results above show, they are of dubious merit as the “fix” for even one-off problems that need solving.
MS-MVP, AumHa VSOP, DTS-L