Q:

What is the "Standard" way to store application state for windows mobile applications?

I am developing my first windows mobile application and would like some guidance on the best way to save and restore application state between invocations of the applications.
My application will have a small number of properties, between 10 and 20, that I wish to store when I exit the application and restore when I restart. 
My options for doing this would seem to be as follows :-

Marshall in and out of XML
Use a SQL Server 2005 Compact edition database
Use a properties file with key-value pairs
Use the registry.

What would generally be considered to be the standard/best practice way to do this?

A:

If you want to be able to edit the settings while your application is not running, then the key=value file makes the most sense. 
But if you don't care all that much about having your settings be a text file, a really quick and cheap way to do it is to put all of your settings into a struct and then just write that struct to a file when your app quits and read the struct back into memory when it starts. 
An even slicker way to do this is to to use 
CreateFileMapping to map your settings file into memory in your applications.  When you do this changes are automatically written back to the file whenever the struct is changed, so all you have to do is Close the mapping object when your application exits. 
If you go this way, you should probably put a header on the structure so that you can detect version changes in the structure. 

