Broken EXE Association

Executable (.EXE) files are the programs you run for most tasks on a computer. Now and again someone reports that they have, in error, assigned some other program to the .EXE extension without first establishing a System Restore Point so they can recover from making this error. When that happens little will run on the computer. Instead, when an .EXE file is clicked some program will start and attempt to process that file instead.

A symptom of this often appears as shortcuts become .LNK files where the .LNK extension shows up and none of them work.

This is all fixed in the registry.

Fix for Windows 10 & 7

Vista Fix

The method described here should work but you have to do a bit more work as there is presently no .REG file download FILExt has created. When sufficient numbers of people have tested this there will be a more formal writeup with a download.

If the Windows EXE association is damaged the location in the registry most likely changed is in this key...

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

The "OpenWithList" and "UserChoice" subkeys probably have some program listed as opening the .EXE file extension. These need to be cleared and, when cleared, the system will go back to the default and the EXE extension should then work again.

You can do this by creating a .REG file with these lines in it...

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):

Use cut/paste to copy these five lines to an editor like Notepad and then save the file with a .REG file extension. Copy the file to the misbehaving Vista machine and double click on it (or right click and select Merge). You will likely have to say OK to a number of different things (the user access control and the registry editor for certain) but afterward (and a restart to be certain) the system EXE association should come back.

User Travis provided this link to REG file fixes for a number of extensions for Vista (only)...

If you find a more elegant way to do this please let FILExt know so it can be added here. And, remember...

Warning!

Editing the System Registry can have seriously affect your system. Make no changes to the System Registry without having a complete backup of important files and only after setting a System Restore Point.

Windows XP Fix

Note: The solution below are for Windows XP. They won't work with Windows 10, 7 or Vista. (For Windows 10, 7 or Vista scroll up to the top of the page.)

Further Note: Before attempting any fixes listed here turn any anti-virus, anti-spyware, anti-adware, or other anti- program off or at least disable their active monitoring of the registry. Such programs may have caused the problem by "fixing" the registry for you and may attempt to prevent you from fixing it yourself. Turn them back on when done but watch carefully what they want to do with the registry or you may be back here again.

First Thing to Try

Before playing with the registry try this first. Open the File Types dialog from any Explorer window -- use My Documents or My Computer (Tools | Folder Options | File Types Tab). Scroll down to where .EXE would be in the alphabetical order and make certain .EXE is not there (if it is, then edit it there by changing the association to Application). Finally, select the New button, type in EXE for the extension and select the Advanced button. From the list pick "Application." It should look something like this.

Association EXE

While not shown on the picture above there should be a "Restore" button you can click. If so, use that and, hopefully, this should cure the problem (thanks to forum member diginono for finding and posting this solution). The Restore button only shows up when there is a problem on the system.

If this works but there is still a problem with LNK files then scroll down to the end of this FAQ for a solution to that.

If this did not work, then you have to play with the registry.

Registry Fix Method

Warning!

Editing the System Registry can have seriously affect your system. Make no changes to the System Registry without having a complete backup of important files and only after setting a System Restore Point.

Note!

FILExt believes the System Registry fixes described here are accurate; however, you take all responsibility for their application. Proceed at your own risk!

There are several System Registry changes that need to be made. You can edit the registry directly yourself, changing the various entries manually. Or, you can use cut and paste from this page. FILExt discourages manually editing the registry as that is prone to error. Use the download links to get the .REG file for the proper fix and the text on this page as the check to make certain you got the right one (you can open a .REG file in a text editor). Once you have the .REG file stored on your system see below for how to use it.

[Note: Be certain to save the .REG file on the computer where the problem is and not on some mapped network drive.]

Be careful. Be certain you have the proper version of the Registry editor for the operating system version you are running.

Step 1: Download or create the proper .REG file from the information below.

Windows XP

Here are the System Registry changes that need to be made for Windows XP to properly recognize .EXE files (watch out for line wrap on the longer lines):

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

Here are the System Registry changes that need to be made for Windows 98 to properly recognize .EXE files (watch out for line wrap on the longer lines):

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"

Finally, to repeat...

Warning!

Editing the System Registry can have seriously affect your system. Make no changes to the System Registry without having a complete backup of important files and only after setting a System Restore Point.

Step 2: Start the Registry Editor

Since the Registry Editor is, itself, an EXE file this can be the hardest part of this process. There are several things you can try. Try each until one of them works. Once the Registry Editor is open and running skip down to Step 3.

What this does is have you navigate to your Windows directory and then make a copy of the REGEDIT.EXE program as the file REGEDIT.COM and then run that .COM file copy. Windows will be fooled by this, see the .EXE headers and run the Regedit program.

If none of these techniques work and you still can't get the Registry Editor to open keep trying the fourth (d) trick above (right clicking and selecting Run As). This often needs multiple tries but also often works when other methods won't.

If none of these techniques work and you still can't get the Registry Editor to open you've exhausted all the possibilities FILExt is aware of. Sorry.

Step 3: Merge the REG File

Assuming you got the Registry Editor to work using one of the techniques above, you now need to merge the REG file into the registry. Select the File | Import menu item, navigate to the .REG file and select it. Once imported, the .EXE file association should come back.

If you are able to get into the Regedit program but it won't let you make changes, try going to Edit | Permissions in the menu and then make certain that you have permission to make the changes. Sometimes, permissions are removed by some software so you might have to check the "allow" box for the user log in you used when signing onto the computer.

LNK Association

Sometimes the LNK association will come back when you fix the EXE association but sometimes it does not. If not, open the folder options as before: Open the File Types dialog from any Explorer window -- use My Documents or My Computer (Tools | Folder Options | File Types Tab). Scroll down to where .LNK would be in the alphabetical order and see if it's there (it should not be). As above, make a new association, name it LNK and in the association box select Shortcut. That should fix the LNK association.

Finally...

After all that, whatever fix you apply, be certain to restart the computer before attempting to do anything else with it. The restart should fix the problem as Windows reloads the registry.

Hopefully...