I've done surgery on the Windows registry more than once to fix installation problems, so I know what a mess it can cause.
But I'm still not convinced that a central repository of system information isn't sensible. In Mac OS 9 and earlier, the desktop database was a central repository of application information. It made the Finder efficient. Maybe its nicest feature was that, when the desktop database was trashed, you could simply rebuild it.
Even directories under /Library are central repositories. They just happen to contain separate files, many of them XML files, rather than a single system-maintained binary version of the same information. Either way, it's a huge tree-structured set of keys and values and any application has permission from the operating system to write to the files there.
What I'm starting to believe is that the Finder's desktop database taught us a lesson. Have each application keeps its information in a private place, and have the operating system collect a cache with the same information, as opposed to letting each application update the central files directly. That way, the operating system has everything it needs in one place (good performance), the O.S. has the only code that writes to the repository (safe from application bugs) and you can rebuild when necessary (a way out when things go wrong).
But I'm still not convinced that a central repository of system information isn't sensible. In Mac OS 9 and earlier, the desktop database was a central repository of application information. It made the Finder efficient. Maybe its nicest feature was that, when the desktop database was trashed, you could simply rebuild it.
Even directories under /Library are central repositories. They just happen to contain separate files, many of them XML files, rather than a single system-maintained binary version of the same information. Either way, it's a huge tree-structured set of keys and values and any application has permission from the operating system to write to the files there.
What I'm starting to believe is that the Finder's desktop database taught us a lesson. Have each application keeps its information in a private place, and have the operating system collect a cache with the same information, as opposed to letting each application update the central files directly. That way, the operating system has everything it needs in one place (good performance), the O.S. has the only code that writes to the repository (safe from application bugs) and you can rebuild when necessary (a way out when things go wrong).