Сломанные ассоциации исполняемых EXE-файлов

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

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

Все это можно исправить через реестр.

Исправление проблемы в Windows 11/10 и 7

Исправление проблем в Windows Vista

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

Если ассоциация EXE-файлов в Windows сломана, скорее всего изменен вот этот ключ в реестре...

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe]

В значениях ключей "OpenWithList" и "UserChoice", вероятно, прописана какая-то программа в качестве открывающей для .EXE файлов. Эти ключи должны быть очищены, после чего система вернется к настройкам по умолчанию и расширение EXE снова заработает.

Вы можете это сделать, создав файл .REG вот с такими строками в нем...

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe\OpenWithList]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe\OpenWithProgids]
"exefile"=hex(0):

Используйте копирование/вставку текста, чтобы перенести эти пять строк в текстовый редактор, например Блокнот (Notepad), а затем сохраните файл с расширением .REG. Перенесите файл на некорректно работающий компьютер с Windows Vista и дважды щелкните по нему (или щелкните правой кнопкой мыши и выберите пункт Объединить (Merge)). Скорее всего вам придется нажать "ОК" в нескольких появившихся окнах (пользовательский контроль доступа и редактор реестра наверняка попросят об этом). После этого (и перезапуска системы, для уверенности) системная ассоциация EXE файлов должна вернуться на свое место.

Наш пользователь Трэвис предоставил ссылку на REG файл для исправления проблемы в Windows Vista (только Vista)...

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

Внимание!

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

Исправления для Windows XP

Примечание: Приведенное ниже решение предназначено для Windows XP. Оно не будет работать в Windows 11/10, 7 или Vista. (Для Windows 11/10, 7 или Vista прокрутите страницу вверх.)

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

Первое, что нужно попробовать

Прежде чем править реестр, попробуйте сначала открыть диалоговое окно Типы файлов (File Types dialog) в любом окне Проводника - откройте Мои документы или Мой компьютер (меню Инструменты | Параметры папок | Типы файлов). Прокрутите вниз до пункта, где по алфавиту должно было бы находиться .EXE и убедитесь никакого .EXE там нет (а если оно есть, то отредактируйте его там, изменив ассоциацию на "Приложение"). Наконец, нажмите кнопку "Новое", введите EXE в поле расширения и нажмите кнопку Дополнительно (Advanced). Из списка выберите "Приложение" ("Application"). Это должно выглядеть примерно так.

Association EXE

Хотя это не показано на рисунке выше, там же должна быть кнопка "Восстановить" ("Restore"), которую вы можете нажать. Если она есть, используйте ее, и, надеемся, это вылечит проблему (спасибо форумчанину diginono за то, что он нашел и опубликовал это решение). Кнопка "Восстановить" появляется только тогда, когда в системе возникает проблема.

Если это сработало, но все еще осталась проблема с LNK файлами, то прокрутите вниз до конца этого FAQ для решения этой проблемы.

Если это не сработало, то вам придется исправить реестр.

Способ исправления реестра

Внимание!

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

Обратите внимание!

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

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

[Примечание: Убедитесь, что вы сохранили .REG файл прямо на тот компьютер, где имеется проблема, а не на какой-то подключенный сетевой диск.]

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

Шаг 1: Загрузите или создайте REG-файл с содержимым, как показано ниже.

Windows XP

Вот изменения, которые необходимо внести в реестр, чтобы Windows XP правильно распознала EXE-файлы (следите за авто-переносом длинных строк):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.exe]
@="exefile"
"Content Type"="application/x-msdownload"

[HKEY_CLASSES_ROOT\.exe\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"

[HKEY_CLASSES_ROOT\exefile]
@="Application"
"EditFlags"=hex:38,07,00,00
"TileInfo"="prop:FileDescription;Company;FileVersion"
"InfoTip"="prop:FileDescription;Company;FileVersion;Create;Size"

[HKEY_CLASSES_ROOT\exefile\DefaultIcon]
@="%1"

[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\" %*"

[HKEY_CLASSES_ROOT\exefile\shellex]

[HKEY_CLASSES_ROOT\exefile\shellex\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\PEAnalyser]
@="{09A63660-16F9-11d0-B1DF-004F56001CA7}"

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\PifProps]
@="{86F19A00-42A0-1069-A2E9-08002B30309D}"

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"

Windows 98

Вот изменения, которые необходимо внести в реестр, чтобы Windows 98 правильно распознала EXE-файлы (следите за авто-переносом длинных строк):

REGEDIT4

[HKEY_CLASSES_ROOT\.exe]
@="exefile"
"Content Type"="application/x-msdownload"

[HKEY_CLASSES_ROOT\exefile]
@="Application"
"EditFlags"=hex:d8,07,00,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\shellex]

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\{86F19A00-42A0-1069-A2E9-08002B30309D}]
@=""

[HKEY_CLASSES_ROOT\exefile\DefaultIcon]
@="%1"

Наконец, повторяем снова...

Внимание!

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

Шаг 2: Запустите редактор реестра

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

С помощью этих команд вы переходите в каталог Windows, а затем делаете копию программы REGEDIT.EXE в виде файла REGEDIT.COM и запускаете его. Windows будет обманута этим, увидит в .COM файле заголовки .EXE файла и запустит его как программу (в нашем случае Regedit - редактор реестра).

Если ни один из этих методов не работает и вы все еще не можете открыть редактор реестра, продолжайте пробовать четвертый (г) трюк выше (щелчок правой кнопкой мыши и выбор Run As). Часто требуется нескольких попыток, и часто это работает, когда не срабатывают другие методы.

Если ни один из этих методов не работает, и вы все еще не можете открыть редактор реестра, вы исчерпали все возможности, о которых знает FILExt. Извините.

Шаг 3: Объединение REG файла

Считаем, что вы запустили редактор реестра с помощью одного из методов выше, теперь вам нужно объединить REG файл с вашим реестром. В редакторе реестра выберите пункт меню Файл | Импорт, перейдите к .REG файлу и выберите его. Как только он будет импортирован, то правильные ассоциации .EXE файлов должны вернуться на свое место.

Если у вас получилось запустить программу Regedit, но она не позволяет вам вносить изменения, попробуйте перейти в меню Правка | Разрешения (Edit | Permissions) и убедиться, что у вас есть разрешение на внесение изменений. Иногда разрешения удаляются каким-либо программным обеспечением, поэтому вам может потребоваться установить флажок "разрешить" для пользователя, под которым вы вошли в систему.

Ассоциации расширения LNK

Иногда ассоциации LNK исправляются сами собой, когда вы исправляете ассоциации для EXE, но иногда этого не происходит. Если же нет, то откройте параметры папок, как и раньше: Откройте диалоговое окно Типы файлов из любого окна Проводника - откройте Мои документы или Мой компьютер (вкладка Инструменты | Параметры папок | Типы файлов). Прокрутите вниз до того места, где по алфавиту могло бы находиться расширение .LNK и посмотрите, есть ли оно там (его не должно быть). Как мы писали выше, создайте новую ассоциацию, назовите ее LNK и в поле ассоциация выберите Ярлык (Shortcut). Это должно починить ассоциацию для файлов LNK.

Наконец...

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

По крайней мере, мы на это надеемся...