38

Я использую Windows 7 x64. У меня есть тип файла, который я хочу связать с Microsoft Access 2003.

Я щелкаю правой кнопкой мыши по файлу и выбираю Открыть с помощью> Выбрать программу по умолчанию. В диалоговом окне "Открыть с помощью" я выбираю кнопку обзора. Я выбираю Program Files (x86)\Microsoft Office\Office11\msaccess.exe и нажимаю "Открыть".

Я снова оказался в диалоговом окне "Открыть с помощью", но ничего не изменилось. Access не указан как программа для открытия файла. Исходная программа (Adobe Acrobat), связанная с этой программой, все еще выбрана.

Любые советы о том, как заставить эту ассоциацию работать?

9 ответов9

44

Причиной, скорее всего, является странная ошибка в реестре, возникшая по неизвестной причине.

Убедитесь, что значение ключа в следующем месте содержит правильный путь:

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

Найдите имя приложения и расширение файла в реестре, чтобы проверить, не повреждены ли другие записи.

14

На самом деле это очень простая проблема. Это происходит потому, что Windows использует ассоциации, основанные исключительно на базовом исполняемом имени программы.

Всякий раз, когда вы связываете программу с расширением, она будет присутствовать в списке HKEY_CLASSES_ROOT\Applications , где имена ключей являются базовыми именами исполняемых файлов (например, MSACCESS.EXE и AcroRD32.exe). Вы не можете связать другую программу с расширением файла, если она имеет такое же имя исполняемого файла. Случилось так, что вы, вероятно, переместили программное обеспечение в другое место (вы можете видеть, что это происходит в основном с переносными версиями программного обеспечения), и при попытке указать на него Windows увидит, что имя уже зарегистрировано, и вместо этого попытается использовать зарегистрированное дорожка. Когда он не может найти это, он молча игнорирует ошибку и представляет диалог обратно без каких-либо изменений.

Решение одинаково простое: просто исправьте или удалите ключ HKCR\Applications\YourAppName.exe и повторите попытку.  Это будет работать.

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"  

для офиса 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.

Или используйте FileAsoc, редактор файловых ассоциаций Windows

FileAsoc - бесплатная программа с открытым исходным кодом.

Или File Type Doctor, который является частью Creative Element Power Tools (условно-бесплатная)

альтернативный текст

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 . И когда я добавлял Media Player, просматривая диалоговое окно "Открыть с помощью", он также добавлялся с « Program Files), но это работало как решение, где простое удаление ключа reg не помогло.

0

Я видел случаи, когда некоторые диалоговые окна не запрашивали повышение безопасности и не сообщали о невозможности внесения изменений. Попробуйте сделать это через панель управления

Панель управления -> Программы -> Программы по умолчанию -> Установить ассоциации

Или просто введите "Открыть файл" в меню "Пуск" и выберите "Сделать тип файла всегда открытым с определенной программой".

0

Недавно у меня была похожая проблема со всеми ассоциациями моих медиафайлов, и, похоже, это из-за отвратительного медиаплеера под названием DAPlayer. Даже в Control Panel/Programs/Программы по Default Programs/Set Default Programs я не смог изменить программу по умолчанию. Очевидно, он установил ключи UserChoice в HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts для всех своих файловых ассоциаций для доступа только для чтения, даже для администраторов. Даже после удаления программы все мои ассоциации оставались в "Неизвестном приложении".

Самый простой способ исправить это - перейти к этому ключу в Regedit, щелкнуть его правой кнопкой мыши и выбрать "Разрешения", нажать кнопку "Дополнительно", установить флажок "Заменить все разрешения дочернего объекта" и нажать "ОК".

Или, если вы предпочитаете командную строку, вы можете использовать инструмент Windows Resource Kit под названием 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

Это FileTypesMan (диспетчер типов файлов для Windows) от NirSoft.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .