38

I am running Windows 7 x64. I have a file type that I want to associate with Microsoft Access 2003.

I right-click on the file and select Open With->Choose Default program. In the "Open With" dialog, I select the browse button. I choose Program Files (x86)\Microsoft Office\Office11\msaccess.exe and press "Open".

I end up back at the "Open With" dialog, but nothing has changed. Access is not listed as a program to use to open the file with. The original program (Adobe Acrobat) that is associated with this program is still selected.

Any tips on getting this association to work?

44

The cause is most likely a quirk in the registry that slipped in for some unknown reason.

Make sure the key value in the following location contains the correct path:

HKEY_CLASSES_ROOT\Applications\YOURFILE.EXE\shell\open\command

Search for the application name and the file extension in the registry to see if other entries are possibly corrupted as well.

  • 4
    This was exactly the issue for me.. once I changed the value at that exact location, it worked fine as soon as I tried to browse -> open again – abelito Nov 19 '12 at 15:03
  • When the key value does not point to the right location of the application, change it as indicated in another answer here – sancho.s Nov 29 '13 at 18:11
  • 2
    This fixed it for me. Problem was I upgraded it from 32-bit to 64-bit, so it was looking in Program Files (x86) instead of Program Files – endolith Mar 26 '15 at 18:40
  • 2
    Fixing the path to the app in this registry key fixed it. It appears when I uninstalled the app, and then reinstalled with a different path, this registry key wasn't updated. It appears to be a Win7 bug that if the entry for the app exists, windows exits the app selection process without modifying the registry entry; even if the path you select does not match the existing value of the registry entry. The prevents users from changing the path to an existing app using the "Open with" GUI. – chetto Jul 10 '15 at 19:27
  • 3
    Congrats MS.... 6 and half years down the line and we're still doing this. – ZaLiTHkA Oct 31 '17 at 5:42
14

It is a very simple problem, actually. It happens because Windows uses associations based solely on the base executable name of the program.

Whenever you associate a program with an extension, the program will be present on the HKEY_CLASSES_ROOT\Applications list, where the key names are the base names of the executables (e.g., MSACCESS.EXE and AcroRD32.exe). You can’t associate another program with a file extension if it has the same executable name. What happened is that you probably moved the software to another location (you can see it happens mostly with portable software versions) and when you try to point to it, Windows will see that the name is already registered and instead will try to use the registered path. When it can’t find that, it silently ignores the error and presents the dialog back with no changes whatsoever.

The solution is equally simple: just correct or delete the HKCR\Applications\YourAppName.exe key and try again.  It will work.

  • It also happens when you have multiple versions of Adobe Photoshop installed (via Creative Cloud) all of which use the same executable name. – Phrogz Feb 15 '17 at 17:14
  • That's it! Very stupid, they should store the path or a hash as well. – Philipp F Sep 13 '17 at 6:52
11

The registry key shown above was my problem.

HKEY_CLASSES_ROOT\Applications\MSACCESS.EXE\shell\open\command

Should read:

"C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE" "%1"

for access 2010.

It still had the entry:

"C:\Program Files\Microsoft Office\Office12\MSACCESS.EXE" "%1"  

for office 2007.

The file does not exist in that location so it did not appear in the application selector until I changed the entry.

Once I updated the registry I was ableto select Microsoft Access directly from the list of available applications.

4

I had a similar problem with Sublime Text. It wouldn't show up in the Open With dialog no matter what I did. This is how I solved it.

  1. Open regedit or any registry editor.
  2. Navigate to: \HKEY_CURRENT_USER\Software\Classes\Applications\sublime_text.exe\shell\open.
  3. Remove all the subkeys.
  4. Create the subkey command with value "C:\path\to\sublime_text.exe" "%1" (double quotes included!).

Of course, this will work with any program, not only Sublime Text. Just replace sublime_text.exe with your program's executable.

2

If all fails, you can edit the registry manually (backup the the hive/key first):

Each file type (extension) which has an associated application has a Registry key under HKEY_CLASSES_ROOT.

Or use FileAsoc, a Windows File Association Editor

FileAsoc is open source freeware.

Or File Type Doctor, which is part of the Creative Element Power Tools (shareware)

alt text

  • They way to change this via registry is indicated in another answer here – sancho.s Nov 29 '13 at 18:13
  • 1
    FileAsoc to me doesn't seem a good recommendation, it requires a rather peculiar VB runtime environment (which is not installed by default, and seems hard to come by, the links from FileAsoc's page to these are dead. And the recommended "Creative Element Power Tools" also aren't available anymore! – codeling Sep 1 '16 at 11:06
  • 1
    Seems this program has fallen off the web. Instead, try FileTypesMan (worked for me): nirsoft.net/utils/file_types_manager.html – roblogic Nov 10 '16 at 2:27
1

I fixed the problem for my wmplayer.exe (that was missing and un-addable in the open with dialogue) by changing the

HKEY_CURRENT_USER\Software\Classes\Applications/wmplayer.exe\shell\open\command

from

"C:\Program Files\Windows Media Player\wmplayer.exe" "%1"

to

"C:\Programme\Windows Media Player\wmplayer.exe" "%1"

Where Programme is the localized (german) version of 'Program Files'. This does not make any sense to me (as when i hit "copy path" in the shell menu of windows explorer, the path contains Program Files. And when I add the Media Player by browsing in the "open with" dialogue, its also added with Program Files), but it worked as a solution, where simply deleting the reg key did not.

0

I have seen cases where some dialogs don't prompt you for security elevation and do not give you a message that the change could not be made. Try doing it through control panel

Control Panel -> Programs -> Default Programs -> Set Associations

Or just type "file open" into the start menu search and choose "Make a file type always open with a certain program"

0

I recently had a similar problem with all of my media file associations, and it seemed due to an obnoxious media player called DAPlayer. Even under Control Panel/Programs/Default Programs/Set Default Programs, I was unable to change the default program. Apparently, it set the UserChoice keys under HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts for all of its file associations to read-only access, even for administrators. Even after uninstalling the program, all of my associations remained stuck on "Unknown Application".

The simplest way to fix this is to browse to that key in Regedit, right-click it and select Permissions, click the Advanced button, check "Replace all child object permissions", and click OK.

Or if you prefer the command line, you can use a Windows Resource Kit tool called SubInACL:

subinacl /subkeyreg HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts /grant=administrators=f /grant=system=f /grant="%USERNAME%"=f

But be careful with bulk registry operations like this: improper use could render your system inoperable! I take no responsibility for your actions.

0

NirSoft often rescues: http://www.nirsoft.net/utils/file_types_manager.html

That is FileTypesMan (File Types Manager for Windows) by NirSoft.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.