Папка ProgramData: для чего и что внутри?

В версиях Windows, начиная с Vista, папка ProgramData находится на системном томе и скрыта от глаз пользователя. Так что, для того чтобы на неё (как и на некоторые другие здесь описываемые) взглянуть, придётся настроить систему на показ скрытых файлов и папок. В ней, как и в других местах, программы хранят свои данные. Расположение данных в Windows вообще зависит от того, как, грубо говоря, программисты “накодировали” свою программу, которую вы впоследствии установили.

папка programdata

Какие места используются программами для хранения данных?

Их несколько. И, помимо специально приложениями создаваемых, главными являются следующие:

  • Application Data  и AppData – большинство программ хранят свои данные именно в них в одноимённых папках этих субдиректорий. Находятся по адресу:

C:\Пользователи\имя_пользователя

Однако их содержимое может быть вам недоступно из-за ограничения в правах, даже если вы являетесь администратором (потому то их и две!). При попытке открыть одну из папок вас может встретить такое окно:

отказано в доступе

Это поправимо, и впредь, чтобы проблемы с доступом нам не мешали, советую обратиться к статье Как получить полный доступ ко всем папкам Windows или воспользоваться специальной программой типа (доступна лишь для английской локали) Junction Box. В первом случае представлен небольшой код, который позволит получать доступ к папкам прямо из контекстного меню (пользоваться аккуратно!), вторая специально создана для корректной работы рекурсива всех сканирующих эту папку программ.

Как видите по адресу, сколько пользователей в системе, столько и будет папок Application Data с характерными для конкретного пользователя настройками. Это же правило касается и схожей с ней папки AppData. Ну, что с чем схоже, мы сейчас с вами проясним…

В чём, кстати,  между ними разница?

Почти никакой. Причём именно AppData является прерогативной при сохранении приложениями своих данных. Одновременное их (папок) присутствие не означает дублирование находящихся в них данных. Просто некоторые из них могут быть доступны для прямого изменения, а некоторые – нет. В сущности наличие папки Application Data – некий артефакт, и папкой она … не является. Это лишь путь, проложенный проводником Windows, своеобразный узел, указующий на родительскую папку. Почему? Вот вам небольшой прикол или своеобразный Windows-баг (обратите внимание на путь в строке адреса):

бесконечная Application Data

Если вы не поняли суть этого “фокуса”, ознакомьтесь со статьёй Символические ссылки Windows: утилита mklink.

Но ладно. Что мы имеем в Windows:

  • Мои документы – эта папка была создана специально для хранения доступных для редактирования файлов программ. Мои игры, My games – в них предполагалось складировать точки сохранения, карты, настройки. Но разрабы идут своим путём, просто создавая свои папки в вашей системе или пользуясь указанными выше.
  • Реестр – ещё одно хранилище, без которого настройки программ не только сохранятся не будут, но и вообще работоспособность программы окажется под вопросом. Здесь настройки для программы и глобальны, и персонифицированы для каждой учётной записи. Но здесь хранятся именно настройки – объёмные файлы Windows хранить в реестре не разрешает.
  • Program Files – удивлены, что папка не в начале списка? Для ОС Windows предыдущих поколений хранение в этой папке данных полностью было правилом. Но не сегодня. Да, тело приложения при установке попадёт, скорее всего, сюда. Но вот персональные настройки, важные для обеспечения безопасности системы, будут храниться там, куда даже вы не всегда способны попасть. Начиная с Vista, Windows принудительно ограничивает разрешения сторонних файлов для записи и перезаписи в системные папки.

Так зачем нужна ещё и ProgramData?

Очередное хранилище с той лишь разницей (в отношении AppData), что здесь хранятся данные, доступные всем учётным записям системы. Так сама Microsoft и заявляет. В Windows XP такой папки, к примеру, не было. Данные хранились по пути:

C:\Documents and Settings\Пользователи\Application Data

Так вот, чтобы нужный только вам файл (какой-нибудь словарик к программе, к примеру) в папке Application Data не хранился, он скачается в Program Data. Чтобы все пользователи системы могли им затем воспользоваться.

На самом деле эти правила прочно не закреплены. Приложение вправе записывать и хранить данные в соответствии не только с правилами распорядка Windows, но и своими настройками: это удел настроек безопасности. Антивирусы часто хранят логи, карантинные папки и другое в местах “общего пользования”.  Но в любом случае, хотя папка ProgramData и является продолжением Application Data, мысль не складировать все данные в одной папке не так уж плоха.

Папка ProgramData : там есть что-то важное?

Как вы уже поняли, ничего критичного для работоспособности программы и безопасной с ней работы там просто не может быть. По сути – это обычный кэш запускаемых программ. В отличие, например, от данных в папке по пути:

C:\Пользователи\имя_пользователя\AppData\Roaming

Но, повторюсь, это не жёсткое правило. Разработчик вправе выбрать места для хранения файлов своей программы по усмотрению.

Успехов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Максимальный размер загружаемого файла: 50 МБ. Вы можете загрузить: изображение, видео. Ссылки на YouTube, Facebook, Twitter и другие сервисы, вставленные в текст комментария, будут автоматически встроены. Перетащите файлы сюда