JSI Tip 0271 - Have you lost your EXE association?

The EXE association is stored in the registry at:

HKEY_CLASSES_ROOT\exefile\shell\open\command as an unnamed value of type REG_SZ with a string of "%1" %*

Unfortuneatly, since EXE files won't run, you can not use the REGEDT32.EXE.

NOTE: Vincent Pannenborg points out that you may be able to temporarily rename Regedt32.exe to Regedt32.com, to fix the problem.

Normally, you would use your ERD (Emergency Repair Disk) and the Windows NT setup floppies to repair the SOFTWARE hive of the registry. If yours is out of date, here is an alternate method.

Install another instance of Windows NT on your computer, preferably in a different partitions, but definetly in a different directory.

Using the technique described in tip 182, use REGEDT32.exe to highlight HKEY_LOCAL_MACHINE and Load Hive from the Registry menu. Navigate to the OriginalNTInstall\System32\config and open the Software file. . When prompted for a name, enter OLDSOFT. The HKEY_LOCAL_MACHINE window will list the following hives:

Double-click on OLDSOFT and then on Classes and navigate to exefile\shell\open\command
Double-click on <No Name> or Add Value as above and set the string to "%1" %*

Highlight OLDSOFT and select Unload Hive from the Registry menu.

When you boot to your origonal install, the association will be fixed.

Note: If you want to remove the alternate instance of NT:

. Delete the directory.
. attrib -r -s -h c:\boot.ini
. Edit c:\boot.ini and remove the entry. Reset the default (or use Control Panel / System / Startup...).
. attrib +r +s +h c:\boot.ini

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.