Contrary to popular opinion, the registry isn’t broken.
The registry is just a structured database of information – nothing more, nothing less. Let me explain.
Become a Patron of Ask Leo! and go ad-free!
Why do we have a registry?
Programs (like Windows) need to have some place to store different kinds of information. Providing a common source makes a tremendous amount of sense so that all of these applications aren’t reinventing the wheel.
This is particularly true when you factor in things like security ramifications. The registry provides an incredibly robust security model. That keeps information private when it needs to be.
It also enables features that most home users admittedly don’t care about but corporations do. Things like portability, the ability to migrate your settings from machine to machine automatically as you move around your corporate network.
The registry’s weakness is complexity
There is structure to the registry but at times it really appears completely ad hoc. Even when it’s clear, there’s nothing to really force application writers to use it in the correct way or with the correct structure.
Because it’s so robust, the programming interface to the registry is correspondingly complex. It’s easy for applications to get it wrong and some do. And that’s where some of the registry-related problems start.
There’s actually nothing that forces an application to use the registry. Programs that want to, can certainly use .ini files, the most commonly suggested alternative. Windows itself pretty much must use something more complex because of all of the different and complex scenarios and needs that it’s attempting to address.
Many applications find themselves in a position of choosing to use the registry, because they fall into that same category of wanting to solve the same problems that Windows has already solved using the registry.
It’s really about what’s in the registry
The bottom line: it’s not really the registry that’s at fault here. It’s the data that it contains that can have problems. The data can be wrong, and that’s no matter how it’s stored – whether it’s in .ini files or otherwise. The problems being solved here are complex – more complex than most people realize. In many cases, most of the simpler alternatives just don’t cut it.
Applications are absolutely free to avoid the registry if they want to, and they can still meet their goals. I know of many applications that do.
But no, don’t expect the registry to ever go away.