I'm writing a C# service that I want to be able to use on Windows and Mono. I've just started experimenting with Mono and am trying to determine the best way to store settings to control the service that works for both Windows and Mono.
Settings file where service is installed
- Pros: Same code for each platform, easy to find for editing
- Cons: Permissions, Windows probably won't like writing to the file
Settings file in platform storage (%APPDATA, /etc, ...)
- Pros: Will have permissions, easier to find for editing
- Cons: More coding required to handle each platform
Small database (SQLite maybe?)
- Pros: Easier to write code to store and retrieve settings
- Cons: Not easy to edit manually, same problem of where to store
Which do you think is the best, or do you have a better suggestion?
I will also probably be writing a command line client to allow for easier changing of settings, will this change how settings should be stored?