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

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

Reset File associations Windows 10

Уже давно подмечено, что после установки накопительных обновлений Windows 10 операционная система перенастраивает некоторые штатные приложения таким образом, что они начинают использоваться по умолчанию даже если до этого они были замены сторонними программами. В частности, это происходит с Edge, Фотографиями и Почтой. Причина такого поведения Windows, однако, заключается не столько в обновлениях, столько в самом механизме настройки файловых ассоциаций.

Когда вы делаете программу используемой по умолчанию, система записывает в реестр специальное значение, указывающее, что данная ассоциация выставлена именно пользователем, а никаким либо другим приложением. Таким образом Windows защищается от вредоносного программного обеспечения, изменяющего ассоциации файлов без ведома пользователя. В Windows 10 этот механизм, по всей видимости, еще не доработан, и когда система обнаруживает несоответствие записанного в реестр значения с исходным, то тут же сбрасывает ассоциации на используемые по умолчанию, а пользователь при этом получает соответствующее оповещение.

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

1

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

2

В нашем примере это 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

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

HKEY_CURRENT_USER/SOFTWARE/ClassesAppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9

4

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

5

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