Today I had problems with the “OpenWith” context menu for documents.
On Windows XP: Right-click e.g. a text file; Select “Open With >” and “Choose Program…”; click “Browse…”; select the program; click “Open”.
The first problem was that the existing list contained programs that I wished to remove.
The second problem was with adding a new program to the list: I would browse to the program, and select it, but it failed to appear in the list.
When I searched the Internet, I didn’t find the full answer, but I did find some clues. So here’s what I found out.
The list of programs is to be found in the registry. (Start; “Run…”; type “regedit”; click “OK”.) Browse to
My Computer\ HKEY_CLASSES_ROOT\ Applications\
Here you will find many folders corresponding to executables.
Here are a couple of sample entries:
notepad.exe/ shell/ edit/ @="&Edit" command/ @="C:\\WINDOWS\\notepad.exe %1" open/ command/ @=hex(2): ... depends.exe/ "NoOpenWith"=""
If there’s an entry here that really shouldn’t be present, then it could be deleted. However, I do not know how else this area of the registry used. Therefore I would advise that a registry backup is made (perhaps export this Applications area to a file) before you make any changes, and thereafter taking great care in any case.
If you don’t know what an item is, it would probably be best to leave it alone. (I removed a *.lnk entry that I knew that I had just added inadvertently.)
I found two things that affect whether a program appears in, or can be added to, the OpenWith list:
- The first and most obvious one is the presence of the NoOpenWith value.
- The second, however, is more subtle. If the value of a path (such as the one in shell/edit/command/@) is incorrect, then that is enough to prevent a program from being added. This might happen, for example, if you use one of the many utilities that are distributed stand-alone or in a zip, and you have had it located in one place, but have later moved it. In this case, correcting the path can fix the problem.