Вы не можете создавать папки в программных файлах, не имея повышенных привилегий (т.е. выступая в качестве администратора) в Windows Vista и Windows 7. Как правило, есть лучшие места для размещения файлов настроек, которые должны быть доступны для записи любому пользователю.
Environment.SpecialFolder.ApplicationData
или Environment.SpecialFolder.LocalApplicationData
- это, как правило, место для пользовательских данных приложения, что, скорее всего, то, что вы хотите.
Разница в том, что в домене ApplicationData
будет размещен в вашем роуминговом профиле и будет использоваться всеми компьютерами в домене, тогда как LocalApplicationData
только для этой машины.
Для домашних пользователей или если вы специально не хотите, чтобы данные распределялись между компьютерами, возможно, LocalApplicationData
лучше. Таким образом, вы знаете, что это не вызовет проблем в домене, если вы в конечном итоге будете записывать в него данные, специфичные для компьютера.
Существует также Environment.SpecialFolder.CommonApplicationData
, который позволяет обмениваться одними и теми же данными между всеми пользователями на компьютере, но, хотя это может показаться удобным, учтите, что любой пользователь на машине может затем изменить настройки программы, которую вы позже запускаете. что может привести к последствиям для безопасности.