2013-04-29 4 views
41

Мне нужно сохранить некоторые пользовательские данные конфигурации для моей программы. Оба приложения Data/AppData (в каталоге пользователя) и ProgramData (в корневом каталоге системного диска) кажутся подходящими местами для его размещения.В чем разница между ProgramData и AppData?

В чем разница между данными программы и данными приложения и какой я должен использовать?

ответ

2

Я думаю, вы должны поместить все конкретные пользовательские файлы в AppData, поскольку он находится в

C:\Users\UserName\AppData 

и Programdata не является специфичной для пользователя. Он может использоваться, я думаю, для обмена данными вашей программы при использовании разными пользователями.

see this stackoverflow question

49

Выражаясь прямо, ProgramData содержит данные приложения, которое не конкретного пользователя .Это данные, которые будут доступны для всех пользователей на компьютере. Любые глобальные данные следует вводить здесь.

В папке AppData содержатся параметры конфигурации, загружаемая информация/файлы для определенного пользователя. Так, например, любые пользовательские настройки и конфигурации профиля могут быть сохранены в папке AppData. Папка AppData далее разделена на три подпапки
Роуминг - Эта папка содержит данные, которые могут перемещаться с вашим профилем пользователя с компьютера на другой.
Local - Эта папка содержит данные, которые не будут перемещаться с вашим профилем пользователя.
LocalLow - Вы можете добавить информацию о низкоуровневом доступе, такую ​​как информация, связанная с веб-браузером, работающим в защищенном режиме в этой папке.

Теперь вы можете решить, в зависимости от типа информации, которая была бы лучшим местом для ее хранения.

Справочные ссылки: Windows CSIDL и AppData

+0

Где должен лог-файл, созданный программой установки идут? Это звучит как конкретное приложение. Но это также звучит как пользовательский, в то же время w.r.t. пользователь, который запускал установщик (особенно, когда он использует опцию «Только установить для меня» во время установки). Почему пользователь, который не запускал программу установки, заботится о соответствующем файле журнала? – RBT

+0

Ваше определение Local и ProgramData звучит одинаково, хотели бы вы уточнить – Epirocks