Ассоциации с файлами. Как создать ассоциацию файлов

Для ускорения и упрощения работы с различными типами данных в Windows важно уметь правильно настроить ассоциации файлов.

Среди многих удобств, за которые пользователи любят Windows, нельзя не вспомнить о функции быстрого открытия различных файлов в сопоставленной для них программе. Например, кликнул два раза по DOC-файлу и он открылся в текстовом редакторе. Или, скажем, дважды нажал левой кнопкой мыши по MP3-треку и он заиграл в аудиоплеере.

Однако, как и многие другие полезные функции, такая ассоциация файлов может сыграть с пользователем и нехорошую шутку. Например, в один прекрасный (или не очень) день Вы можете обнаружить, что у Вас не запускается ни одна программа, поскольку все EXE-файлы открываются, например, в Блокноте...

Чтобы не впасть в панику при возникновении подобных ошибок и быстро всё исправить важно знать принципы ассоциации файлов в Windows и способы их восстановления.

Как работает ассоциация файлов

Технически ассоциация файлов в Windows работает благодаря реестру. В нём создаются специальные записи, образующие пары типа "расширение файла - программа", которые и задают соответствия по умолчанию. Соответственно, создать такие записи для ассоциации файлов можно при помощи Редактора реестра вручную. Но делать это стоит только в крайних случаях...

В Windows существует несколько способов ассоциации файлов без необходимости правки реестра. И первая из них - ассоциация при установке программ . Инсталляторы некоторых приложений уже имеют в себе заложенный механизм, который ассоциирует определённые типы данных c устанавливаемым софтом автоматически или по выбору пользователя:

Такой способ является весьма удобным, поскольку позволяет массово ассоциировать с нужной программой сразу целый ряд типов файлов без необходимости делать это по одному (как при использовании других способов). Однако, к сожалению, не все программы умеют это делать, а среди тех, которые умеют, не все корректно работают с появившимся ещё в Windows Vista механизмом защиты UAC .

Поэтому в ряде случаев Вам, всё же, придётся настраивать ассоциации файлов вручную. Рассмотрим возможные способы...

Ассоциация файлов через "Открыть с помощью"

Ещё со времён Windows 98 данный способ ассоциации файлов был одним из наиболее востребованных ввиду своей простоты. Заключается он в том, что в контекстном меню нужного файла вызывается команда и из предложенного списка или путём произвольного выбора пользователь указывает, какой бы программой хотел воспользоваться:

При этом, если в диалоге выбора будет активной специальная галочка "Использовать для всех файлов", то автоматически создастся ассоциация текущего типа файла с выбранной программой:

Если же в диалоге выбора нет нужной Вам программы, нажмите кнопку "Дополнительно" внизу и в открывшемся окне укажите исполняемый файл требуемого приложения. Такой способ особенно удобен, например, для ассоциации файлов с portable-версиями любого софта.

Стоит заметить, что диалог выбора программ для сопоставления может появиться также, если Вы попытаетесь открыть двойным щелчком файл, который ещё ни с чем не ассоциирован в системе. Аналогичный диалог открывается, если в контекстном меню выбрать "Свойства" файла, а затем на вкладке "Общие" нажать кнопку "Изменить" в строчке "Приложение".

Штатная оснастка для ассоциации файлов

В Windows XP появилась специальная системная оснастка для просмотра ассоциаций типов файлов, которая вызывалась из Панели управления. Правда, нормально функционировать она начала только с "Семёрки", но с тех пор стала довольно-таки удобным инструментом.

Чтобы получить доступ к инструментам оснастки нужно вызвать Панель управления (универсальный способ для всех Windows: WIN+R - команда "control" (без кавычек) - Enter) и перейти в раздел . Здесь нас интересуют первые два инструмента:

Первый из них - . Он очень удобен для массовой ассоциации файлов. В левой части окна оснастки мы можем выбирать зарегистрированные программы из списка, а в правой имеется две кнопки. Первая ("Использовать эту программу по умолчанию") позволяет автоматически ассоциировать выбранное приложение со всеми поддерживаемыми ею типами данных. Вторая же позволяет задать ассоциации выборочно:

Второй инструмент для ассоциации файлов называется . Здесь мы можем точечно настроить или перенастроить ассоциацию конкретного типа файла с определённой программой. Достаточно выделить нужное Вам расширение файла из списка зарегистрированных, нажать кнопку "Изменить программу" и в появившемся окошке выбрать нужную:

Ассоциация файлов в Командной строке

Если Вас не смущает интерфейс Командной строки, то в штатной консоли Windows Вы можете обнаружить две полезные для нашей задачи команды. Первая из них - assoc :

Данная команда позволяет просматривать все сопоставленные в системе типы файлов и точечно менять или удалять их ассоциации. Выполнение команды без дополнительных параметров выводит список всех зарегистрированных в системе типов файлов с их ассоциациями. Для удобного просмотра и дальнейшего анализа делать вывод лучше всего в файл, как это показано на скриншоте выше.

Команда ASSOC может принимать два параметра, которые разделяются между собой знаком равенства. Первый параметр указывает расширение файлов, с которым мы будем работать, а второй - зарегистрированное в системе имя ассоциированной программы.

