>A binary file is significantly faster to parse and search then a big-ass text file.
Yes, but compared to the registry .ini files are only a fraction of the size. They may contain at most a hundred or so config items (and that's pushing it) versus thousands or tens of thousands. They're also cached (or should be) so it's a small hit on app open, then memory all the way.
>The registry also has a minor benefit that you can guarantee the syntax is valid.
I'll give you that. Strong typing is good.
>Apps are free to do whatever they want including writing .ini files... that soo many have chosen to use the registry for configuration should speak for itself.
Not really, especially after Microsoft recommended it and the Microsoft Certified program required it. I mean there was a whole book from MS Press about the registry. It made terrible toilet paper too.
>Configuration store is automatically safe against concurrent access..try rewriting a .ini file by multiple apps at the same time and let me know how it goes.
Why would I ever do that on a client? Remember, with the .ini setup, each app had it's own .ini (or several). If it was multi-user, each user would have an .ini file for their personal preferences.
>Today bulk registry operations can be fully transactional thanks to windows KTM.
That's fair, but if I need something to be transactional, I'll use a database. Drop a simple Access database with a table or two and you're golden for a stand-alone client app.
>Security ACLs per entry. .ini file security as far as the operating system is concerned is for the whole file.
That's fair, but it doesn't seem to be preventative. A lot of viruses attack the registry. All it takes is a user to click "OK."