Re: Yeah
Are you under the impression that the nature of the registry is fundamentally different?
They are both key-value stores, broken down by a section. Sure, the section is represented by a tree now, but there's nothing stopping a section called:
[HKEY_LOCAL_MACHINE\Whatever]
The same as anything else.
The fact is that the registry is opaque, proprietary, not easily edited, not documented AT ALL in any kind of depth, and the very basis for everything from driver .inf files (cough...) to MSI install scripts (cough...) to group policy templates (nothing more than lists of registry keys with "nice" text).
The problem with the registry is that there is no failsafe, default, rollback, etc. for many things. If you hit the wrong thing, you can stop Windows booting. That's just ludicrous. In some cases there is literally NO CHOICE but to registry-edit to remove things (e.g. stale network printer entries - you think you can do it with command-line tool, print-management, etc.? Think again) but the documentation of what each section - even under Microsoft Windows - even does is completely absent or opaque.
The only advantage of the registry over WIN.INI is per-key permissions. But even that's a misdirection as if you have access to the registry then you're only a short path away from causing havoc anyway, same as you shouldn't ever have let ordinary users edit WIN.INI
To be honest, gconf is basically the same thing on Linux distros, etc. But there's a reason that most config in /etc/ is still in plain-text single files.
There's nothing wrong with having a central registry, as such. It's just entirely misused, completely misorganised, doesn't have effective control/rollback (it just keeps a copy, which is entirely useless), and has never been documented to any significant extent. Things like \Software are pretty much a free-for-all, like My Documents has become.
Personally, I think that each application should have a "registry" for each user that runs it. Get rid of those horrible NTUSER.DAT files in the user profiles. Isolate all the application settings away from things like Windows internals. Isolate one user's settings from everyone else's (without having to dig into user SID's etc.). And if you want to clear someone's, say, Chrome settings, just wipe out Chrome.reg in that user's profile folder.
But, to be honest, I want to move all that stuff into a single file per application too. There's no need for everything to access My Documents, make its own folders, spread into Application Data, add registry entries, etc. etc. etc. When it comes time to remove or find things it's a nightmare. One file, per application, inside a user's profile. You can have one file, in a "computer" location, that overrides that if you want.
The registry is a mess, but not because of it's storage format. Because it's completely unmanaged and undocumented.