'Nuther registry cleaner on GOTD, which means there's a bit of disinformation floating around the comments, much of it inspired I'm sure by some horror story or another, some darkest tale of Windows gone Bad. Truth is, no matter what you do the registry, no matter what you do to Windows, as long as you can put things back, No Worries. In fact that's actually the first thing anyone should master with PCs of any sort, creating/restoring registry & hard drive backups, simply because stuff happens. Mastering backups is incredibly easy, & from then on you don't have the fear that you'll be like someone who tears apart the washing machine or car with no hope of getting anything assembled again. :-)
That said, I wanted to take the time to try & clear things up a bit about Windows' registry, as always in case it helps...
About...
Working with Windows' registry may not ever be fun, but it doesn't have to feared either. Windows' registry is just a list, in database form, which Windows & optionally software uses for central data storage, e.g what fonts are installed & available, what video codecs, what app opens what kind of files when you double click them & so on. It's an alternative to using individual configuration files. When you run software Windows reads from the registry constantly -- Process Monitor, a SysInternals app will show just how much & how often. Windows will also write values to keep track of history etc. If you work with the registry you'll mostly remove extra entries that aren't needed, & you'll remove or edit entries to turn software off -- less often, & maybe more so with games, you'll edit values to configure how software behaves. Because it's just a list, Windows' registry rarely causes problems on its own -- most problems are caused by files -- though the registry may get involved turning software features on/off, telling Windows to use whatever files, &/or starting apps/services.
The hardest part about working with the registry is that unlike individual configuration files [*.ini, *.xml etc.] there's no way anything can be commented, & while some names make sense, so you can at least make a very solid guess at what they control, most don't. Windows' registry is divided up into 5 sections which are sub-divided into many more keys, which themselves are sub-divided & so on... when you look at the registry in Windows' Regedit [type regedit into the Start Menu Run box & click OK] Keys look like folders in a view similar to the tree in Windows' Explorer, while values [if present] use an icon to reflect which of 5 types of values it is. Double-click or right-click a value to edit it, right-click a key to export it to a *.reg file, which is how you backup, save, or transfer registry keys from one Windows install to another -- double click or right click a *.reg file to merge it into the registry. Those *.reg files are simple text that can be written, edited, & saved in Notepad, though you have to watch or Notepad will save them as *.txt rather than *.reg files -- it's only a minor anoyance to re-name them.
When it comes to changing registry keys/values, a sometimes hassle in win7 is that certain sections of the registry are protected, though those aren't keys you're likely to edit anyway. Still, if you need to change them use the right-click menu -> Permissions... -- sometimes you just need to give a group Full Control, while other times you need to click the Advanced button & use the tabbed dialog that pops up to take ownership. Most always I've only had to do this with driver related keys, & I wanted to delete them, so any concerns about reducing security were moot. The reason I mention it is because I have had apps create protected keys where maybe they shouldn't, & since they were protected, a newer/updated version wouldn't, couldn't install. Another thing to remember is that changing some keys will not make an immediate difference -- Windows' has to re-start so it reads the registry fresh. And since Windows is using it, you can't replace the registry while Windows is running -- restoring a backup for instance has to happen during a re-boot. System Restore will backup/restore the registry in win7, but in XP [& to a lesser extent Vista] don't count on it. A free app called ERUNT works great for registry backup/restore, but read up on the caveats with win7 from the app's web site, & realize that in win7 data is spread out a bit more, not contained only in the registry, so after restoring a registry backup in win7 you might experience a few minor glitches... in win7 it helps if/when the ERUNT backup is as fresh as possible, so don't skip creating a fresh backup to use one you made several hours ago. Another tip, regardless the Windows version, update your AV apps Before doing an ERUNT backup -- I don't know how every AV package works, but I had a problem where McAfee had updated its files, but the old registry entries from the backup didn't reflect those newer files, so McAfee would neither work nor update.
Why some like to clean the registry...
Every version of Windows has been open to abuse -- understandable since developers want their code & devices to work, & the best way to do that is not always by following Microsoft best practices or rules. And often enough the people writing code screw up, perhaps through laziness &/or deadline pressures or maybe they're just less skilled. Windows registry is one of the parts of the OS that's most abused, though the effects of any abuse & neglect are usually confined to bloat, to growing the registry rather than causing any problems. That may seem counter to some experiences you & others may have had, but in most all cases it's software that cause's problems, & the registry's only role is to turn it on or off -- many times [a notable exception is drivers] you can either get rid of the offending file(s), or get rid of whatever registry entries so Windows doesn't know that file or files exist.
Is registry bloat a problem? I don't think that's an easy yes or no. Using Notepad open a 1 KB *.txt file & then open one that's 20 MB, or 40... it takes longer to open the bigger file, because Notepad & Windows have to do more. Search for a non-indexed filename in a folder with a dozen files, then try the same thing with a folder containing hundreds or thousands... again it takes longer to do more. Simple logic dictates that the smaller Windows' registry is, the fewer keys & values it contains, Windows will do some things faster because there's less for it to do. A related, potential benefit to keeping the registry lean concerns leftovers, registry entries (&/or actual files) left over after you've removed an app. Software you have installed today may be just fine, today, but conflict with software or updates you add tomorrow. It's one thing to deal with it when you want to use a conflicting app, but entirely another when your problems are caused by leftovers that shouldn't be there in the 1st place. Not every app will conflict with other software -- most apps don't -- but the more you have, the more you have to go wrong. That includes leftovers. But like most everything else in life, the key IMHO is moderation...
You can keep the registry & Windows itself lean by not installing software, but running software is the whole point of Windows, isn't it? You can spend all sorts of time & effort weeding out leftover files & registry keys &/or values, but it's hardly worth it if you spend far more time/effort cleaning up than you'd ever spend fixing things if you do have a future problem, & that can be a pretty big IF. Microsoft knows the registry is in some respects Windows' Achilles heel, so Windows is pretty darn good at handling its inefficiencies. The flip side of that is you have to remove a tremendous amount of registry entries to just make a noticeable dent in the registry files' total size, & by noticeable I mean noticeable in Windows Explorer, e.g. a few MB shaved off of a total >100 MB.
Cleaning the Registry...
Cleaning up the registry can be as simple as looking in the Software sections [under Current User & Local Machine] & deleting a key or keys with the same name as an app you just uninstalled. Going a step further you can search [Find] on the app's name &/or the name of it's program folder -- remember the name of that folder, or note it somewhere before you uninstall in case it's deleted [like it should be]. More thorough yet, you can save any CLSIDs [e.g. "{00000000-0F56-11D2-9887-00A0C969725B}"] you find in keys/values you know belong to that app, & search using those CLSIDs. The downside is that the deeper you go, the greater the odds you can screw up, deleting something you shouldn't. Deleting a Software key with an app's name is little or no risk. Say your search finds a key under HKEY_CLASSES_ROOT\ CLSID\ that looks like my example: {00000000-0F56-11D2-9887-00A0C969725B} -- click [select] that key in the left pane of Regedit, & the 1st value in the right pane might tell you that key belongs to the app you removed... it's pretty safe then to delete that key. In some cases though that 1st value may not tell you anything meaningful, e.g. it may be blank, so you have to look for something like a sub-key named "InprocServer32" -- If it shows the filename & path for one of the files you uninstalled, again you're normally safe deleting that entire key, e.g. {00000000-0F56-11D2-9887-00A0C969725B}. If however you find another app, or a file belonging to another app listed anywhere in a key, it's safer to just delete any values that specifically refer to the app you removed or one of its files.
Generally you want to stay away from anything listed under HKLM\ System\ unless you've got a bit of experience & are comfortable working with drivers. Many drivers start with Windows, they may make hardware work &/or provide services, & if something related to them is off, Windows may not start. You may not even be able to get to Safe Mode. If you can boot to at least a command prompt, using something like the repair console on Windows setup discs, you should be able to restore an ERUNT backup of your registry -- that's why I regard ERUNT as essential. Autoruns can be cool to turn off drivers/services, & if Windows doesn't try to start them you have better odds deleting driver/service registry entries &/or files, but it's not foolproof. Stuff happens -- be able to put things back as required... Back Up.
Note that you should click the View menu -> Refresh [F5] occasionally in Regedit, as keys/values in HKCR\ CLSID\ for example are propagated throughout lower levels of the registry, so if you delete one, search may throw an error because it can't find the key that Regedit thinks should be there. Note 2: while you should back up the registry as a first step, I often export individual keys I'm unsure of before deleting that key, & I'll often make multiple ERUNT backups as I proceed during a longer cleaning project -- it's the same idea as doing multiple save-as while editing an image or similar project, where you might want to go back, but not all the way to the beginning.
Registry cleaning software essentially will look for things like a file name &/or path that doesn't exist on your hard drive. They'll look for things like a CLSID in the app's key that isn't also in HKCR\ CLSID\ for example. Many also look for things like file name extensions, e.g. .txt, only ones that don't list any apps or files in their values. IOW it's like finding bad shortcuts, where whatever the shortcut pointed to is no longer there. One problem is that registry cleaners don't have your smarts, your capacity for reason, so if they find an app's missing from your hard drive but listed as a value under some "InprocServer32" key, they'll delete just that entry, leaving every other part of that key intact -- you're smart enough to figure out if you can delete the entire key, which may have several more sub-keys, plus values inside of those. Another problem is that the kind folks writing software code don't always do things the way others expect them to, e.g. a CLSID listed in a program's key may be there strictly for that program, appearing nowhere else in the entire registry... a registry cleaning app might say that doesn't appear under HKCR\ CLSID\ like it should, so I'm going to delete it. Oops, just broke that program.
That does not mean registry cleaners aren't useful -- it means you should *ideally* review what they want to get rid of. Registry cleaners that let you jump to any flagged registry entry in Regedit are obviously preferred. But this is real world, which is seldom technically ideal, and you may not want or be able to spend all the time it would take to review every flagged entry. In those cases deleting hundreds or thousands of registry entries might be cool, regardless the fact you could probably do better, but please realize that if you have the time or inclination to do a better job later on, with uninstalled app names/paths now removed, you'll most likely never find those keys to remove them entirely. And like I said above, it is a bit of a crap shoot -- if a registry cleaner deletes something an installed app needs, it's likely now broken. Do back up.
Related to registry cleaners, Separate Uninstaller apps often function two ways -- they may record installations &/or they may perform registry searches looking for any reference to an application's name. They also lack your smarts, so if an uninstall app finds an app's name mentioned it might delete that entry, but can't look at the rest of the key -- you can, & might very well find you can delete the whole thing. Recording installations is great, but using that recorded data for *automated* uninstall can be iffy. Some files will work side by side with other files, & sometimes only one file at a time can do one job -- I can use 2 mice & a tablet with this PC, but I can only use one at a time. When you install an app, one or more of the included files might take over a job or jobs that were previously done by another file or files. If you remove those files, or the registry entries that turn them on, tell Windows to use them, what's left to do their job? What takes their place? Hopefully whomever wrote that app's uninstall routine took that into account. A stand-alone uninstall app that recorded that install OTOH, will tend to leave all sorts of stuff behind, a sort of overkill approach to try and make sure that sort of problem doesn't happen to you. It may remove too much or too little, depending on the app itself as well as the app it's uninstalling.
An easy to use approach I often take is to monitor installations using Regshot or Regshot2 -- Regshot2 works with 64 bit Windows. Both take before/after registry snapshots [they'll optionally do files/folders too], saving the comparison results, & I'll store a copy of those results in the folder alongside the app I just installed. If later I want to uninstall that app I 1st copy those logs somewhere else, do the uninstall, then check the registry based on those logs, looking for leftovers. The logs show what new entries were created, & while those are usually fairly safe to just delete, I compare them to the current keys/values to see if they're the same, to help make sure some other program hasn't taken over that function. What the logs show as changed registry entries are more iffy -- when the app I just removed took over a job from something else, I need to make sure either the needed files are still there & working, or put things back the way they were. And as always when editing the registry, I back up.