Если это небольшой, довольно простой блок данных, вы можете создать сериализуемый класс XML и очень легко записать его на диск при завершении работы и прочитать его при запуске. Для достаточно простого класса вы можете просто добавить атрибут [Serializable] , и XmlSerializer автоматически узнает, как его сериализовать / десериализовать.
Если у вас достаточно данных, чтобы база данных SQL лучше подходила, посмотрите SQL Server Compact Edition или System.Data.SQLite привязка для SQLite .
Оба позволят вам создать базу данных в виде одного файла без необходимости устанавливать какие-либо дополнительные службы Windows или что-либо настраивать. System.Data.SQLite даже не нужно устанавливать - он полностью содержится в .dll, на которую ссылается ваш проект.
В любом случае, наилучшее местоположение для файла, вероятно, SpecialFolder.CommonApplicationData - Я думаю, что это в конечном итоге C: \ ProgramData \ в Vista, но избегает необходимости жесткого кода точного пути. *