4 ms·
> The Registry is the reason why you need an installer instead of being able to drop application files into a directory and run them. You can drop a program in
by pie_flavor 4y ago
> The Registry is the reason why you need an installer instead of being able to drop application files into a directory and run them.
You can drop a program into a directory and run it. If you want it to integrate with the OS or DE, you need an installer to configure it in the centralized location. No difference there between Windows and Linux.
Furthermore, the specific aspect of it you reference (that it is binary instead of textual) has almost nothing to do with the problems you say are caused by it (that install scripts need to add keys to it, or that obsolete keys are retained and third party scripts clean them up with heuristics). None of that would change if it was INI. A binary configuration format has nothing to do with the architecture of what it is used to configure.
If it was truly a terrible decision then they would surely have not recreated it with Windows Phone, which had no win32 components that would have depended on it and no win32 API compatibility at all. But they did.
I suspect the reason non-Windows people don't like it is just that it is a pure expression of Microsoft's API-oriented (as opposed to file-oriented) approach to Windows, which does not mesh with the *nix mindset.
- deleted 4y ago[deleted]
- formerly_proven 4y ago> Furthermore, the specific aspect of it you reference (that it is binary instead of textual) has almost nothing to do with the problems GP most likely means REG_BINARY littered over the place which usually means the application in question is dumping some struct into the registry.
- londons_explore 4y agoIf an application is storing 'private' data that it doesn't expect to be modified by humans or any other application, then storing a struct straight into the registry seems appropriate. It's the same as the application making a temp file to store some random state. Except a registry entry is probably more efficient for something that's under a kilobyte typically.
- eternityforest 4y agoIt's still nasty. Structs are brittle. They aren't easy to inspect when doing some forensics on a bug. It makes it harder to extend the program when you are fussing with version number fields and multiple formats. INI or JSON or something can make life a lot easier, at least in high level GCed languages.
- nicce 4y ago> You can drop a program into a directory and run it. If you want it to integrate with the OS or DE, you need an installer to configure it in the centralized location. No difference there between Windows and Linux. This applies only for minority of the programs. There are many programs which simply refuse to work or crashes because some entry is missing from the registry.
- dogma1138 4y agoThe minority of programs actually do the latter, and it’s not about the OS but about the fact that the program was designed to be reliant on the registry.
- nicce 4y agoOf course it is the fault of program, but as design registry is thought to be always there, self-evident, so it is partially the problem. It encourages to rely on it totally.
- dogma1138 4y agoIt doesn’t mean that it’s used correctly. The registry is intended to be used for interacting with system configuration or for system wide settings. E.G. registering a new file extension or a URI scheme. It’s not an application data store that’s what appdata is there for.