If you are serializing the state data of your application, you would usually create a folder in one or more of the so-called system special folders, which you can get by a call to Environment.GetFolderPath
.
You may for example store data with application scope (same for all users) in a folder below the special folder specified by the SpecialFolder.CommonApplicationData
enum (which is C:\ProgramData
on Windows 7 systems).
Data that is specific for the current roaming user (who works on multiple computers on a network), would be stored in a folder below SpecialFolder.ApplicationData
. There is also SpecialFolder.LocalApplicationData
for the non-roaming user.
You may take a look at the Environment.SpecialFolder
enumeration to get an overview.