I am doing research in order to build a proof of concept build for a program that currently uses an ini file for its configuration settings. This change is being considered because currently the ini file is stored in the program's installation directory. The proof of concept is to migrate the ini file into a user configuration file.
This migration alone would not be a concern but the platform we support is also going to migrate to Windows 7. The current system uses Windows XP and uses a write protection system to avoid changes to the system. My concern is that the user configuration file in the default location on Windows 7 will be placed in a folder that will be write protected. This means if the user had to reboot the system ( unlikely given the context this system is even used ) the most recent changes to the configuration file would be lost.
My current thought is to create a custom user configuration file in the same directory we are moving other user create files to. This will allow us to tell the system configuration manager which directories to allow to be change.
I found the following question: How to write to the main exe's .config userSettings section?
My only question based on the accepted answer of the reference question, will I be able to load a custom configuration file, and easily access the Properties ( this is in reference to System.Properties.Default.SomeApplicationSettingName ) of the configuration file?
The only thing I am concerned about is that the user configuration file's default location is hard to locate by a novice computer user. Since the only easily located .NET configuration file is located ( by default ) in the same directory as the executable a given user's ability to modify that file will be in question.
Since this is a proof on concept I have the ability to use .NET Framework 4.0 solutions. One requirement that cannot be lifted is the use of external third-party libraries.