Если ввести команду с указанием только расширения, она выведет ассоциацию для него (например, команда "assoc .3gp" выдаст результат вида ".3gp=WMP.PlayMedia". Если мы захотим удалить сопоставление для выбранного типа файлов, нам нужно будет просто добавит знак равенства после расширения без указания программы (пример: "assoc .3gp="). Если же нужно задать соответствие с другой программой, после знака равенства нужно указать её зарегистрированное имя (пример ассоциирует 3GP-файлы с KMPlayer: "assoc .3gp=KMPlayer.3gp").

Второй командой для настройки ассоциаций файлов в Командной строке можно назвать ftype :

Данная команда напоминает по принципу работы предыдущую. Но, в отличие от неё, даёт возможность настроить принцип обработки файлов зарегистрированными для них командами с возможностью выбора не только исполняемого файла, но и нужных параметров. Чтобы лучше понять, что имеется в виду, взглянём на сравнение результатов выполнения команд ASSOC и FTYPE для расширения 3GP:

C:\Windows\system32>assoc .3gp

3gp=KMPlayer.3gp

C:\Windows\system32>ftype KMPlayer.3gp

KMPlayer.3gp="C:\Program Files (x86)\KMPlayer\kmplayer.exe" "%1"

Результатом выполнения первого запроса стало получение команды, сопоставленной для открытия файлов с расширением 3GP. Второй запрос же позволил нам посмотреть, какая программа ассоциирована с нужной нам командой. Иными словами, при помощи ASSOC мы можем посмотреть, какая команда используется для открытия того или иного типа файлов, а при помощи FTYPE настроить (или даже создать) эту команду, сопоставив её с реальным исполняемым файлом какой-либо программы.

В качестве примера практического применения обеих команд, можем создать новую ассоциацию для уже рассмотренных нами выше файлов с расширением 3GP. Допустим, мы хотим открывать их в Ace Player, для которого ещё нет зарегистрированной в системе функции. Для этого сперва при помощи FTYPE создадим такую функцию (назвав её, например, AcePlayer.3gp), а затем ассоциируем с ней сам формат файлов. В итоге получится следующая последовательность команд:

C:\Windows\system32>ftype AcePlayer.3gp="C:\Users\Admin\AppData\Roaming\ACEStream\player\ace_player.exe" "%1"

AcePlayer.3gp="C:\Users\Admin\AppData\Roaming\ACEStream\player\ace_player.exe" "%1"

C:\Windows\system32>assoc .3gp=AcePlayer.3gp

3gp=AcePlayer.3gp

Программы для ассоциации файлов

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

Если у Вас Windows Vista или 7, Вы можете воспользоваться программой для того, чтобы полностью удалить ассоциации для конкретных типов файлов:

Программа выдаёт список всех зарегистрированных в системе файлов и имеет две основные функции. Первая - "Remove file association", собственно, и удаляет любое сопоставление для выбранного типа данных. Вторая - "Delete file type" - позволяет вообще удалить регистрацию для конкретного расширения файлов. Программу удобно использовать для исправления возникающих накладок с файловыми ассоциациями, но, как уже говорилось выше, запускается она только на Windows Vista или 7.

Если же Вам нужен подобный инструмент, который бы работал во всех новых версиях операционной системы, можете попробовать программу :

Как и предыдущая утилита File Association Fixer не требует установки, но имеет 64-битную версию и подходит как для "Семёрки", так и для более поздних версий Windows. К сожалению, с её помощью нельзя удалить ассоциацию для любого типа файлов зарегистрированного в системе, но, тем не менее, доступен выбор из 70 наиболее часто используемых расширений.

Ну и, наконец, рассмотрим принцип прямой правки ассоциаций файлов в реестре. Настоятельно рекомендую перед любыми манипуляциями сделать резервную копию реестра . Для этого откройте Редактор (WIN+R - regedit - Enter) и в меню "Файл" нажмите пункт "Экспорт" . В параметрах экспорта выберите опцию "Весь реестр" :

Теперь мы готовы к экспериментам! А экспериментировать мы будем с веткой реестра HKEY_CLASSES_ROOT . В ней в верхней части хранится список всех известных системе расширений, а ниже перечень зарегистрированных функций для вызова тех или иных программ (аналогично ASSOC и FTYPE). Для начала рассмотрим пример записи с расширением файла:

Если выбрать запись с расширением файла, то у неё (если файл зарегистрирован в системе) в значении (По умолчанию) будет указана зарегистрированная функция вызова исполняемой программы (как при выполнении ASSOC). Собственно, здесь и можно изменить "привязанную" стандартную программу, через которую файлы данного типа будут открываться. Кроме того, каждое расширение может иметь ряд дополнительных веток с параметрами:

  1. OpenWithList - группа, в которой перечисляются имена исполняемых файлов программ, отображаемых в меню "Открыть с помощью".
  2. OpenWithProgids - группа, в которой перечисляются зарегистрированные функции вызова программ, отображаемых в меню "Открыть с помощью".
  3. PersistentHandler - группа, в которой перечисляются системные обработчики вызова файла.
  4. ShellEx - группа, в которой перечисляются обработчики вызова файла, отображаемые в меню Проводника.
  5. ShellNew - группа, в которой перечисляются обработчики для создания нового файла в контекстном меню "Создать".

Для специфических типов файлов могут создаваться и другие ветки, но перечисленные выше являются стандартными. Они могут присутствовать у файла не все сразу, но хотя бы парочка из них будет у всех зарегистрированных и ассоциированных расширений.

Как я уже говорил, под списком расширений идёт список зарегистрированных функций вызова программ (аналог FTYPE). Посмотрим на их содержимое:

Основной веткой, содержащей в себе параметры запуска программ, здесь является SHELL. Внутри неё имеется вложение OPEN, в котором могут быть перечислены функции, отображаемые в контекстном меню файла, а уже внутри OPEN содержится ключ COMMAND, в котором прописана команда запуска исполняемого файла.

Дополнительными ключами могут также быть CLSID, в котором прописывается идентификатор класса исполняемой программы в оболочке Windows, CURVER (если есть зависимости от версии исполняемого файла) и DEFAULTICON, в котором задаётся иконка для отображения команды в контекстных меню или иных областях Проводника.

  • скачать исправления ассоциаций файлов для Windows 8 ;
  • Просто скачайте нужный Вам пакет твиков реестра, запустите требуемый REG-файл и перезагрузите компьютер. При следующей загрузке должны восстановиться стандартные ассоциации и Вы снова сможете запускать программы и другие исполняемые файлы.

    Выводы

    Ассоциация файлов в Windows - штука весьма удобная, но иногда может преподнести различные неприятные сюрпризы. И к ним нужно быть заранее готовым, чтобы потом не ломать голову над извечными вопросами "кто виноват" и "что делать" :)

    Наша статья не скажет Вам, кто стал виновником возникших проблем (хотя, Вы наверняка догадываетесь из-за кого происходит большинство ошибок на ПК;)), но наверняка даст Вам исчерпывающий ответ на вопрос о дальнейших действиях. Успехов Вам и корректных файловых ассоциаций!

    P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

    Ассоциировать можно из самой программы, это минутное дело.
    Из комментария в блоге

    Как вы ассоциируете типы файлов с программами? Предположу, что чаще всего вы делаете это при установке программы или впоследствии из ее настроек. Если так, то в Windows 8 вас ждет сюрприз, и я бы не назвал его приятным…

    Учитывая немалый объем статьи, я занес в FAQ краткие инструкции по ассоциации типов файлов и протоколов с программами .

    Недавно один человек кинул мне в Messenger ссылку на одну статью MSDN, которая сразу напомнила мне об одной из тем форума Windows 8. Там участник мучился, пытаясь связать портативный проигрыватель с медиа-файлами. Сегодня я очень подробно объясню, почему у него возникла проблема. Вы также узнаете, что она может возникнуть с любыми программами, а не только с портативными.

    Сегодня в программе

    Обзор изменений в сопоставлении типов файлов программам

    Давайте посмотрим на основные способы связи типов файлов с программами, а также сравним некоторые моменты в Windows 8 с предыдущими ОС. Исторически в Windows программы сопоставляются различным типам файлов несколькими способами.

    Панель управления

    Задание программы по умолчанию работает очень просто. Выделив программу в списке, вы можете назначить ее сразу для всех типов файлов, либо выбрать определенные. В обоих случаях список ограничен типами, для которых программа зарегистрировалась в реестре.

    Здесь Windows 8 не отличается от своей предшественницы, но роль этого окна сильно возросла, в чем вы убедитесь, дочитав статью до конца.

    – это общий список типов файлов и протоколов из раздела реестра HKCR, для которых вы можете указать произвольную программу. Причем для каждого типа нужно выбирать программу отдельно, т.е. возможность массовой ассоциации отсутствует. По сути, этот способ аналогичен контекстному меню «Открыть с помощью».

    Здесь тоже все очень похоже на Windows 7 – кнопка «Изменить программу» или двойной щелчок по расширению вызывает окно выбора программы. Но на рисунке в столбце «Умолчания» также хорошо виден новый тип – «Не выбрано», о котором я расскажу чуть ниже.

    Двойной щелчок по файлу и команды в контекстном меню

    Когда вы открываете файл двойным щелчком, срабатывает одна из команд контекстного меню, выделенная в нем жирным шрифтом.

    Команда «Открыть»

    В Windows 7 эта команда выполнялась в одном из двух случаев.

    1. Какая-либо программа уже связана с типом файла, который зарегистрирован в системе. В этом случае файл просто открывается в программе.
    2. Тип файла не зарегистрирован. В этом случае в Windows 7 вы видели такую картину:

    Кстати, вы когда-нибудь пользовались поиском соответствия в Интернете? :) В оболочку заложена ссылка http://go.microsoft.com/fwlink/?LinkId=57426&Ext=xyz, где вместо xyz подставляется расширение.

    В Windows 8 команда «Открыть» выполняется только в первом случае, а во втором вы увидите новое меню «Открыть с помощью».

    Команда «Открыть с помощью»

    В Windows 7 эта команда становится главной в контекстном меню, когда тип файла зарегистрирован в реестре. В Windows 8, напротив, выделенный пункт меню «Открыть с помощью» означает, что тип файла не зарегистрирован. Кроме того, изменился и внешний вид окна.

    Выбор произвольного приложения теперь не на виду, и приходится прокручивать список до конца, чтобы добраться до него.

    Команда «Выбрать программу»

    Этот новый пункт контекстного меню отражает появившийся в Windows 8 тип сопоставления «Не выбрано». Команда «Выбрать программу» становится главной в меню при соблюдении двух условий:

    1. Тип файла зарегистрирован, но с ним не связана ни одна программа.
    2. Какая-либо программа (в том числе идущая с системой) обозначила свою способность работать с этим типом.

    При таком раскладе в Windows 7 использовалась команда «Открыть с помощью» (там, кстати, и находится пункт «Выбрать программу»). Однако при двойном щелчке по файлу появлялось пресловутое окно с предложением поискать соответствующую программу в Интернете, которое многие отключали твиком .

    В Windows 8 команда «Открыть с помощью» в этом случае тоже есть, но при двойном щелчке по файлу вы сразу видите программы, в которых его можно открыть.

    Родственная связь между командами «Выбрать программу» и «Открыть с помощью» хорошо видна. Разница между ними в том, что в Windows 8 при открытии файла с помощью программы необязательно связывать ее с данным типом, а выбор программы – это по сути ее ассоциация с типом файла. Обратите внимание, что в этом окне нет флажка «Использовать это приложение для всех файлов xyz».

    Раз уж я забрался в дебри меню «Открыть с помощью», расскажу о том, как программы попадают в список рекомендуемых, который отображается в меню «Открыть с помощью» и «Выбрать программу».

    Для начала программы могут при установке ассоциировать с собой тип файла, когда прописывают его в системе. Если тип файла уже зарегистрирован, создается раздел OpenWithProgIDs или OpenWithList в разделе реестра

    HKEY_CLASSES_ROOT\.xyz\

    В первом случае в разделе перечисляются идентификаторы программ, а во втором – для каждой программы создается подраздел с именем ее исполняемого файла.

    Данные настройки являются системными, т.е. эти программы рекомендуются всем пользователям. Но есть также индивидуальные настройки.

    Когда вы открываете файл, используя меню «Открыть с помощью», Windows запоминает ваши предпочтения в разделе реестра

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts

    Для каждого расширения система отслеживает не только список программ, но и то, в каком порядке вы их открывали.

    Параметр MRUList показывает, что последним использовался WordPad, а до этого я открывал файл в блокноте.

    В этом аспекте Windows 8 почти ничем не отличается от Windows 7, но мы уже подошли к главному изменению в новой ОС Microsoft!

    Настройки программы

    Я думаю, что многие из вас шли именно этим путем, ассоциируя программу с типами файлов при установке или в ее настройках. Выглядит это примерно так:

    В принципе, удобный и привычный способ, но…

    В Windows 8 программы не могут сами изменять ассоциации для типов файлов, которые уже связаны с другими программами! Это верно как при установке программы, так и впоследствии, однако в обоих случаях работает сопоставление с незанятыми типами файлов.

    Если разработчики программы учли это нововведение, после установки должно отображаться специальное сообщение, а в параметрах программы настройка ассоциаций должна отсутствовать или обязана вести в панель управления. Если же создатели программы не в курсе изменения, сопоставления просто не произойдет. И, конечно, это точно не сработает с портативными программами!

    Я думаю, теория вас уже утомила, посему перехожу к практике!

    Пример с браузером Opera

    Браузер – это хороший пример программы, которая ассоциируется с несколькими типами файлов и протоколов. Давайте посмотрим, как это теперь происходит в Windows 8 (на момент написания статьи версия Opera 12.02).

    Полная установка Opera

    Вы скачали программу, запустили установку и по ходу дела назначили Opera основным браузером, что является стандартным вариантом. По окончании установки вы должны были увидеть такое сообщение:

    Щелкнув его, вы могли бы на самом деле задать Opera в качестве основного браузера.

    Если же вы не среагировали на это сообщение, то события стали развиваться совсем по другому сценарию. На первый взгляд, все прошло как обычно. Но, допустим, во время чата в Skype вам прислали ссылку. Она откроется не в Opera, а в браузере, который был основным ранее. Логично предположить, что после этого вы захотите проверить или изменить настройки.

    Действительно, в панели управления видно, что Opera зарегистрирована в программах по умолчанию, но ассоциирована лишь с 9 из 29 типами файлов и протоколов. Это не означает, что при указании основного браузера должна устанавливаться связь со всеми типами файлов, которые он может открыть.

    Однако браузеру не удалось завладеть некоторыми ассоциациями (в данном случае – ключевыми протоколами, как видно на рисунке ниже), потому что они уже были сопоставлены с другими программами.

    По крайней мере, разработчики Opera правильно спроектировали браузер в одном важном аспекте. Если вы решите настроить ассоциацию в параметрах программы, вам откроется именно элемент панели управления!

    Теперь вы увидели на практическом примере, что Opera не стала основным браузером, несмотря на обещание установщика. Он и не должен был этого обещать в соответствии с новыми рекомендациями Microsoft, о которых речь пойдет чуть ниже. Таким образом, несмотря на уведомление после установки и реализованный переход в панель управления из параметров программы, Opera пока частично несовместима с Windows 8.

    Портативный вариант Opera

    У вас где-то на диске есть папка с портативным браузером Opera. Конечно, в новой системе браузер не зарегистрирован, поэтому в элементе панели управления «Программы по умолчанию» его нет.

    Когда вы попытаетесь задать типы файлов в параметрах программы, кнопка «Настройка» не будет работать совсем! Это происходит потому, что системе неизвестно, с какими типами файлов может работать незарегистрированная в реестре программа.

    Более того, вы вообще не сможете сделать основным портативный браузер или почтовый клиент, потому что для привязки к протоколу программа должна быть зарегистрирована в системе!

    В этом вы можете убедиться, открыв в панели управления Сопоставление типов файлов и протоколов с конкретными программами . Можно, конечно, зарегистрировать программу вручную в реестре , но намного проще использовать установщик.

    Пример с IrfanView

    Как правило, мы связываем проигрыватели и программы для просмотра изображений с целым набором типов файлов, причем их может быть даже больше, чем у браузера. Я выбрал IrfanView, чтобы проиллюстрировать более серьезную несовместимость с Windows 8, и, как следствие, обманчивость интерфейса. На момент написания статьи версия IrfanView 4.33.

    Полная установка IrfanView

    На этапе установки IrfanView предлагает вам связать с собой множество типов файлов и даже переспрашивает по ходу дела – мол, вы уверены, что хотите изменить ассоциации?

    Программа явно не в курсе нововведений в Windows 8.

    Первое отличие от Opera заключается в том, что после установки IrfanView не отображается системное сообщение о наличии новой программы для просмотра изображений и проигрывания медиа-файлов. Как следствие, не удается связать ее с поддерживаемыми типами файлов сразу после установки.

    Второе отличие заключается в том, что в параметрах IrfanView невозможно связать программу с некоторыми типами файлов. Допустим, вы хотите ассоциировать IrfanView со всеми изображениями, в том числе в формате JPEG. Вы ставите флажок, жмете ОК и… фотографии продолжают открываться в той же программе, что и раньше.

    На рисунке видно, что IrfanView завладел рядом расширений, но не всеми. Заданная в параметрах программы ассоциация с JPEG, не сработала, потому что изображения в этом формате связаны с другой программой, а Windows больше не позволяет программам изменять имеющиеся ассоциации.

    Для полной совместимости программы с Windows 8 автору нужно реализовать открытие элемента панели управления, чтобы не путать пользователей неверной информацией в настройках IrfanView.

    По крайней мере, IrfanView правильно регистрируется в системе. Это означает, что когда вы попытаетесь открыть тип файла, сопоставление которого изменяли из настроек программы, система выведет такое сообщение:

    Оно позволяет сопоставить программу с этим типом файла. Впрочем, IrfanView также заносит себя в список программ по умолчанию. и в панели управления можно ассоциировать его со всеми или избранными типами файлов.

    Портативный вариант IrfanView

    Как я объяснил чуть выше, IrfanView не удастся связать с некоторыми ключевыми типами файлов из параметров программы. А поскольку программа не зарегистрирована в системе, решение есть только одно. Нужно открыть элемент панели управления Сопоставление типов файлов и протоколов с конкретными программами и настраивать там вручную каждый тип файла, коих IrfanView поддерживает свыше 70.

    Сейчас дело усугубляется тем, что не все разработчики в курсе изменения и/или не спешат обновлять свои программы. В результате интерфейс программ вводит пользователей в заблуждение и сильно запутывает их.

    Ситуация в чем-то напоминает появление UAC в Windows, хотя масштаб и значимость изменения не столь велики. Но точно так же потребуется какое-то время, пока программы «научатся» правильно вести себя в системе.

    Я предлагаю вам взглянуть на некоторые рекомендации Microsoft разработчикам , внедрение которых вы скоро начнете замечать в интерфейсе новых версий программ. Теперь программы в Windows:


    Не игнорируйте системное сообщение о новых программах

    Если сообщение появилось после установки программы, нажмите на него – это ускорит процесс сопоставления и сэкономит вам время.

    Отучайтесь настраивать ассоциации в параметрах программ

    Как вы уже поняли, это не позволяет переопределить ассоциации, что может быть вовсе неочевидно из настроек программы. Если вам нужно связать программу лишь с одним типом файлов, быстрее всего к цели приведет меню «Открыть с помощью».

    Если же требуется массовое сопоставление, сразу открывайте «Программы по умолчанию» в панели управления и действуйте в зависимости от того, зарегистрирована ли программа в системе.

    Заключение

    Об авторе

    Вадим, я вот на Win7 всё никак не могу победить такую вещь:
    Пользователь нечаянно сбросил ассоциацию в файлу Excel на notepad
    Возвращаю с помошью диалога «открыть с помощью…» НО иконка документов становится другой — белый листов и в нём значёк Excel. Как вернуть оригинал?

    Алексей_Я

    Доброе утро!
    Когда я читал статью, в голове импульсом проскочила мысль, что в Редмонде выгнали всех, кто проектировал и разрабатывал первые системы NT:)
    Проверить на win 8 пока не могу, но…
    Выглядит это сложно. Но по сути — мы ставим программы, настраиваем и работаем. А если хочешь поэкспериментировать — в win8 есть Hyper-V. Остальное — это извращенство, на мой взгляд.
    Что я вижу пока, не опробовав:
    1. Пользователь и его уровень:) это проблема. Все мнят себя Наполеонами. А на деле — все очень тяжело. Пользователи часто не знают как сделать банальные вещи… а тут..
    2. Плюс пункта 1 в том, что только квалифицированные люди смогут делать это)))
    3. Плюс в том, что система будет более защищена. Вот банальный пример, который я часто вижу: сборка со «встроенным» софтом. Там иногда ТАКОЕ находишь, что диву даешься. Или вообще — WPI установщики, запускающие кучи скриптов по взлому, ассоциациям и… еще чему-нибудь зловредному)
    4. В нашей стране распространен термин «халява», а также факты его практической реализации))) Потому у людей дома на машинах стоят кучи проигрывателей, браузеров (не берем спецов — им это нужно), аналогичных друг другу по функционалу программ и «утилит-лечилок» со встроенным блэкджеком) И вот эти программы лезут своими кривыми ручонками в систему. Идет защита от этого в том числе) На Западе ж как — купил одну прогу и рад. У нас нет) Пока нет.

    ЗЫ. Поиском соответствия пользовался:) пару раз.

    Andrey Bayatakov

    Вот интересно как ассоциировать метро-программы с определенными типами файлов?
    Установил на Windows 8 Cyberlink PowerDVD Mobile. При попытке открыть файл MKV из проводника меня отправляют в магазин. В списке Открыть с помощью… этой программы нет.
    В Программах по умолчанию с PowerDVD ассоциировано только расширение.powerdvd-metro.
    Хотел ассоциировать отредактировав соответствующие записи в реестре, но насколько я понял у этой программы нет запускающего exe файла…

    Юрий

    Спасибо, Вадим, классная и своевременная статья, по механизму ассоциации файлов в Win’s 8. Многим юзерам она поможет избежать душевных страданий от невозможности назначить любимый браузер или плейер, программой по умолчанию) А то поначалу многие впадали в ступор, от непонимания сути нового механизма ассоцаций. Не зря, ох не зря «Microsoft» предупреждал о коренных измениях в OS Win’s 8 в сравнении с OS Win’s 7. Ай, да Редмонд, ай, да сукин сын)))

    Антон

    В принципе объект статьи не в диву, многие думаю знали об этом, с нововведениями в Win8 познакомился тоже случайно, но вот ответ на вопрос я не нашел,
    вопрос таков- идем по пути «»Панель управления\Все элементы панели управления\Программы по умолчанию\Выбор программ по умолчанию»» почему в списке уставленных программ не все программы отображаются?
    к примеру нет в списке того же AIMPа

    Nikolay

    Вадим скажите пожалуйста а как привязать протоколы к Opera Portable

    Павел

    Не знал о таком. Они могли бы избежать недоразумений если бы запретили программам ассоциироваться даже с незанятыми файлами. И чтобы при попытке ассоциации появлялось сообщение об этом, которое вело бы на страницу настройки.

    Nikolay

    Vadim Sterkin , Вадим FAQ не дает мне решение моей проблемы привязать протоколы к Opera Portable

    Taras

    Статья отличная спасибо

    Andrey Bayatakov

    Vadim Sterkin ,
    Да, это единственное расширение которое там перечислено.
    Буду ждать обновлений. Думал может можно как-то вручную ассоциировать.

    Виталий К. ©

    Вадим, с каждой вашей статьёй я всё больше убеждаюсь, что не поставлю себе Вин8 на хостовый ПК))) Только в загоне виртуальной машины.
    А вообще, думаю, обойдут этот механизм и всё будет по старому, вместе с портативными программами и перезаписью ассоциаций без согласия пользователя. Только конечно старые отвалятся.

    Антон

    сам AIMP прекрасно перехватывает ассоциации файлов и еще не одного сбоя не было, просто когда я прочитал вашу же статью,которая была довольно давненько и в ней был оговорен вопрос проблемы открытия графических файлов не «тем, чем хотелось бы» . в частности, я установил смотрелку от гугла «пикассо» в ней выставил ассоциации, а система все равно их перехватывала,в тот момент статья меня спасла, тогда же решив сделать так со всеми программами, большую их часть не увидел в списке..

    Виталий К. ©

    Vadim Sterkin : я сомневаюсь, что разработчики программ смогут обойти этот механизм в своих творениях

    А почему бы и нет? Будут делать, как сейчас Firefox с обновлениями, чтобы окно UAC не выводить- будут регистрировать службу. Службу можно запускать от имени учётной записи System, которой можно всё, больше, чем администратору. В итоге список служб в Вин8 зарастёт вот такими вынужденными службами.
    Ну а я на ХР их буду удалять))

    Почему вы так решили?
    Думаю, будет даже хуже, чем сейчас. Например, с навязыванием ассоциаций. То есть установщикам с «сюрпризом», описанным в недавней записи, плевать по сути на цену, им главное место застолбить, навязать пользователю довесок, а обычные программы не смогут сами изменить их обратно, вынуждая пользователей лезть в «Настройки».
    Но я думаю такая ситуация вынудит большинство нормальных разработчиков ставить хаки в систему на смену ассоциаций, и всё вернётся на круги своя, только в системе станет больше ненужного по сути мусора, занимающегося перекладыванием байтов.

    Алексей Маташкин

    Вадим, спасибо за статью!
    Очень вовремя получилось, как раз обнаружил подобное поведение, но вполне предсказуемо нашел в настройках.
    На данный момент так себя ведет FastStone Image Viewer 4.6, но и обновление у него было год назад.
    Так же не регистрируется в списке программ свежевышедший браузер от Yandex.
    В остальном проблем не испытвал, посмотрим что будет.

    Антон

    Vadim Sterkin ,

    ну почему же.. в самом аимпе во вкладке ассоциации выбираю типы файлов жму применить.. вуаля!! Все работает.. из стандартного проводника по клику на файл выскакивает Аимп. Что тут можно преувеличить?

    и кстати.. в стандартном проводнике иконка файлов поменялась на аимповскую

    Владимир

    я считаю так
    microsoft конечно может предпринять попытку допилить штатный апплет ассоциации типов файлов, но на практике скорее всего появится какое-то стороннее приложение, в базу которого будут заложены все известные форматы файлов и будут кнопки быстрой ассоциации: типов графической информации, аудио, видео и пр — останется нажать применить и изменения отправятся в штатный ассоциатор.

    Виталий К. ©

    Vadim Sterkin : Виталий, я думаю, что ваш пример со службой Firefox вовсе не является чем-то, идущим вразрез с рекомендациями производителя ОС

    Ну так и с ассоциациями будет. Огнелис уже готов, надо только повесить пару новых функций на готовую службу- изменение ассоциаций и их мониторинг при запуске. Остальные тоже подтянутся.
    Хотя я не знаю, идёт ли это вразрез или нет. Вот по вашему ставить службу лишь для обновления одной отдельно взятой программы- это нормально?

    artem

    я, на самом деле, не имею понятия зелёного о причинах описанных изменений. Но легко могу их вообразить. Да и ты сам сможешь, если вспомнишь основную причину всех изменений в Windows 8. Т.е. развитие подсистемы WinRT и её, гм-гм, иммерсивных приложений. Там ведь нет богатых настроек программ.

    И не стоит ожидать от разработчиков таких программ собственных сложных пользовательских интерфейсов для сопоставления типов файлов. Вот и пришлось принудительно забрать эти действия из программ в систему. Чтобы, так сказать, уравнять в правах иммерсивные приложения с десктопными.

    Виталий К. ©

    Vadim Sterkin : Когда Mozilla, создает службу для обслуживания браузера - это нормально, ибо это делается для обеспечения безопасности миллионов людей. И я приветствую именно службу по сравнению с примитивным хранением программы в %LocalAppData%, поскольку последнее менее безопасно и идет вразрез с рекомендациями Microsoft.

    По мне так лучше бы сделали централизованный механизм обновлений с разных серверов с поддержкой цифровой подписи, запускаемый от имени системы. Это мне больше всего нравится в Linux- централизованно в одном месте обновляется система и ПО, но при этом никто не запрещает добавлять свои репозитории.
    Магазин Вин8 увы, не подходит- обновляет только с одного места, привязывая к поставщику. Или он не обновляет? Вроде должен.

    Антон

    Vadim Sterkin ,

    аналогично.. система без изменений ассоциаций, ставим аимп, открываем настройки,переходим в закладку ассоциации фалов, выбираем расширения требуемых файлов (mp3,pls и т.д.) жмем применить. закрываем аимп, заходим в стандартный проводник, идем к файлу *.mp3 или *.pls,двойной клик по нему, открывается аимп начинается воспроизведение выбранного файла.. ЧТО я делаю не так или чего не понимаю?

    Антон

    Забыл добавить,специально для этого делал полный сброс системы. Заглянул в системные настройки привязки типов файлов. В списке ассоциаций стандартного Медиа плеера напротив файла *.мр3 стоит галочка, а вот после манипуляций в настройках самого AIMPа, эта галочка изчезает и значек типа файла меняется на AIMPовский.

    Виталий К. ©

    Vadim Sterkin : С другой стороны, не вижу причин, по которым надо было отбирать у десктопных приложений возможность ассоциироваться из своих настроек напрямую, создавая проблему юзабилити в них.

    А я вижу- продвижение метроприложений.

    Виталий К. ©

  • artem

    Vadim Sterkin : не вижу причин, по которым надо было отбирать у десктопных приложений возможность ассоциироваться из своих настроек напрямую, тем самым создавая проблему юзабилити в них.

  • Обычно файлы на компьютере мы открываем двойным щелчком мыши и при этом автоматически запускается программа, которая умеет работать с этим типом файлов.

    Кроме этого, значок самого файла, как правило, указывает на его тип или программу, которой он открывается.

    За все это отвечает операционная система Windows и реализуется это следующим образом.

    Что такое ассоциация файлов в Windows

    Обычно имя файла состоит из двух частей — название и . Эти две части разделяются точкой и по умолчанию в Windows расширение файлов не показывается, но их отображение можно включить в Проводнике.

    Расширение представляет собой три-четыре латинских символа или цифры, например, .jpeg , .mp3 , .avi .

    Именно по расширению Windows понимает, файл какого типа перед ней находится. Также Windows располагает списком всех программ, которые в ней установлены и каждая программа при установке «сообщает» операционной системе, с какими типами или форматами файлов она умеет работать.

    В итоге Windows сопоставляет конкретные программы и расширения, то есть определяет, какая программа будет открывать файлы определенных расширений.

    Вот это сопоставление и называется ассоциацией файлов в Windows .

    Определение программы по умолчанию

    Пользователь сам может изменять ассоциации, вручную указывая Windows какую программу следует использовать для открытия файлов определенных форматов (расширений) и этим иногда приходится пользоваться

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

    Решить данную проблему довольно просто — нужно изменить программу по умолчанию или, что есть тоже самое, ассоциацию в Windows.

    Для этого есть несколько способов и я расскажу лишь об одном, которым пользуюсь сам, так как он мне кажется наиболее простым.

    Щелкаем правой кнопкой мыши по файлу, для которого хотим изменить ассоциацию, и выбираем из контекстного меню пункт .

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

    Эта операция позволит восстановить ассоциации для конкретных типов файлов, но такой способ поможет не во всех ситуациях.


    Восстановление ассоциации файлов

    Иногда из-за сбоя операционной системы, программ или действия вирусов может нарушиться ассоциация файлов и в итоге файлы или ярлыки перестанут запускаться. Аналогичные проблемы нередко возникают у любителей разнообразных твикеров и программ по «оптимизации» системы. Как правило, это свидетельствует о повреждении части , отвечающей за ассоциацию файлов.

    Логичным решением данной проблемы будет восстановление поврежденной ветви реестра. Сделать это довольно просто — нужно лишь запустить с корректными данными и добавить их в реестр вашей Windows.

    Взять reg-файлы можно в интернете. Например, есть форумы, которые посвящены определенным операционным системам. На этих форумах выложены reg-файлы, позволяющие восстановить ассоциации в Windows.

    Выбираете форум по вашей операционной системе и скачиваете reg-файл оттуда:

    Продемонстрирую на примере Windows 10.

    Нахожу на странице форума кнопку Download и скачиваю архив с reg-файлами на компьютер. Затем разархивирую его и захожу в папку. Внутри представлены reg-файлы для широкого спектра расширений.

    Выбираем нужное нам расширение и запускаем reg-файл. Например, ярлыки имеют расширение .lnk , а программы — .exe . В зависимости от того, с каким типом файлов (расширением) у вас возникли проблемы и выбираем нужный reg-файл. Расширение проблемных файлов можно отобразить в настройках программы Проводник .

    Добавляем информацию в реестр, после чего перезагружаем компьютер и ассоциация будет изменена.

    Для добавления данных в реестр необходимо иметь , то есть необходимо войти в систему под администратором.

    Программа для восстановления ассоциаций

    Процесс изменения реестра можно автоматизировать. То есть можно не скачивать файлы реестра, а воспользоваться программой, позволяющей восстанавливать ассоциации файлов в Windows.

    Например, утилита File Association Fixer поддерживает на данный момент 70 типов файлов и позволяет восстанавливать ассоциации файлов в Windows 7, Windows 8 и Windows 10.

    Все типы файлов в ОС Windows ассоциированы с определенными приложениями. Это означает что при обращении к тому или иному файлу он автоматически запустится именно той программой, которая за ним закреплена в реестре (например, документы с расширением.doc открываются Microsoft Office). Однако при изменении или повреждении данных из реестра файлы могут открываться неправильно, то есть не теми средствами, которые были за ними установлены по умолчанию.

    Подобная ситуация может наблюдаться при системном сбое или вирусном заражении. В операционной системе Windows 7 существует несколько стандартных способов восстановления ассоциаций:

    • с помощью команды «Открыть с помощью»;
    • посредством архива восстановления;
    • через командную строку.

    Существуют также и дополнительные ресурсы, которые являются попросту незаменимыми в тех случаях, когда встроенные способы реанимирования не подходят.

    Перед тем как восстановить ассоциации файлов в Windows 7, необходимо проверить компьютер на вредоносное ПО.

    В противном случае решение проблемы будет временным.

    Использование функции «Открыть с помощью»

    Данный способ возврата ассоциаций значений, заданных по умолчанию, считается самым простым. Однако для его успешного выполнения пользователь должен знать, какое приложение отвечает за открытие того или иного документа.

    Восстановление стандартных ассоциаций выполняется следующим образом:

    Восстановление ассоциации данным способом не подходит для файлов типа.exe, ярлыков и папок.

    Применение архива реестра

    Если у вас проблемы с нормальным открытием исполняемых файлов.exe, управляемых приложений.cpl, установщиков.msi, ярлыков и папок, то восстановить их можно, загрузив специальный архив Windows ResetFileAssociations.zip. Для каждой версии операционной системы существует свой архив, то есть приложение, скачанное для Vista не подойдет для Windows 7 и т.п.

    Порядок реанимирования будет таким:


    Для изменения данных в реестре вы должны обладать правами администратора.

    Еще один выход из подобной ситуации - загрузка резервной копии реестра Windows, сохраненной на вашем компьютере (backup-документ). Сохранение реестра – очень полезная функция, позволяющая избавиться от многих проблем, связанных с системными сбоями и вирусными атаками.

    Чтобы создать резервную копию реестра, необходимо:


    При потребности внести какие-либо изменения в реестр (например, восстановить ассоциации файлов по умолчанию), вам следует войти в папку с сохраненной резервной копией и запустить исполняемый файл.

    Восстановление ассоциаций с помощью командной строки

    Данный способ позволяет восстановить ассоциацию файлов в Windows с любым расширением. Для этого нужно:


    Использование дополнительного программного обеспечения

    Кроме встроенных в систему Windows способов восстановления ассоциаций существует и дополнительный софт, позволяющий решить данную проблему. Одной из таких программ является File Association Fixer, которая способна реанимировать 18 самых популярных ассоциаций. Она не нуждается в инсталляции. Достаточно открыть файл с расширением.exe, выделить требуемые ассоциации и нажать Fix Selected.


    Принесли недавно ноутбук, в котором на рабочем столе почти все ярлыки одинаковые – как файлы Widows Media Center (WMC ). При этом они и запускают только медиа центр. В отсутствие хозяина дети что-то наклацали. В принципе, всё очень просто. В данном случае пытались открыть приложение (EXE ) через WMC , скорее всего случайно перетащили ярлык приложения. В итоге нарушились ассоциации файлов и все файлы стали открываться медиа центром,даже редактор реестра и командную строку невозможно запустить. Media Center стал программой по умолчанию для открытия всех приложений (EXE) и для всех файлов, ассоциированных с приложениями. Например, программой по умолчанию для всех текстовых файлов (TXT) является Блокнот Windows (Notepad.exe). Поскольку Блокнот - это тоже приложение с расширением EXE, то и Блокнот, и все текстовые документы стали открываться через Media Center.

    Пришлось со своего компьютера зайти в интернет, найти информацию и привести всё в нормальное состояние. Для этого нам нужно сбросить настройки программ по умолчанию и восстановить исходные ассоциации файлов с подходящими программами.

    1.Скачайте архив и распакуйте содержащийся в нем файл Ассоциации файлов по умолчанию.reg .

    2. Запустите (двойной клик)* распакованный файл реестра и подтвердите добавление данных в реестр Windows.

    Важно: это исправление предназначенотолько для Windows 7 .

    3. Перезагрузите компьютер.
    Вы увидите, как ярлыки приложений постепенно приобретают нормальный вид.
    Запомните, что файлы, не ассоциированные с программами в свежеустановленной Windows 7 (например, MKV , PSD ) потеряют установленные ассоциации. Вам придется вручную присвоить таким файлам программы по умолчанию (Открыть с помощью ).

    * Если при двойном клике по файлу реестра происходит ошибка (запускается WMC), то щелкните файл правой кнопкой мыши, в появившемся контекстном меню выберите Открыть с помощью > Выбрать программу > Редактор реестра . Убедитесь, что установлен флажок Использовать выбранную программу для всех файлов такого типа и нажмите OK . Если редактор реестра отсутствует в окне Выбор программы , то нажмите кнопку Обзор , откройте папку Windows, найдите и выделите в ней файл regedit.exe и нажмите Открыть .

    Можно попробовать такой вариант, смысл тот же:

    1.Создаем reg -файл: открываем блокнот вписываешь вот эти строки

    Windows Registry Editor Version 5.00

    [ HKEY _ CLASSES _ ROOT \ exefile \ shell ]

    [ HKEY _ CLASSES _ ROOT \ exefile \ shell \ open ]
    " EditFlags "= hex :00,00,00,00

    [ HKEY _ CLASSES _ ROOT \ exefile \ shell \ open \ command ]
    @="\"%1\" %*"

    [ HKEY _ CLASSES _ ROOT \ exefile \ shell \ runas ]

    [ HKEY _ CLASSES _ ROOT \ exefile \ shell \ runas \ command ]
    @="\"%1\" %*"

    2.Называем его произвольным именем, например, r eset f ile. reg , и запускаем дважды щёлкнув по reg -файлу левой кнопкой мыши. соглашаемся с изменениями и перезагружаем компьютер.
    У меня все получилось. Удачи и Вам!

    Ну а теперь рассмотрим, как изменить ассоциации в Windows 7 для исполняемых файлов, папок и файлов по-умолчанию (для целого ряда типов файлов отдельно). Сопоставления файлов в Windows 7 хранятся здесь: Панель управления\Программы -> «Назначение программы для открытия файлов этого типа» . Там можно изменить программу которая открывает тот или иной файл, но удалить сопоставление (ассоциацию) нельзя.

    Вот небольшая таблица с файлами для которых можно сбросить ассоциации (только для Windows 7):