Posted 30 July 2010 - 07:56 AM
NOTE: PIRIFORM STAFF AND FORUM MODERATORS SHOULD REVIEW AND EDIT/REORDER THE FOLLOWING INFORMATION IN ORDER TO ASSURE ITS ACCURACY. OTHERWISE AND UNTIL THIS IS DONE AND ONCE THIS MESSAGE HEADER IS REMOVED BY SAID PIRIFORM STAFF OR FORUM MODERATORS, THEN THE FOLLOWING INFORMATION IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AND IS FOR INFORMATIONAL PURPOSES ONLY.
Piriform staff or moderators will not be editing or modifying this post as it would imply that it was to be followed and had been approved by them.
The post below reflects the poster's thoughts only on how to conduct registry cleaning.
I do have some recommendations with regards to using CCleaner to clean the registry:
If you are not familiar with the registry and are nervous about using CCleaner to clean your computer's registry, then it is a good idea to create a System Restore point just before you run CCleaner to clean your computer's registry. And of course you should let CCleaner export those registry entries to a REG file before you let CCleaner remove them.
Don't clean the registry if you suspect that your computer is infected with a virus and especially if you think that your computer is infected with malware. Why? Because security apps or removal tools for specific malware threats might not be able to fully undo the malware's damage to the registry if CCleaner has deleted specific keys.
A note about how CCleaner's registry cleaner works. CCleaner cleans the registry by using "tunnel down" approach. This means that CCleaner initially examines the more root or higher up keys in the registry for obvious issues. Once those keys are "cleaned" or removed, a subsequent CCleaner registry scan will now tunnel down and find other keys, related to the now removed registry keys, which should be removed. In other words, CCleaner is pretty smart in that it doesn't and won't try to clean everything at once. CCleaner basically throws up a "Stop" sign when it finds invalid higher up registry keys which need to be cleaned first. Once those keys are fixed, then a subsequent scan with CCleaner will tunnel down further in the registry to find related registry keys which now can be removed.
I always run CCleaner's "Cleaner" button scan in order to remove temporary files and other junk from the computer. Let's say you just installed a program. The installer most likely extracted its contents to temporary files and then these temporary files were executed in order to install the program. Once the new program installation is done and the computer has been rebooted if requested or recommended by the installer, then these temporary files are no longer needed and are just taking up space on your computer's hard drive. Thus, click the "Cleaner button" and get rid of the temporary files first, and then click on CCleaner's "Registry" button and scan the registry. The first thing you should notice will be registry entries which have the word or part of the word "temp" in the path. Those are registry entries which are pointing to those now non-existing temporary files. Obviously those entries are safe to remove since the program installer's temporary files no longer exist on your computer.
Have a close look at the registry entries which CCleaner wants to remove. Are some of those registry entries obviously referring to a program which you no longer have installed on your computer? If so then of course those entries are safe to remove. If you are not sure about the entry listed in CCleaner, simply right-click on the entry to view where it is located in the registry. You likely will find that it is indeed under a registry key with the uninstalled program's name or the program vendor's name. It should be relatively straightforward for you to determine that it is indeed safe to remove those entries.
If you are really new to using CCleaner's registry cleaner, then you might want to start off by cleaning only certain things first since CCleaner might present what appears to be a daunting list of invalid registry entries which should be removed, and then progress further. Under the registry cleaning options, uncheck everything. Now let's see what CCleaner finds when you progressively select specific registry items to examine:
Checkmark Unused File Extensions, Fonts, Help Files, Run At Startup, Start Menu Ordering, and MUI Cache
Scan and then zap them since these are very simple things for CCleaner to properly check.
Now checkmark Obsolete Software
Scan and see what is found, if anything. Note that some software programmers occasionally do create registry keys with either nothing under them or with seemingly unimportant information under them. Its a kind of security trick which is sometimes used in order to make sure that the software was legitimately installed by the software's registered owner. CCleaner should find, at most, only a few entries. Simply right-click on each entry in order to see where it is located in the registry and if you recognize a program name or vendor name for software which you know is presently installed on your computer. If this is the case, then in CCleaner you should right-click on the entry and create an exclusion for that particular registry entry. After several years of using CCleaner I have only come across two or three programs for which I have needed to do this. Thus it would be very rare that you would actually have to create an exclusion in CCleaner. 99% of the time you can simply let CCleaner zap any entries it finds in this category.
Now checkmark Installer
A scan with CCleaner will now report any invalid junk found which is related to MSI. Sometimes a program's uninstaller doesn't work correctly and the user is forced to manually uninstall a program. Or sometimes an installer for a program for whatever reason doesn't successfully install a program. The result is invalid installation entries in MSI, and this is what CCleaner looks for. CCleaner simply cleans up the MSI entries without actually affecting the installed programs on your computer. Zap the invalid entries. If somehow and later on you discover that you can't uninstall a particular program because it isn't listed under Add or Remove Programs, simply reinstall the program, reboot, and then you should be able to uninstall it -- unless of course there is some sort of inherent problem with the program's installer or uninstaller. An example of how this issue and invalid MSI entries might occur is after upgrading Windows 9X to Windows XP or Vista, or upgrading XP or Vista to Windows 7, but the user didn't first run Microsoft's upgrade adviser in order to find and uninstall programs which will be incompatible with the OS once the upgrade is done. Likewise Microsoft's upgrade adviser might not identify every program which could be incompatible. In any event and after the upgrade was completed, the user might find that they can't uninstall the older and incompatible program since the uninstaller simply won't run or since the upgrade process literally zapped the program's installer and/or uninstaller! Thus these are the types of issues which CCleaner looks for. Zap them.
Now checkmark Applications and Application Paths and scan for issues
This is another pretty simple thing for CCleaner to check. If you manually moved an application's installed location, at least CCleaner will show you what registry keys you need to edit in order to (hopefully) get the application working correctly! Yet computer users usually don't do silly things like moving folders under Program Files around to different locations on their computer's hard drive. So it is pretty darned safe bet to simply let CCleaner zap any erroneous entries it finds under this category.
Now checkmark Missing Shared DLLs and then scan for issues
If CCleaner lists registry entries for missing shared DLLs, then those are safe to remove unless for some reason you manually moved those DLLs to a different location! Nobody would do that unless they were trying to mess up their computer. Any missing shared DLL entries, if they list a full path to the DLL and the DLL's name, are safe to remove since CCleaner could not find the DLL on your computer at the specified location. In other words, the DLL is gone. This can happen if for example a user simply deleted an installed program's folder rather than running the program's uninstaller in order to remove the program or if the program's uninstaller was poorly coded. In any event, it normally is quite safe to clean these entries -- but there is ONE EXCEPTION, SO READ THE FOLLOWING CAREFULLY:
If for some reason CCleaner simply shows a single entry for the following registry key
yet shows no data or description for the problem, then it is because a program's installer or uninstaller has erroneously changed this key's default value, which should be a string value from empty or "Value not set" to another type of value such as a dword value of 0xffffffff. The installer for one version of Eudora does this, and this is a bug in the installer, and you need to manually fix this issue in your computer's registry. Right-click on the entry in CCleaner and go to it in the registry. In the registry editor's left pane "SharedDlls" should be highlighted. Now in the right pane look at the data for the "(Default)" entry. I bet that it is saying something other than "value not set". Right-click on "(Default)" and click on Delete. That should then restore the data for "(Default)" to "(value not set)". Alrighty. You are done fixing that issue! Close the registry editor and then click the Scan for Issues button again in CCleaner. Now everything should be fine, unless CCleaner now actually finds any missing shared dll entries which should be removed. But note that now CCleaner for each entry will display both the type of problem as well as the associated data for the erroneous entries.
Zap them, but only if CCleaner is showing both the type of problem as well as the data for each listed entry.
Now checkmark ActiveX and Class Issues
Scan for issues and see what CCleaner reports. Sometimes security software will zap unsafe ActiveX controls yet not remove the registry entries for that ActiveX control from your computer's registry. Sometimes a user will manually delete the ActiveX control. I've done this once or twice, particularly with regards to browser toolbars or programs which when uninstalled don't always remove their ActiveX controls. The result is that the registry now contains information for a now non-existent ActiveX control. Let CCleaner zap these invalid ActiveX entries.
Similar issues apply for Class Issues. Again, let CCleaner zap any invalid entries. If CCleaner can't find the programs associated with the software class, then those programs no longer exist on your computer. Zap them.
This is one of those categories in which CCleaner might find deeper related issues once you have zapped the initial invalid registry entries and then run another CCleaner scan. So have CCleaner scan the registry again once you have zapped the invalid entries shown in the first CCleaner scan. That way CCleaner can now tunnel down deeper into the registry and then find other invalid registry keys related to those now zapped ActiveX and and Class Issues.
Now checkmark Type Libraries
Scan for issues and let CCleaner zap any invalid registry entries that it finds.
Well, there you have it! If this was your first time using CCleaner to clean your computer's registry, then you now have completed the process in smaller and easier to understand steps. After completing all of the above, every Registry Integrity category in CCleaner should have a checkmark next to it since you have now scanned and cleaned each of those categories. Now run a final additional scan. It should report no errors. If anything is reported, zap it and rescan again. If that same thing still is reported, add it to CCleaner's exclusion list since obviously a current program is immediately recreating that registry entry. Reboot your computer and of course after the successful reboot, create a new System Restore Point and give it a name such as "Registry cleaned. All is well."
From now on you can simply opt to leave everything checkmarked under the registry cleaning options since in the future the list of erroneous registry entries produced by CCleaner will be relatively short -- unless you have uninstalled a bunch of programs or ActiveX controls (perhaps related to browser toolbars which lots of free software seem to like to merrily install on your computer) or have done a bunch of Windows Automatic Updates which may have updated core software such as .NET framework, before once again running CCleaner. In other words, its a good idea to run CCleaner after uninstalling a few programs and rebooting. That way CCleaner will quickly find leftover entries from those removed programs and the list of erroneous registry entries will be really short and obviously related to the uninstalled programs.