“打开方式”对话框忽略了我的选择


41

我正在运行Windows 7 x64。我有一个要与Microsoft Access 2003关联的文件类型。

我右键单击该文件,然后选择“打开方式”->“选择默认程序”。在“打开方式”对话框中,选择浏览按钮。我选择“程序文件(x86)\ Microsoft Office \ Office11 \ msaccess.exe”,然后按“打开”。

我最后回到“打开方式”对话框,但没有任何改变。Access并未列为用来打开文件的程序。仍选择与此程序关联的原始程序(Adobe Acrobat)。

有关使该协会正常工作的任何提示?


4
是的,这是一个奇怪的错误,很长时间以来困扰着我,并困扰着多个Windows版本。它只是间歇性发生,所以我没有跟踪哪个可执行文件表现/触发了这种行为,因此我无法找到它们之间的任何独特共性。
Synetech


发生这种情况是因为Windows在存储关联时仅使用可执行文件名称,而不使用完整路径。完整的说明和解决方案:superuser.com/a/886139/425338
diego nunes

Answers:


49

原因很可能是注册表中的一个古怪现象,由于某种未知原因而出现了。

确保以下位置的键值包含正确的路径:

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

在注册表中搜索应用程序名称和文件扩展名,以查看其他条目是否也可能损坏。


4
这正是我的问题。.一旦我更改了该位置的值,只要我尝试浏览->重新打开,它就可以正常工作
abelito 2012年

当键值未指向应用程序的正确位置时,请按此处另一个答案
sancho.s恢复Monica,2013年

2
这为我解决了。问题是我将其从32位升级到64位,因此它正在寻找Program Files (x86)而不是Program Files
endolith

2
在此注册表项中修复应用程序的路径即可对其进行修复。当我卸载应用程序,然后以其他路径重新安装时,该注册表项未更新。这似乎是Win7的错误,如果存在该应用程序的条目,则Windows会在不修改注册表条目的情况下退出应用程序选择过程。即使您选择的路径与注册表项的现有值不匹配。阻止用户使用“打开方式” GUI将路径更改为现有应用程序。
chetto

3
恭喜MS。...已经过去6年半了,我们仍在这样做。
ZaLiTHkA

14

实际上,这是一个非常简单的问题。这是因为Windows仅根据程序的基本可执行文件名称使用关联

每当您将程序与扩展名相关联时,该程序就会出现在HKEY_CLASSES_ROOT\Applications列表中,其中键名是可执行文件的基本名称(例如MSACCESS.EXEAcroRD32.exe)。如果另一个程序具有相同的可执行文件名,则不能将其与文件扩展名关联。发生的事情是您可能将软件移到了另一个位置(您可以看到它主要发生在便携式软件版本中),并且当您尝试指向它时,Windows将看到该名称已经注册,而是尝试使用该注册名称。路径。当找不到它时,它会默默地忽略该错误,并在不做任何更改的情况下将对话框显示回去。

解决方法同样简单:只需更正或删除密钥,然后重试。它将起作用。HKCR\Applications\YourAppName.exe


当您安装了多个Adobe Photoshop版本(通过Creative Cloud)时,所有版本都使用相同的可执行文件名称,也会发生这种情况。
Phrogz '17

而已!非常愚蠢,他们也应该存储路径或哈希。
菲利普·F

11

上面显示的注册表项是我的问题。

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

应该读:

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

访问2010。

它仍然有条目:

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

适用于Office 2007。

该文件在该位置不存在,因此在我更改条目之前它没有出现在应用程序选择器中。

更新注册表后,便可以直接从可用应用程序列表中选择Microsoft Access。


4

我对Sublime Text也有类似的问题。Open With无论我做什么,它都不会显示在对话框中。这就是我解决的方法。

  1. 打开regedit或任何注册表编辑器。
  2. 导航至:\HKEY_CURRENT_USER\Software\Classes\Applications\sublime_text.exe\shell\open
  3. 删除所有子项。
  4. 创建command带有值的子项"C:\path\to\sublime_text.exe" "%1"(包括双引号!)。

当然,这将适用于任何程序,不仅限于Sublime Text。只需替换sublime_text.exe为程序的可执行文件即可。


2

如果全部失败,则可以手动编辑注册表(首先备份配置单元/密钥):

具有关联应用程序的每种文件类型(扩展名)在HKEY_CLASSES_ROOT下都有一个注册表项。

或使用Windows文件关联编辑器FileAsoc

FileAsoc是开源免费软件。

File Type Doctor,它是Creative Element Power Tools(共享软件)的一部分

替代文字


他们通过注册表更改此方法的方式在此处的另一个答案中
sancho.s Reinstate Monica

1
对我来说,FileAsoc似乎不是一个很好的建议,它需要一个相当特殊的VB运行时环境(默认情况下未安装,并且似乎很难获得,从FileAsoc的页面到这些链接的链接已失效。建议使用的“ Creative Element”电动工具”也不再可用!
编码

1
似乎该程序已退出网络。相反,请尝试FileTypesMan(为我工作):nirsoft.net/utils/file_types_manager.html
roblogic

1

我更改了wmplayer.exe的问题(该文件在公开对话中丢失并无法添加),

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

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

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

Programme“程序文件”的本地化(德语)版本在哪里。这对我来说没有任何意义(因为当我在Windows资源管理器的外壳菜单中单击“复制路径”时,该路径包含Program Files。当我通过在“打开方式”对话框中浏览添加媒体播放器时,它也添加了Program Files),但它可以作为一种解决方案,只需删除reg键即可。


0

我曾见过某些对话框不提示您进行安全性提升,并且未向您显示无法进行更改的消息的情况。尝试通过控制面板进行操作

控制面板->程序->默认程序->设置关联

或者,只需在开始菜单搜索中输入“文件打开”,然后选择“使文件类型始终通过特定程序打开”


0

我最近在所有媒体文件关联中都遇到了类似的问题,这似乎是由于一个令人讨厌的媒体播放器DAPlayer引起的。即使在Control Panel/ Programs/ Default Programs/下Set Default Programs,我也无法更改默认程序。显然,它为所有文件关联将UserChoice密钥设置HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts为只读访问权限,即使对于管理员也是如此。即使卸载了程序,我的所有关联仍然停留在“未知应用程序”上。

解决此问题的最简单方法是浏览到Regedit中的该键,右键单击它并选择“权限”,单击“高级”按钮,选中“替换所有子对象权限”,然后单击“确定”。

或者,如果您更喜欢命令行,则可以使用Windows资源工具包工具SubInACL

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

但请注意以下类似的批量注册表操作:使用不当可能会导致系统无法运行!我对您的行为不承担任何责任。


0

NirSoft经常进行救援:http ://www.nirsoft.net/utils/file_types_manager.html

那就是NirSoft的FileTypesMan(Windows的文件类型管理器)。


欢迎来到超级用户!在此问答网站上,我们试图为人们发布的问题提供良好的答案。其中一部分是将答案包含在您的帖子中,而不是简单地提供指向可能回答该问题的其他页面的链接。请编辑您的答案,以包含所发布问题的实际解决方案。请参阅如何参考他人撰写的材料以获取帮助。
cascer1

0

解决此问题的一种好方法是删除与所需应用程序关联的所有记录

例如:

如果要放在“ 打开方式”列表中的.exe文件是NOTEPAD ++。EXE

1-打开regedit并找到notepad ++。exe

2-删除找到的所有记录

3-现在再次尝试使用对话框打开

…… 布雷姆!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.