Продолжаем разговор о программах по умолчанию в Windows 10. Сегодня мы рассмотрим параметры реестра, отвечающие за настройки ассоциаций файлов.
Первое место, куда мы заглянем, это раздел HKEY_CLASSES_ROOT, именно в нем можно посмотреть тип файла и ассоциированные с ним программы.
Примечание. Раздел HKEY_CLASSES_ROOT (HKCR) состоит из содержимого разделов HKLM\SOFTWARE\Classes и HKCU\Software\Classes. Соответственно изменения можно вносить не в HKCR, а один из этих двух разделов. В HKLM\SOFTWARE\Classes содержатся настройки для всех пользователей компьютера, в HKCU\Software\Classes — настройки для текущего пользователя.
Каждый зарегистрированный в системе файл хранит свои настройки в двух подразделах, которые называются подраздел расширения и подраздел идентификатора файла. Для примера возьмем обычный текстовый файл. Его подраздел расширения имеет название .txt и соответствует расширению файла с точкой перед ним. А в параметре по умолчанию содержится идентификатор данного типа файла — txtfile.
Далее в HKCR находим раздел txtfile, соответствующий найденному идентификатору и переходим в подраздел HKCR\txtfile\shell\open\command. Здесь в параметре по умолчанию хранится команда, которая используется системой для открытия всех файлов данного типа. Для текстового файла она имеет вид %SystemRoot%\System32\Notepad.exe %1, где %SystemRoot%\System32\Notepad.exe — это путь к программе Notepad, а вместо %1 подставляется имя файла.
Для управления этими настройками есть специальные утилиты командной строки assoc и ftype. С помощью утилиты assoc можно посмотреть тип файла (идентификатор):
assoc .txt
А затем ftype покажет для него программу по умолчанию:
ftype txtfile
С помощью ftype можно не только посмотреть, но и поменять программу по умолчанию. Для примера укажем в качестве программы для открытия txt-файлов редактор Notepad++ такой командой:
ftype txtfile=″C:\Program Files (x86)\Notepad++.exe″ ″%1″
Описанные выше параметры содержат настройки системы по умолчанию и применяются до тех пор, пока пользователь не переопределит их. Текущие же настройки пользователя хранятся в разделе HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts.
В разделе OpenWithList можно посмотреть список программ, которыми открывали данный тип файлов. Так в нашем случае для открытия текстовых файлов использовались Notepad, Wordpad и Notepad++. В параметре MRUList содержится очередность, в которой эти программы использовались — сначала Wordpad (b), затем Notepad (a) и последним Notepad++ (c).
А когда вы открываете в проводнике свойства текстового файла и изменяете программу по умолчанию, то эти настройки сохраняются в разделе HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice. В параметре ProgID хранится идентификатор, а в параметре Hash — хэш программы. Хэш вычисляется каждый раз, когда вы выбираете программу по умолчанию. Его наличие говорит о том, что настройка была произведена пользователем, с помощью специально предназначенной для этого оснастки. Этот механизм предназначен для защиты от вредоносного ПО, которое может подменить файловые ассоциации без ведома пользователя.
Изменить или удалить параметры в UserChoice нельзя, но можно удалить весь раздел целиком. Это приведет к сбросу текущих настроек и возвращению настроек операционной системы по умолчанию. Для примера сбросим настройки для графических файлов типа png.
А теперь внимание. Если проверить ассоциации для png файлов с помощью assoc и ftype, то можно заметить, что файлы данного типа по умолчанию ассоциированы с программой Просмотр фотографий Windows (Windows Photo Viewer), а настройки сбросились до приложения Фотографии (Photos).
А параметр ProgID вместо нормального названия принял какое-то невразумительное значение, состоящее из хаотичного набора букв и цифр.
Дело в том, что в Windows 10 кроме классических программ есть современные приложения (modern-apps). И если заглянуть в раздел HKCU\SOFTWARE\Classes, то можно выяснить, что это самое значение AppX43hnxtbyyps62jhe9sqpdzxn1790zetc как раз соответствует приложению Фотографии.
Чтобы выяснить, для каких еще файлов приложение Фотографии является программой по умолчанию, надо перейти в HKCU\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Repository\Packages и открыть раздел, соответствующий данному приложению. Найти нужный раздел просто — его имя состоит из названия приложения и его текущей версии, например Microsoft.Windows.Photos_17.425.10010.0_x64__8wekyb3d8bbwe. Все типы файлов, которые могут быть ассоциированы с данным приложением, перечислены в подразделе App\Capabilities\FileAssociations.
Это тот же самый список, который можно увидеть в оснастке панели управления при выборе сопоставлений для программы.
Этот список нельзя отредактировать. Можно изменить ассоциации для отдельно взятого типа файлов, но при сбросе настроек для наиболее популярных форматов графических файлов по умолчанию будет назначено приложение Photos. Это же касается и других modern-приложений, например браузером по умолчанию становится Edge, аудиоплеером — Groove и т.д.
Такое поведение системы не очень удобно, особенно с учетом того, что файловые ассоциации в Windows 10 могут сбрасываться самопроизвольно, например при установке обновлений. Но не все так плохо, и хотя нежелательное приложение нельзя убрать из списка, можно запретить его использование для открытия файлов определенного типа. Для этого необходимо в разделе HKCU\SOFTWARE\Classes найти раздел, соответствующий идентификатору приложения для нужного типа файлов. Значение идентификатора можно найти в описанном выше разделе FileAssociations, либо в разделе UserChoice, в параметре ProgID (предварительно сбросив настройки на дефолтные). Например для файлов png это то самое значение AppX43hnxtbyyps62jhe9sqpdzxn1790zetc.
Для того, чтобы приложение не предлагалось по умолчанию при сбросе настроек, в этом разделе надо создать строковый параметр NoStaticDefaultVerb с пустым значением. А если добавить параметр NoOpenWith, то приложение не будет предлагаться для выбора по умолчанию при настройке вручную и пропадет из списка «Открыть с помощью» в контекстном меню проводника. А при сбросе настроек выбор программы по умолчанию будут производиться согласно настройкам в HKEY_CLASSES_ROOT.
Как видите, настраивать программы по умолчанию с помощью реестра в Windows 10 крайне затруднительно. Поэтому при необходимости централизованной настройки лучше использовать другие инструменты, о которых я расскажу в следующей статье. А на сегодня все.
В этой статье мы рассмотрим, как ассоциировать разные расширения (типы) файлов с программами в Windows 10/11 и Windows Server 2022/2019/2016/2012R2. В качестве примера мы покажем, как в Windows назначать программу по-умолчанию для открытия *.pdf файлов, импортировать эти настройки в xml файл и распространить полученный файл с параметрами сопоставления файлов на другие компьютеры вручную или с помощью групповых политик.
Главное отличие Windows 10 и 11 от предыдущих версий ОС — теперь нельзя назначить файловые ассоциации через реестр или функционал Group Policy Preferences Open With. Зато появилась новая возможность выгрузить текущие настройки файловых ассоциаций (FTA, File Type Assotiations) с “эталонного” компьютера в xml файл и использовать данный файл для изменения настроек сопоставления расширений файлов на других компьютерах. Также вы можете экспортировать файл с настройками ассоциаций файлов в стандартный образ системы, который разворачивается на клиентах в вашей сети (вручную, через WDS или SCCM).
Содержание:
- Задать программу по умолчанию для открытия типа файлов в Windows 10/11
- Изменить ассоциации программ с типами файлами в Windows из командной строки
- Экспорт, импорт и перенос настроек ассоциаций файлов Windows через XML файл
- Настройка ассоциаций файлов в Windows с помощью GPO
- Изменить файловые ассоциации через реестр Windows
- Сброс всех ассоциаций файлов в Windows
Задать программу по умолчанию для открытия типа файлов в Windows 10/11
Предположим, вы хотите использовать Adobe Reader DC для открытия *.pdf файлов на всех компьютерах домена. Т.е. вы хотите создать ассоциацию этого расширения файлов с приложением. Для этого нам понадобится эталонный компьютер с Windows 10 или 11 (в этом примере используется актуальный билд 22H1) и установленным Acrobat Reader DC.
Обратите внимание, что в Windows 10 и 11 теперь по умолчанию установлен браузер Microsoft Edge, который используется как программа по-умолчанию для просмотра PDF файлов.
Чтобы вручную создать сопоставление определенного типа файла с программой, откройте панель Settings -> Default Apps (для быстрого перехода используйте команду быстрого доступа Settings ->
ms-settings:defaultapps
) и нажмите кнопку Choose default apps by file type.
Найдите в списке расширений тип файлов .pdf. Затем щелкните по значку программы, которая ассоциирована с этим расширением и смените программу по-умолчанию для просмотра PDF файлов с Microsoft Edge на Acrobat.
Можно автоматически ассоциировать определенную программу с типами файлов, для которых она зарегистрирована. Для этого в разделе Default Apps выберите Set default by apps, найдите в списке нужную программу и нажмите кнопку Manage.
В открывшемся списке будет присутствовать список поддерживаемых приложением типов файлов. Выберите расширения файлов, которые должны открываться с помощью Acrobat Reader.
Изменить ассоциации программ с типами файлами в Windows из командной строки
В Windows вы можете использовать утилиту командной строки assoc для настройки сопоставления типов файлов с приложениями. Например, чтобы вывести программу, которая назначена для открытия файлов PDF, выполните команду:
assoc .pdf
В данном примере видно, что с этим расширением ассоциирован тип файлов AcroExch.Document.DC:
.pdf=AcroExch.Document.DC
Вывести все сопостаяления расширения с типами файлов:
assoc|more
Чтобы понять с каким исполняемым файлом ассоциирован тип файла AcroExch.Document.DC, выполните:
ftype AcroExch.Document.DC
Вы можете задать тип для определенных файлов с помощью команды:
ASSOC .csv=txtfile
В этом примере мы указали, что все CSV файлы нужно открывать как обычные текстовые файлы (по умолчанию с помощью notepad.exe).
Из командной строки вы можете создать или изменить ассоциацию файл с программой. Например, вы хотите чтобы все файлы с расширением tx1 открывались с помощью notepad++.exe. Сначала нужно создать ассоциацию расширения .tx1 с новым типом файлов tx1file.
assoc .tx1=tx1file
Теперь укажем программу, которая должна использоваться по умолчанию при открытии файлов с расширением tx1.
ftype tx1file="%programfiles(x86)%\"Notepad++\notepad++.exe" "%1"
Также вы можете использовать стороннюю утилиту SetUserFTA чтобы назначить файловые ассоциации в Windows. SetUserFTA эта утилита командой строки для быстрой настройки файловых ассоциаций (часто используется на RDS фермах Windows Server 2019/2022 для настройки сопоставления файлов с приложениями).
Список текущих ассоциаций и заданных для них progid в Windows можно вывести так:
SetUserFTA get
Чтобы задать ассоциацию для определенного типа файлов, используется команда:
SetUserFTA.exe extension progid
Например, назначить Chrome браузером по-умолчанию:
SetUserFTA http ChromeHTML
SetUserFTA https ChromeHTML
SetUserFTA .htm ChromeHTML
SetUserFTA .html ChromeHTML
Если для приложения не создан класс файлов или Progid, можно указать его исполняемый файл. Например:
SetUserFTA .txt applications\notepad++.exe
Это возможно для приложений, зарегистрированных в ветке реестра
\HKEY_CLASSES_ROOT\Applications
.
Экспорт, импорт и перенос настроек ассоциаций файлов Windows через XML файл
Текущие настройки ассоциаций файлов с программами, которые настроены под текущим пользователем, можно экспортировать в файл .XML с помощью DISM:
Dism.exe /online /Export-DefaultAppAssociations:C:\PS\DefaultAssoc.xml
Команда экспортирует в XML файл все настроенные у вас сопоставлений программ. Вы можете открыть файл DefaultAssoc.xml в любом текстовом редакторе, и посмотреть полный список настроек. Если вы хотите использовать только часть ассоциаций из этого списка (чтобы не переопределять имеющиеся настройки для остальных расширений файлов на других компьютерах), можно вручную отредактировать XML файл. Оставьте только строки с нужными вам расширениями файлов. К примеру, оставьте только строки для расширений .pdf и .fdf, остальные строки удалите. Должен получиться примерно такой XML-файл:
<?xml version="1.0" encoding="UTF-8"?> <DefaultAssociations> <Association Identifier=".fdf" ProgId="AcroExch.FDFDoc" ApplicationName="Adobe Acrobat Reader DC" /> <Association Identifier=".pdf" ProgId="AcroExch.Document.DC" ApplicationName="Adobe Acrobat Reader DC" /> </DefaultAssociations>
Полученный XML файл можно импортировать в образ Windows на другом компьютере с помощью DISM в режиме онлайн:
Dism.exe /Online /Import-DefaultAppAssociations:C:\PS\DefaultAssoc.xml
Важно. Данные настройки сопоставления расширений файлов с программами будут применены только к новым пользователям системы во время их первого входа. Если при импорте появится ошибка App default reset notification, проверьте синтаксис XML файла.
Также можно импортировать параметры ассоциаций в офлайн образ Windows в wim файл (который вы используете для раскатки образа на новые компьютеры). Сначала нужно смонтировать образ:
Dism /Mount-Image /ImageFile:C:\mnt\images\install.wim /MountDir:C:\mnt\offline
А затем импортировать xml файл:
Dism.exe /Image:C:\mnt\offline /Import-DefaultAppAssociations:\\Server1\Share\DefaultAssoc.xml
Совет. Текущие настройки ассоциаций файлов в офлайн образе Windows можно получить с помощью такой команды:
Dism.exe /Image:C:\mnt\offline /Get-DefaultAppAssociations
Настройка ассоциаций файлов в Windows с помощью GPO
В современных версиях Windows можно использовать новый параметр групповых политик, позволяющий применить xml файл с настройками ассоциаций файлов ко всем текущим пользователям компьютера.
Например, вы хотите применить групповую политику с настройками ассоциаций файлов ко всем компьютерам в определенном OU (Organizational Unit) Active Directory.
- Откройте консоль управления доменными GPO (
gpmc.msc
); - Найдите OU с компьютерами, для которых вы хотите применить файловые ассоциации и создайте новую GPO;
- Переключитесь в режим редактирования GPO и перейдите в раздел Computer Configuration -> Administrative Templates -> Windows Components -> File Explorer;
- Найдите параметр Set a default associations configuration file (Задать файл конфигурации сопоставлений по умолчанию);
- Включите политику и укажите UNC путь к вашему xml файлу (убедитесь, что путь не содержит кавычки или пробелы). Его можно разместить на общедоступном файловом сервере, в каталоге SYSVOL на контроллере домена, или предварительно скопировать файл на компьютеры с помощью GPP/ SCCM;
- Перезагрузите компьютер, чтобы применить новые ассоциации файлов.
Новые настройки сопоставлений будут применены ко всем пользователям компьютера после следующего входа.
Путь к XML файлу с новыми настройками ассоциации файлов содержится в параметре реестра DefaultAssociationsConfiguration в разделе Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System.
Т.к. Windows 10 отслеживает настройки файловых ассоциаций, при первой попытке открыть PDF файл может появится окно с подтверждением использования Acrobat Reader как программы по–умолчанию для открытия этого типа файлов (запрос появляется только один раз). Такой запрос будет всегда появляться также после установки нового приложения, которое регистрируется для открытия существующего типа файлов или протоколов. Можно скрыть данные уведомления, включив в этом же разделе GPO политику Do not show the ‘new application installed‘ notification (Не показывать уведомление “установлено новое приложение”).
Отметим, что пользователь в своем сеансе может изменить назначенные ассоциации файлов. Но при следующем обновлении групповой политики во время входа в систему, ассоциаций файлов пользователя будут перезаписаны настройками из xml файла.
Изменить файловые ассоциации через реестр Windows
Как мы уже говорили выше, в Windows 10/11 изменился подход к изменению настроек ассоциации файлов. В предыдущей секции мы показали, как настроить ассоциацию .pdf файла с Acrobat Reader через XML файл и групповую политику. Теперь посмотрим, как это выглядит в реестре.
Запустите редактор regedit.exe и перейдите в ветку
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice
.
Обратите внимание, что в данной ветке с настройками ассоциация для расширения html есть два параметра:
- ProgId – идентификатор зарегистрированной программы для открытия этого типа файлов. Если вместо имени приложения указан длинный идентификатора, значит назначена ассоциация файла с современным приложением UWP/Metro. Проверьте, что оно не удалено из вашего образа Windows 10;
- Hash – хеш, который генерируется автоматически для валидации настройки сопоставления типа файлов с программой. Наличие этого хэша, гарантирует, что именно пользователь или администратор (через GPO) настроил данное сопоставление. Этот механизм нужен для защиты пользователей от вредоносных программ, которые могут подменить ассоциации файлов без его ведома.
Если вы попробуете руками изменить значение ProgId и назначить другую программу, значение Hash перестанет быть валидным. В этом случае Windows автоматически сбросит настройки ассоциации файла к значению по-умолчанию и пользователь увидит уведомление:
Стандартное приложение сброшено. Приложение вызвало проблемы с настройкой стандартного приложения для файлов .html, поэтому оно сброшено для Microsoft Edge.
An app default was reset. An app caused a problem with the default app setting for .html files, so it was reset to Microsoft Edge.
Соотвественно, в Windows 10 не сможете настроить сопоставление файлов через реестр, как это работало в Windows 7.
В сети есть неофициальная утилита SetUserFTA.exe, которая позволяет вычислить хэш и назначить сопоставление программе типу файлов напрямую через реестр.
Сброс всех ассоциаций файлов в Windows
С помощью следующей команды можно сбросить импортированные ранее настройки ассоциаций файлов в Windows:
Dism.exe /Online /Remove-DefaultAppAssociations
После выполнения данной команды, все новые пользователи системы будут загружаться со стандартными настройками ассоциаций (на имеющиеся профили пользователей системы такой сброс не действует).
Чтобы сбросить ассоциации файлов, настроенные пользователем вручную, нужно в панели Параметры -> Система -> Приложения по умолчанию (Default Apps) нажать на кнопку Сброс (Reset).
При этом все ассоциации файлов вернутся к состоянию чистой Windows 10.
Ассоциация файла в Windows — заданное в системе соответствие между типом файлом и тем, какой программой или образом он открывается. Нередко бывает так, что по ошибке для файлов ярлыков .lnk или программ .exe пользователем выставляются неверные ассоциации, после чего все они начинают «открываться» через какую-либо одну программу на компьютере и тогда может потребоваться восстановление ассоциаций файлов. Впрочем, подобное может случиться и с другими типами файлов. Если в вашем случае проблем нет, а требуется просто настроить программы по умолчанию, все способы сделать это вы можете найти в инструкции Программы по умолчанию Windows 10.
В этой инструкции о том, каким образом можно восстановить ассоциации файлов в Windows 10 — для обычных файлов, а также для системно значимых, таких как упомянутые ярлыки, программы и не только. Кстати, если у вас было включено автоматическое создание точек восстановления системы, то исправить ассоциации файлов вы, вероятно, сможете куда быстрее, используя точки восстановления Windows 10. В конце статьи имеется также видео инструкция, в которой показано все описанное.
Восстановление ассоциаций файлов в настройках Windows 10
В параметрах Windows 10 появился пункт, позволяющий сбросить все ассоциации файлов на настройки по умолчанию (который работает с некоторыми ограничениями, о чем далее).
Найти его можно в «Параметры» (клавиши Win+I) — Система — Приложения по умолчанию. Если в указанном разделе в пункте «Сброс к рекомендованным Майкрософт значениями по умолчанию» нажать «Сбросить», то все ассоциации файлов будут приведены к состоянию, которое было на момент установки системы, удалив заданные пользователем значения (Кстати, в том же окне, ниже, есть пункт «Выбор стандартных приложений для типов файлов», чтобы задать конкретные ассоциации программ для каждого типа файлов.).
А теперь об ограничениях работы этой функции: дело в том, что в процессе ее использования, удаляются заданные пользователем сопоставления файлов: в большинстве случаев, это срабатывает для того, чтобы исправить типичные нарушения ассоциаций файлов.
Но не всегда: например, если были нарушены ассоциации файлов exe и lnk, но не только добавлением программы для их открытия, но и повреждением записей в реестре (что тоже случается) об этих типах файлов, то после сброса при запуске такого файла, вас спросят: «Каким образом вы хотите открыть этот файл?», но правильного варианта не предложат.
Автоматическое восстановление ассоциаций файлов с помощью бесплатных программ
Есть программы, которые автоматизируют восстановление ассоциаций системных типов файлов в Windows 10. Одна из таких программ — File Association Fixer Tool, позволяющая исправить открытие файлов BAT, CAB, CMD, COM, EXE, IMG, INF, INI, ISO, LNK, MSC, MSI, MSP, MSU, REG, SCR, THEME, TXT, VBS, VHD, ZIP, а также папок и дисков.
Подробно об использовании программы и где её скачать: Исправление ассоциаций файлов в File Association Fixer Tool.
Восстановление ассоциации .exe и .lnk файлов с помощью редактора реестра
Также, как и в предыдущих версиях ОС, в Windows 10 можно восстановить ассоциации системных файлов с помощью редактора реестра. Не вводя соответствующие значения в реестре вручную, а используя готовые reg файлы для импорта в реестр, возвращающие правильные записи для соответствующих типов файлов, чаще всего речь идет о lnk (ярлыки) и exe (программы) файлах.
Где взять такие файлы? Так как я на этом сайте каких-либо файлов для загрузки не выкладываю, рекомендую следующий источник, которому можно доверять: tenforums.com
В конце указанной страницы вы найдете список типов файлов, для которых имеются исправления ассоциаций. Загрузите .reg файл для того типа файла, которые требуется исправить и «запустите» его (либо кликните правой кнопкой мыши по файлу и выберите «слияние»). Для этого требуются права администратора.
Вы увидите сообщение редактора реестра о том, что внесение сведений может привести к непреднамеренному изменению или удалению значений — согласитесь и, после сообщения об успешном добавлении данных в реестр, закройте редактор реестра и перезагрузите компьютер, все должно заработать как раньше.
Восстановление ассоциации файлов Windows 10 — видео
В завершение — видео инструкция, в которой показаны способы восстановить испорченные ассоциации файлов в Windows 10 различными способами.
Дополнительная информация
В Windows 10 также имеется элемент панели управления «Программы по умолчанию», позволяющий, помимо прочего, настроить вручную ассоциации типов файлов с программами.
Примечание: в Windows 10 1709 эти элементы в панели управления стали открывать соответствующий раздел параметров, однако можно открыть и старый интерфейс — нажмите Win+R и введите одно из:
- control /name Microsoft.DefaultPrograms /page pageFileAssoc (для ассоциаций по типам файлов)
- control /name Microsoft.DefaultPrograms /page pageDefaultProgram (для ассоциаций по программе)
Для его использования, вы можете выбрать данный элемент или использовать поиск Windows 10, после чего выбрать пункт «Сопоставление типов файлов или протоколов с конкретными программами» и задать необходимые вам ассоциации. Если же ничто не помогает, возможно, проблемы решить помогут какие-то способы из руководства Восстановление Windows 10.
Как в среде Windows 10 удалить ассоциацию файлов – их привязку к определённой программе, которая автоматически открывает их типы (с тем или иным расширением, например, «.doc», «.mp3», «.avi» и т.п.) по двойному клику? Не сменить одну программу на другую, как это предлагается, например, в свойствах файлов. А полностью отвязать их тип от любой программы – хоть сторонней, хоть из числа штатных средств Windows 10. Если для нужных типов файлов не будет задана программа по умолчанию, их каждый раз можно открывать в подходящем по ситуации приложении по двойному клику.
Что, согласитесь, более удобно, чем использовать в контекстном меню проводника имеющееся в системе решение этого вопроса — опцию «Открыть с помощью».
В своих параметрах Windows 10 может предложить либо смену одной программы по умолчанию на другую по типу того, как это делается в свойствах файлов, либо сброс ассоциаций к дефолтным.
Но такой сброс приводит настройки в начальное состояние только в части возврата ассоциаций штатным UWP-приложениям Windows 10. Такой сброс не удаляет ассоциации, более того, он даже не действует на классические программы Win32. Даже если у Windows есть собственные средства открытия определённых расширений, как, например, проводник для «.iso», эти расширения после сброса так и останутся привязанными к стороннему софту. Менять ассоциацию в таком случае необходимо только вручную.
Так как же полностью убрать ассоциации? Есть два варианта, как это сделать.
Некоторые сторонние программы при установке не втихую назначают сами себя главными в системе по открытию того или иного типа файлов, а позволяют пользователю решить, под какие расширения он хочет подвязать эту программу. При установке такого софта нужно просто снять галочки либо со всех поддерживаемых расширений, либо только с нужных, для которых планируется в дальнейшем выбор открытия.
Если программа уже установлена в системе, можно покопаться в её настройках. В них может быть предусмотрена отвязка ассоциаций. В медиаплеере PotPlayer это, например, раздел настроек «Связи».
Универсальный способ отвязки ассоциаций, действующий для любого установленного в Windows 10 софта – это правка реестра системы. Открываем regedit.exe. Раскрываем ветвь:
Компьютер\HKEY_CLASSES_ROOT
В ней ищем нужное расширение и удаляем его папку.
Далее ищем папку этого же расширения по пути:
Компьютер\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
И снова удаляем.
И так проделываем с каждым отдельным типом файлов. После чего перезагружаем систему. И вот — можем наблюдать файлы, не привязанные к запуску конкретной программой.
After installing Adobe PDF reader, it opens files with the .PDF
file extension. Ones’ default web browser opens .html
files and notepad opens .txt
files, etc.
Where exactly in the registry are these filetype — program associations stored in the registry?
In other words, how does Windows know with which software/program it must open a certain file(type)?
asked Apr 4, 2011 at 4:34
1
The open with associations are all stored in HKEY_CLASSES_ROOT
.
This is a special registry hive that combines the local user’s associations in HKEY_CURRENT_USER\Software\Classes
with the system’s associations in HKEY_LOCAL_MACHINE\Software\Classes
.
Here’s a shot from my registry for the PDF association you mention in your question:
answered Apr 4, 2011 at 5:23
GaffGaff
18.6k15 gold badges57 silver badges68 bronze badges
1
Just to extend Gareth’s answer:
From playing with the registry it looks like
- entries from
HKEY_CURRENT_USER\Software\Classes
override entries
fromHKEY_LOCAL_MACHINE\Software\Classes
in the
HKEY_CLASSES_ROOT\Software\Classes
- setting file’s extention association from command line using
assoc
command
acts uponHKEY_LOCAL_MACHINE\Software\Classes
- setting file type association from command line using
ftype
command
acts uponHKEY_LOCAL_MACHINE\Software\Classes
answered Sep 1, 2011 at 18:57
Piotr DobrogostPiotr Dobrogost
5,44414 gold badges57 silver badges80 bronze badges
With current Windows versions,
#1 First you need look up HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\[EXT]\UserChoice\ProgId
if it exists. If not, goto #5.
#2 The ProgId is a file-class, e.g. Python.File
(=> goto #6) or similarly an application-id, e.g. Applications\SciTE.exe
(=> goto #3)
#3 Locate the application id Applications\SciTE.exe
like HKEY_CLASSES_ROOT\Applications\SciTE.exe\shell\open\command
. The default value is the command to run.
#4 Done.
#5 Lookup Computer\HKEY_CLASSES_ROOT\[EXT]
‘s default value for a file-class, e.g. Python.File
#6 Lookup the file-class Python.File
like HKEY_CLASSES_ROOT\Python.File\shell
. The default value is a default command, e.g. edit
(defaults to open
if not existing).
#7 Look up its edit
command like HKEY_CLASSES_ROOT\Python.File\shell\edit\command
. The default value is the command to run. Note: The other available commands for a file-class are shown in Explorer, when right-clicking on a file.
Note: HKEY_CLASSES_ROOT
joins the Software\Classes
of HKEY_CURRENT_USER
(higher priority) and HKEY_LOCAL_MACHINE
answered Apr 8, 2022 at 13:50
kxrkxr
1711 silver badge3 bronze badges
1
While the answers are (probably, I didn’t check) correct, the sane way to modify file associations is with the GUI Microsoft designed for it. (That is, if you are a user and not a setup developer.)
Here is one tutorial with nice pictures, I found it with google: http://www.digitalcitizen.life/how-associate-file-type-or-protocol-program
But you can just open start (win7 menu or win8 screen, doesn’t matter) and type file association, enter and it should open the correct control panel link. (Control Panel\Programs\Default Programs\Set Associations).
Gaff
18.6k15 gold badges57 silver badges68 bronze badges
answered May 24, 2015 at 23:58
2
The problem with many of these methods is that Windows doesn’t really handle the possibility of different executables having the same name. When using the GUI, there is no way to know to which one they are referring.
That is because, in Win 7 anyway (I haven’t checked win 10), the default program for explorer is stored in HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
But if you look there you will find for example in the OpenWithList key, something like LibreOfficeWriterPortable.exe
in my case.
But I have multiple versions of that program, all with the same name, so changing that key is not going to help.
To find what it actually points to, you have to go to (in my case)
HKEY_USERS\S-1-5-21-966747605-1980359026-2421819745-1000\Software\Classes\Applications\LibreOfficeWriterPortable.exe\shell\open\command
to find out what that will actually open, i.e. what the named they are using actually points to.
answered Nov 30, 2021 at 22:01
pbpbpbpb
795 bronze badges
In windows 10, you can identify that a program support what file extensions by 2 methods.
1. «Set defaults by app»
Go to Settings
-> Defaults Apps
-> Set defaults by app
. On the next page, Click management
on the app that you want. In this situation, you can identify file associations that supported the app.
2. Find in Registry
Go to Registry Editor. And find the entry of Computer\HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications
. This registry entry shows that where each program is logging its file associations. You can find the value of entry by the app name that you want.
In my case, I find an «IrfanView.exe» and its value is computer\HKEY_LOCAL_MACHINE\SOFTWARE\IrfanView\Capabilities\FileAssociations
. if go to its location, you can find the result like below.
Toto
17.1k57 gold badges30 silver badges41 bronze badges
answered Oct 12, 2021 at 8:23
In my case, I was trying to open a random extension with word pad, so what I did was:
- Start -> Run -> cmd.exe
- assoc .bhf=txtfile
- Then find a file with that extension in windows explorer
- Right-click -> Open With -> Choose Another App -> Select Checkbox «Always use this app to open .BHF files»
- Select program of choice (if not visible select «More apps»/»Look for another app on this PC»)
In my case, I didn’t have the UI options for selecting the default program or the checkbox, until I ran the command in step #2. I think once Windows thinks of a file like a «text» file, I guess it’s no longer considered «too dangerous» to allow you to associate it as you see fit…
answered Mar 25, 2021 at 19:58
2
You must log in to answer this question.
Not the answer you’re looking for? Browse other questions tagged
.
Not the answer you’re looking for? Browse other questions tagged
.