Windows: разрешить обычным (не повышенным) программам записывать данные в каталог Program Files

Windows: разрешить обычным (не повышенным) программам записывать данные в каталог Program Files

Мне надоели старые приложения, которые ведут себя странно, потому что не могут писать в каталог "Program Files". Я не хочу вручную задавать им запуск от имени администратора, и меня не особо волнует безопасность — помимо того, что я доверяю приложениям, которые запускаю, я загружаю Windows только для запуска игр (так что раздел не содержит никаких ценных данных), и в любом случае мне обычно приходится переустанавливать Windows каждые пару месяцев.

Как сделать Program Files и Program Files (x86) обычными каталогами (с точки зрения разрешений), в которые каждое приложение сможет записывать данные независимо от разрешений?

Так уж получилось, что сейчас я использую Windows 10, но в идеале мне бы хотелось узнать, как это сделать и на 8/7/Vista, чтобы в будущем можно было воспользоваться этой возможностью.

Редактировать: Должен отметить, что я использую корпоративную версию Windows 10, поэтому при необходимости могу изменять групповые политики или что-то еще.

решение1

Вы можете заставить приложения записывать данные в Program Files, изменив настройки безопасности папки.

  1. Перейдите в свойства и выберите вкладку Безопасность.
  2. Нажмите «Дополнительно».

    введите описание изображения здесь

  3. Измените владельца на свой собственный аккаунт вместо TrustedInstaller, и позвольте ему распространиться. Это позволит вам добавить себя в список принципалов.
  4. Нажмите «Добавить» и введите свое имя пользователя, нажмите «Проверить имена», и оно будет автоматически исправлено.

Теперь вы можете добавить «Полный доступ» для своего имени пользователя, и все запущенные вами приложения смогут записывать данные в эту папку и ее подпапки.

Это помогло мне заставить Chrome сохранять профили OpenVPN непосредственно в каталоге установки.

решение2

Благодаря функциям безопасности, представленным в Windows Vista (UAC), любая программа, не имеющая прав администратора, которая попытается выполнить запись в защищенные расположения, такие как «Program Files», будет перехвачена и перенаправлена ​​в альтернативное «удобное для пользователя» расположение.

Википедия утверждает(и я выделил соответствующий раздел):

Приложения, написанные с предположением, что пользователь будет работать с правами администратора, испытывали проблемы в более ранних версиях Windows при запуске из-под учетных записей с ограниченными правами, часто из-за того, что они пытались записать в общемашинные или системные каталоги (например, Program Files) или разделы реестра (в частности, HKLM). UAC пытается облегчить это с помощьюВиртуализация файлов и реестра, которая перенаправляет записи (и последующие чтения) в определенное для каждого пользователя место в профиле пользователя.Например, если приложение пытается выполнить запись в «C:\program files\appname\settings.ini», а у пользователя нет прав на запись в этот каталог, запись будет перенаправлена ​​в «C:\Users\username\AppData\Local\VirtualStore\Program Files\appname\settings.ini».

Это не то, что нельзя изменить. Это сделано намеренно.

Связанный контент