В последнее время меня раздражает тот факт, что я не могу редактировать файлы в папке C:\Program Files\WindowsApps. Я использовал команду takedown в CMD с повышенными правами и изменил разрешения, чтобы позволить администраторам получить полный контроль (я являюсь администратором), и сменил владельца на Администраторов. Я могу удалить файлы / папки, но всякий раз, когда я пытаюсь редактировать файлы или добавлять файлы, я получаю сообщение об ошибке «Доступ запрещен». Как включить создание файлов и редактирование файлов в WindowsApps?
3 ответа
Существует решение: вы должны изменить владельца файлов / папок. Здесь вы можете увидеть описание, включая скриншоты (копия уже есть на суперпользователе ). Я только что попробовал на Win10 Создание / редактирование / удаление файлов возможно.
Если вы хотите отменить смену владельца, вы можете найти описание здесь. После того, как вы вернете его обратно, ваш пользователь все равно будет иметь доступ к папке, а удаление всех других изменений безопасности (например, измененных разрешений), которые были сделаны во время изменения владельца, вернет его в исходное состояние.
Важное замечание: В некоторых случаях Магазин (или Приложения) не будут работать после смены владельца и возврата обратно, если только вы не удалите "все", а не только владельца. Поэтому обязательно создайте точку восстановления системы, если вы точно не знаете, что делаете!
Вот копия описания для смены владельца:
Введите
C:\Program Files\WindowsApps
в адресной строке Windows Explorer и нажмите Enter.Наблюдайте в шоке и смутите системный диалог, говоря, что у вас нет папки на вашем компьютере. Нажмите "Продолжить".
После нажатия "Продолжить" вы увидите следующее диалоговое окно:
Не нажимайте кнопку "Закрыть" - вместо этого нажмите ссылку "вкладка безопасности".
В следующем системном диалоге нажмите "Дополнительно".
Нажмите на ссылку "Изменить" в поле безопасности владельца.
Добавьте свое имя пользователя Live ID или Windows 8 в системное диалоговое окно "Выбор пользователя или группы".
Нажмите "ОК", "ОК" и "ОК".
Я все же решил это сам:
Из командной строки администратора следующая команда скопирует папку пакета WindowsApps (или любую папку внутри):
robocopy /B /E /COPY:DAT D:\WindowsApps\xxx D:\MyTargetDir
Это скопирует папку пакета WindowsApps\xxx
на D:\
в папку MyTargetDir
на D:\
. Это работает, потому что параметр /B указывает Windows использовать токен резервного копирования, который игнорирует любые разрешения или ограничения / политики.
После этого файлы необходимо расшифровать:
cipher /D /S:D:\MyTargetDir
Затем файлы могут быть отредактированы.
Удалить исходную папку (или переименовать ее):
mv D:\WindowsApps\xxx D:\WindowsApps\xxx_
А затем скопируйте обратно отредактированные файлы:
robocopy /B /E /COPY:DAT D:\MyTargetDir D:\WindowsApps\xxx
ОДНАКО: обратите внимание, я до сих пор не выяснил, как запустить отредактированное приложение, поскольку на данный момент Windows Store будет возвращать ошибки для приложений в этих папках, как только будут изменены разрешения. Вернуть их обратно не получится.
Папка WindowsApps
является одной из наиболее защищенных папок в Windows 10. Он содержит все приложения Windows UWP, к которым Microsoft ревностно охраняет доступ.
Защита этой папки может меняться в разных версиях Windows.
Обычные методы получения права собственности и назначения разрешений для этой папки недостаточны, но все же необходимы в качестве первого шага для получения доступа. После их выполнения доступ к папке теперь можно копировать, но редактирование по-прежнему заблокировано. Для редактирования необходимо сохранить файл в другом месте, и только затем заменить оригинал отредактированной версией.
Еще одно замечание: восстановление владения папки в TrustedInstaller
возможно без потери дополнительных разрешений, которые были назначены с помощью команды:
icacls "%ProgramFiles%\WindowsApps" /setowner "NT Service\TrustedInstaller"
Если кто-то хочет использовать командную строку с повышенными правами для получения доступа к папке, то это команды:
takeown /F "%ProgramFiles%\WindowsApps"
takeown /F "%ProgramFiles%\WindowsApps" /r /d y
icacls "%ProgramFiles%\WindowsApps" /grant Administrators:F
icacls "%ProgramFiles%\WindowsApps" /grant Administrators:F /t
Я также отмечаю, что проблем с разрешениями можно избежать, используя следующие команды до и после изменения разрешений, чтобы полностью восстановить исходные разрешения:
icacls "%ProgramFiles%\WindowsApps" /save WindowsApps.acl
icacls "%ProgramFiles%" /restore WindowsApps.acl
Чтобы дополнить замечание автора о восстановлении исходных разрешений для папки, не сохранив эти разрешения перед запуском, это можно сделать, введя в командной строке с повышенными правами (cmd) команду:
icacls "%ProgramFiles%\WindowsApps" /q /c /t /reset
Если команда не работает, ее необходимо повторить с загрузочного компакт-диска /USB-диска Windows, как описано в разделе Сброс списков ACL по умолчанию для C:\Program Files\WindowsApps:
- Следуйте инструкциям на этой странице, чтобы создать установочный носитель Windows
- Загрузитесь с USB/CD, нажмите "Восстановить мой компьютер" при достижении кнопки « Установить»
- Выберите Устранение неполадок, затем Командная строка
- Ваш текущий диск
C:
будет загрузочным носителем, а системный диск Windows скорее всего будет вD:
поэтому проверьте с помощьюdir D:
а если нет, то найдите правильную букву диска. Используя только что найденную букву диска (возможно,
D:\
), введите команду:icacls "D:\Program Files\WindowsApps" /q /c /t /reset
Дождитесь завершения операции и проверьте вывод на наличие ошибок
- Перезагружать.