Избранное сообщение

Фетісов В. С. Комп’ютерні технології в тестуванні. Навчально-методичний посібник. 2-ге видання, перероблене та доповнене / Мои публикации

В 10-х годах я принимал участие в программе Европейского Союза Tempus "Освітні вимірювання, адаптовані до стандартів ЄС". В рамк...

Благодаря Интернету количество писателей и поэтов увеличивается в геометрической прогрессии. Поголовье читателей начинает заметно отставать.

суббота, 27 февраля 2016 г.

Как запретить встроенным приложениям Windows 10 сбрасывать ассоциации к значениям по умолчанию / Windows 10. Практика

Уже давно подмечено, что после установки накопительных обновлений Windows 10 операционная система перенастраивает некоторые штатные приложения таким образом, что они начинают использоваться по умолчанию даже если до этого они были замены сторонними программами. В частности, это происходит с Edge, Фотографиями и Почтой. Причина такого поведения Windows, однако, заключается не столько в обновлениях, столько в самом механизме настройки файловых ассоциаций.
Когда вы делаете программу используемой по умолчанию, система записывает в реестр специальное значение, указывающее, что данная ассоциация выставлена именно пользователем, а никаким либо другим приложением. Таким образом Windows защищается от вредоносного программного обеспечения, изменяющего ассоциации файлов без ведома пользователя. В Windows 10 этот механизм, по всей видимости, еще не доработан, и когда система обнаруживает несоответствие записанного в реестр значения с исходным, то тут же сбрасывает ассоциации на используемые по умолчанию, а пользователь при этом получает соответствующее оповещение.
Впрочем, приложив немного усилий, самопроизвольный сброс ассоциаций можно предотвратить. Для начала желательно узнать версию проблемного, то есть восстанавливаемого по умолчанию приложения, так будет легче искать нужное значение в реестре. Проще всего это сделать, выполнив в запущенной от имени администратора консоли PowerShell команду Get-AppxPackage > C:/appsna.txt.

11
В результате вы получите текстовый файл со списком универсальных приложений. Допустим, нужно запретить сброс ассоциаций для Microsoft Edge. Находим в списке браузер Edge и смотрим его полное имя (PackageFullName).

22
В нашем примере этоMicrosoft.MicrosoftEdge_25.10586.0.0_neutral__8wekyb3d8bbwe. Далее командой regedit открываем редактор реестра и разворачиваем следующую ветку:
HKEY_CURRENT_USER/SOFTWARE/Classes/Local Settings/Software/Microsoft/Windows/CurrentVersion/AppModel/Repository/Packages/XXXXX/ MicrosoftEdge/Capabilities/FileAssociations
На место XXXXX подставляем полное имя приложения. Также обратите внимание, что для других приложений элемент ключа «MicrosoftEdge» выглядит как App, кроме того, полные имена большинства универсальных приложений вместо приставки neutral имеют суффикс x64 или x86 в зависимости от разрядности вашей системы. Например, ключ приложения Фотографии будет выглядеть так:
HKEY_CURRENT_USER/Software/Classes/Local Settings/Software/Microsoft/Windows/CurrentVersionAppModel/RepositoryPackages/Microsoft.Windows.Photos_16.201.11370.0_x86__8wekyb3d8bbwe/App/Capabilities/FileAssociations
3
3

В любом случае в подразделе FileAssociations в правой части окна редактора вам нужно найти тип файла, ассоциации которого сбрасываются. На примере с Edge это HTML, HTM, PDF, SVG и XML. Посмотрите его значение, а затем разверните веткуHKEY_CURRENT_USER/SOFTWARE/Classes/User_Key, где User_Key — подсмотренное вами значение. У нас это AppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9. То есть ключ будет выглядеть так:
HKEY_CURRENT_USER/SOFTWARE/ClassesAppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9
4
4

Создайте в подразделе с этим длинным именем новый строковый параметр с именем NoOpenWith и пустым значением.

5
5
Ту же самую операцию повторите для других файловых расширений и универсальных приложений, которые становятся используемыми по умолчанию. Ключи Windows приложений вы найдете в веткеHKEY_CURRENT_USER/SOFTWARE/Classes/Local Settings/Software/Microsoft/Windows/CurrentVersion/AppModel/Repository/Packages, полное же имя конкретной программы можно получить из PowerShell. После внесения изменений останется лишь еще раз установить сторонние программы используемыми по умолчанию. Больше настройки сбиваться не будут.

Комментариев нет:

Отправить комментарий