Where is the best place to store application preferences?
In particular, I'd like to save preferences for a media player such as volume levels and the like. Two candidates spring to mind... file and registry. Which would be more appropriate?
As a follow up to this, I'm also wondering if there are any APIs that aid in creating application specific settings.
Unless someone advises me that this is wrong, I'd like to save stuff either in HKCU... or HKLM/Software/MyCompanyName/MyAppName/Key
for the registry, or in %APPDATA\MyCompanyName\MyAppName\someTypeOfSettingsFile
.
As these seem to be commonly used for such settings, I'd assume that .Net makes it easy to store settings in these locations. Is there a simple high level API that can .Net offer me to read and write settings to these common locations?
Open
settings.settings
in your Visual Studio solution; add an application setting (i.e. change scope from 'user' to 'application').The IDE creates a backing class that you can use in code.
Application Settings
Application Settings Overview
Using Application Settings and User Settings
Application Settings Architecture
The registry should be avoided.
See Application Settings for Windows Forms. Even though it is about Windows Forms, this can be used for other similar applications.
Don't use the Registry without very good reason.