Bewährte Methoden zum Speichern von Einstellungen

Ich habe eine ziemlich große C ++ - Anwendung (unter Windows, keine anderen Plattformen geplant), in der derzeit alle Einstellungen (auch einige Adressen) in der Windows-Registrierung gespeichert sind.

Dies ist manchmal unpraktisch, da die Benutzer Schwierigkeiten haben, Einträge in der Registrierung zu ändern. Ich möchte, dass die Einstellungen versioniert werden, sodass die Einstellungen immer mit dem aktuellen Code übereinstimmen. Im Moment versionieren wir reg-Dateien, aber Sie sind sich nie sicher, ob alle reg-Dateien auf den Zielmaschinen hinzugefügt wurden. Mit C # können Sie Standardwerte in app.config definieren, vorhandene Einstellungen jedoch nicht überschreiben. Ich weiß nicht, ob es einen solchen Mechanismus oder eine solche Bibliothek für C ++ gibt.

Ich hätte gerne folgende "Features":

Einstellungen können versioniert werdenEinfaches Update auf Zielmaschinen (kann vom Benutzer durchgeführt werden)Stellen Sie sicher, dass beim Update nur neue Einstellungen hinzugefügt werden und keine vorhandenen Einstellungen mit Standardwerten überschrieben werdenEinfaches Ändern der Einstellungen für den BenutzerGleicher Workflow unter Win XP und Win 7

Meiner Meinung nach gibt es drei Möglichkeiten, Einstellungen unter Windows zu speichern:

RegistryINI-DateiXML-Datei

Momentan verwendet nur eine Anwendung unserer Suite Qt, Boost wäre jedoch verfügbar.

Bei Adressen werden sie in eine Art XML-Adressbuch eingefügt, bei den anderen Einstellungen sind wir uns nicht sicher, was die beste Vorgehensweise ist.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage