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.

Note: The solutions presented here are for Windows 98 and XP. They have not been tried on other versions of Windows (a reader reports the procedure also worked for Windows NT) and won't work with Windows Vista. (For Vista scroll down to the bottom 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!

If you don't know how to back up the registry, please read the discussion here...

http://www.theeldergeek.com/windows_xp_registry.htm

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...or, as an alternate, download the WinXP_EXE_Fix.reg file (right click on the link and choose the "save as" option in IE or "Save Link As" option in Firefox), and then save it to disk.

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...or, as an alternate, download the Win98_EXE_Fix.reg file (right click on the link and choose the "save as" option in IE or "Save Link As" option in Firefox), then save it to disk.

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}]<br>
@=""

[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.

  • a) The first thing to try is the easiest. Double click on the saved REG file and see if it starts the registry editor and merges. If you are lucky, the REG file will merge and the problem will be solved and you don't need Step 3 below. Unfortunately, this rarely works.
  • b) The next thing to try is just as easy. Right click on the saved REG file and select Merge from the options presented. If you are lucky, the REG file will merge and the problem will be solved and you don't need Step 3 below. Unfortunately, this also rarely works.
  • c) Similar to (b) just above, right click on the saved REG file and if Registry Editor is shown select that. If not, select the Open With option and browse to the Windows directory (usually either C:\Windows or C:\WINNT). Scroll down to the regedit.exe file and select that. This sometimes works and, if so, the REG file will merge and you don't need Step 3 below.
  • d) The next thing to try is to use the Run As command. Open a Windows Explorer window and navigate to the Windows directory (usually either C:\Windows or C:\WINNT). Scroll down to the regedit.exe file. Right click on the file. On the menu that pops up look for the Run As... item and click on it. Sometimes when you do that the editor will start (try this several times in a row; it often takes multiple tries).
  • e) If that didn't work, yet another trick to try is to open a Command Prompt window via the Task Manager and try to run Regedit from there. Press the keychord (all three keys together) Control-Alt-Delete once only. Then, press and hold the Control key while you click on the File menu and then the New Task (Run) item. Release the Control key. A Command Prompt window should have opened. At the prompt type the full name REGEDIT.EXE and see if that starts the Registry Editor.
  • f) OK, that didn't work. Now, we'll try to trick the system. Open a Command Prompt window (Start | Programs | Accessories | Command Prompt). This should leave you in the C:\Documents and Settings\[username] directory. Issue the sequence of commands in bold:
    • C:\Documents and Settings\[username]> CD \
    • C:\> CD WINDOWS (or WINNT if that's your system directory)
    • C:\Windows> COPY REGEDIT.EXE REGEDIT.COM
    • C:\Windows> REGEDIT.COM

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 third (#c) 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...

Vista Fix

Yes, the same problem appears to happen under Vista as well as prior versions of Windows. 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 Vista 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.

 


PC Checkup




Home | How To Use FILExt | Tell Us About an Extension | FAQ | Terms | Privacy Policy
© Copyright 2000-14 Uniblue Systems Ltd. All Rights Reserved. Microsoft is a trademark of the Microsoft group of companies