Tuesday, October 23, 2007

Should I Use a Registry Cleaner? (Winxp – Vista)

Should I Use a Registry Cleaner? (Winxp – Vista)


Most MVP's dont advocate the use of any Registry cleaners.
Read what Mark Russinovich, co-founder of Winternals and Sysinternals, now a senior Microsoft employee has to say about this.

Question:
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.

Mark Russinovich answers:
No, even if the registry was massively bloated there would be little impact on the performance of anything other than exhaustive searches.

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.

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.

Mark Russinovich wrote:
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


You have these issues with a registry cleaner:
-If an application is installed and used only by one user, a registry cleaner run by another user will remove "invalid" entries in HKEY_LOCAL_MACHINE and disable the application from working by the other user(s);

-If an application is installed by User #1, and used as well by User#2, the registry cleaner operation run by User#1 cannot remove the instances of the application created by User#2.

-On top of these technical issues there is the argument made by Mr. Russinovich: only if the registry cleaner has a sophisticated database of all application software installation registry changes would it have a chance of being safe to use.


So what should I do about the registry then?
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):
http://www.larshederer.homepage.t-online.de/erunt/
It's listed in my freeware selection on http://decomp.110mb.com/ .
A utility such as ERUNT can be used to restore the System hives even if the computer cannot boot.

Be aware that ERUNT has its limitations. There are security barriers to backing up all NTUSER.DAT files in other user profiles from that of the logged in user. ERUNT saves only registry files which are in use by the system. It obtains information about these files from registry key HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ hivelist.
Registry hives not listed there, for example those of other users of the computer, cannot be saved by ERUNT.

Having said that: System hive corruption is fatal for all users. The individual's NTUSER.DAT if corrupted is annoying, but not fatal. ERUNT can save your day!


Installing & Using ERUNT:
http://www.winxptutor.com/regback.htm
http://www.silentrunners.org/sr_eruntuse.html


But I backup my registry reqularly using REGEDIT.EXE !
Oh boy! The backups created by Regedit are of no use to you!

It does not 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. Your re-imported file, 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.

In summary:
There are many registry cleaners out there, many for free.
I've listed some popular ones in my freeware selection.
But dont bother: it is unlikely they are of some help, but they can cause harm!
There are no real benefits from running registry cleaners. Unecessary entries in the registry do no harm. This should not be done on a regular basis and most certainly if done, should not be automated.

Sometimes 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 they are of dubious merit.
If you decide to use a registry cleaner, make sure it creates backups and hope that you can get into Safe Mode to restore your backup!

References:
Mark Russinovich blog: http://blogs.technet.com/markrussinovich/archive/2005/10/02/registry-junk-a-windows-fact-of-life.aspx
XP Myths: http://mywebpages.comcast.net/SupportCD/XPMyths.html

1 comment:

Anonymous said...

Useful information. Thanks.