Okno dialogowe „Otwórz za pomocą” ignoruje mój wybór


41

Korzystam z systemu Windows 7 x64. Mam typ pliku, który chcę skojarzyć z Microsoft Access 2003.

Klikam plik prawym przyciskiem myszy i wybieram Otwórz za pomocą-> Wybierz domyślny program. W oknie dialogowym „Otwórz za pomocą” wybieram przycisk Przeglądaj. Wybieram Program Files (x86) \ Microsoft Office \ Office11 \ msaccess.exe i naciskam „Otwórz”.

Wracam do okna dialogowego „Otwórz za pomocą”, ale nic się nie zmieniło. Access nie jest wymieniony jako program, za pomocą którego można otworzyć plik. Oryginalny program (Adobe Acrobat) powiązany z tym programem jest nadal wybrany.

Jakieś wskazówki na temat uruchomienia tego stowarzyszenia?


4
Tak, to dziwny błąd, który denerwuje mnie od dawna i kilka wersji systemu Windows. Zdarza się to tylko sporadycznie, więc nie śledziłem, które pliki wykonywalne wykazują / wyzwalają to zachowanie, dlatego nie byłem w stanie znaleźć żadnej unikalnej podobieństwa między nimi.
Synetech,


dzieje się tak, ponieważ podczas przechowywania skojarzeń system Windows używa tylko nazwy pliku wykonywalnego, a nie pełnej ścieżki. Pełne wyjaśnienie i rozwiązanie: superuser.com/a/886139/425338
Diego Nunes

Odpowiedzi:


49

Przyczyną jest prawdopodobnie dziwactwo w rejestrze, które wymknęło się z nieznanego powodu.

Upewnij się, że wartość klucza w następującej lokalizacji zawiera poprawną ścieżkę:

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

Wyszukaj nazwę aplikacji i rozszerzenie pliku w rejestrze, aby sprawdzić, czy inne wpisy mogą być również uszkodzone.


4
To był właśnie problem dla mnie .. kiedy zmieniłem wartość w tej właśnie lokalizacji, działało dobrze, gdy tylko spróbowałem przeglądać -> otwórz ponownie
abelito,

Jeśli wartość klucza nie wskazuje właściwej lokalizacji aplikacji, zmień ją, jak wskazano w innej odpowiedzi tutaj
sancho.s Przywróć Monikę

2
Naprawiłem to dla mnie. Problem polegał na tym, że uaktualniłem go z 32-bitowego na 64-bitowy, więc szukałem Program Files (x86)zamiastProgram Files
endolith

2
Naprawiono ścieżkę do aplikacji w tym kluczu rejestru. Pojawia się, gdy odinstalowałem aplikację, a następnie przeinstalowałem z inną ścieżką, ten klucz rejestru nie został zaktualizowany. Wygląda na błąd Win7, że jeśli istnieje wpis dotyczący aplikacji, system Windows kończy proces wyboru aplikacji bez modyfikowania wpisu rejestru; nawet jeśli wybrana ścieżka nie odpowiada istniejącej wartości wpisu rejestru. Uniemożliwia użytkownikom zmianę ścieżki do istniejącej aplikacji za pomocą graficznego interfejsu użytkownika „Otwórz za pomocą”.
chetto,

3
Gratulacje dla MS .... 6 i pół roku później i nadal to robimy.
ZaLiTHkA

14

W rzeczywistości jest to bardzo prosty problem. Dzieje się tak, ponieważ system Windows używa skojarzeń opartych wyłącznie na podstawowej nazwie pliku wykonywalnego programu .

Ilekroć kojarzysz program z rozszerzeniem, program będzie obecny na HKEY_CLASSES_ROOT\Applicationsliście, gdzie nazwy kluczy są podstawowymi nazwami plików wykonywalnych (np. MSACCESS.EXEI AcroRD32.exe). Nie można powiązać innego programu z rozszerzeniem pliku, jeśli ma taką samą nazwę pliku wykonywalnego . Stało się tak, że prawdopodobnie przeniosłeś oprogramowanie do innej lokalizacji (widać, że dzieje się tak głównie z przenośnymi wersjami oprogramowania), a gdy spróbujesz wskazać, Windows zobaczy, że nazwa jest już zarejestrowana i zamiast tego spróbuje użyć zarejestrowanej nazwy ścieżka. Gdy nie może tego znaleźć, ignoruje błąd i wyświetla okno dialogowe bez żadnych zmian.

Rozwiązanie jest równie proste: po prostu popraw lub usuń klucz i spróbuj ponownie. To będzie działać.HKCR\Applications\YourAppName.exe


Dzieje się tak również wtedy, gdy masz zainstalowanych wiele wersji Adobe Photoshop (za pośrednictwem Creative Cloud), z których wszystkie używają tej samej nazwy pliku wykonywalnego.
Phrogz

To jest to! Bardzo głupi, powinni też przechowywać ścieżkę lub skrót.
Philipp F

11

Pokazany powyżej klucz rejestru był moim problemem.

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

Powinien przeczytać:

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

dla dostępu 2010.

Nadal miał wpis:

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

na biuro 2007.

Plik nie istnieje w tej lokalizacji, więc nie pojawił się w selektorze aplikacji, dopóki nie zmieniłem wpisu.

Po zaktualizowaniu rejestru mogłem wybrać Microsoft Access bezpośrednio z listy dostępnych aplikacji.


4

Miałem podobny problem z Sublime Text. Nie pojawiłby się w Open Withoknie dialogowym bez względu na to, co zrobiłem. Tak to rozwiązałem.

  1. Otwórz regeditlub dowolny edytor rejestru.
  2. Przejdź do: \HKEY_CURRENT_USER\Software\Classes\Applications\sublime_text.exe\shell\open.
  3. Usuń wszystkie podklucze.
  4. Utwórz podklucz commandz wartością "C:\path\to\sublime_text.exe" "%1"(w tym podwójne cudzysłowy!).

Oczywiście będzie to działać z każdym programem, nie tylko Sublime Text. Po prostu zamień sublime_text.exena plik wykonywalny programu.


2

Jeśli wszystko się nie powiedzie, możesz ręcznie edytować rejestr (najpierw wykonaj kopię zapasową gałęzi / klucza):

Każdy typ pliku (rozszerzenie), który ma powiązaną aplikację, ma klucz rejestru pod HKEY_CLASSES_ROOT.

Lub skorzystaj z FileAsoc , edytora Windows File Association

FileAsoc jest darmowym oprogramowaniem typu open source.

Lub File Type Doctor , który jest częścią Creative Element Power Tools (shareware)

alternatywny tekst


Sposób, w jaki można to zmienić za pomocą rejestru, jest wskazany w innej odpowiedzi tutaj
sancho.s Reinstate Monica

1
FileAsoc nie wydaje mi się dobrą rekomendacją, wymaga raczej osobliwego środowiska wykonawczego VB (które nie jest instalowane domyślnie i wydaje się trudne do zdobycia, linki ze strony FileAsoc do nich są martwe. I zalecany „Element kreatywny” Narzędzia elektryczne ”również nie są już dostępne!
kodowanie

1
Wygląda na to, że ten program spadł z Internetu. Zamiast tego spróbuj FileTypesMan (pracował dla mnie): nirsoft.net/utils/file_types_manager.html
roblogic

1

Naprawiłem problem z moim wmplayer.exe (którego brakowało i nie można go dodać w otwartym oknie dialogowym), zmieniając

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

z

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

do

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

Gdzie Programmejest zlokalizowana (niemiecka) wersja „Program Files”. Nie ma to dla mnie żadnego sensu (ponieważ gdy kliknę „Kopiuj ścieżkę” w menu powłoki Eksploratora Windows, ścieżka zawiera Program Files. A gdy dodam Media Player, przeglądając okno dialogowe „Otwórz za pomocą”, dodaje się również Program Files), ale działało to jako rozwiązanie, w którym po prostu nie usunięto klucza reg.


0

Widziałem przypadki, w których niektóre okna dialogowe nie monitują o podniesienie poziomu zabezpieczeń i nie wyświetlają komunikatu, że zmiany nie można wprowadzić. Spróbuj to zrobić za pomocą panelu sterowania

Panel sterowania -> Programy -> Programy domyślne -> Ustaw skojarzenia

Lub po prostu wpisz „otwórz plik” w wyszukiwaniu w menu Start i wybierz „Ustaw typ pliku zawsze otwieraj za pomocą określonego programu”


0

Ostatnio miałem podobny problem ze wszystkimi powiązaniami plików multimedialnych i wydawało się, że to z powodu wstrętnego odtwarzacza multimediów o nazwie DAPlayer. Nawet pod Control Panel/ Programs/ Default Programs/ Set Default Programsnie mogłem zmienić domyślnego programu. Najwyraźniej ustawił UserChoiceklucze HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExtsdla wszystkich swoich powiązań plików na dostęp tylko do odczytu, nawet dla administratorów. Nawet po odinstalowaniu programu wszystkie moje skojarzenia pozostały przy „Nieznanej aplikacji”.

Najprostszym sposobem rozwiązania tego problemu jest przejście do tego klucza w Regedit, kliknięcie go prawym przyciskiem myszy i wybranie Uprawnienia, kliknięcie przycisku Zaawansowane, zaznaczenie opcji „Zamień wszystkie uprawnienia do obiektów podrzędnych” i kliknij przycisk OK.

Lub jeśli wolisz wiersz poleceń, możesz użyć narzędzia Windows Resource Kit o nazwie SubInACL :

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

Uważaj jednak na takie operacje rejestrowania zbiorczego, jak to: niewłaściwe użycie może spowodować, że system nie będzie działał! Nie biorę odpowiedzialności za twoje działania.


0

NirSoft często ratuje: http://www.nirsoft.net/utils/file_types_manager.html

To jest FileTypesMan (Menedżer typów plików dla systemu Windows) firmy NirSoft.


Witamy w Super User! Na tej stronie pytań i odpowiedzi staramy się udzielać dobrych odpowiedzi na pytania zadawane przez ludzi. Częścią tego jest umieszczenie odpowiedzi w swoim poście, zamiast zwykłego linku do innej strony, która może odpowiedzieć na pytanie . Edytuj swoją odpowiedź, aby uwzględnić rzeczywiste rozwiązanie zadanego pytania. Aby uzyskać pomoc, zobacz temat Jak odwoływać się do materiałów napisanych przez innych .
cascer1

0

Dobrym sposobem na rozwiązanie tego problemu jest usunięcie wszystkich rekordów powiązanych z wybraną aplikacją

Na przykład:

Jeśli plik .exe, który ma zostać umieszczony na liście Otwórz za pomocą, to NOTEPAD ++. EXE

1 - Otwórz regedit i znajdź dla notatnika ++. Exe

2 - Usuń wszystkie znalezione rekordy

3 - Teraz spróbuj ponownie otworzyć za pomocą okna dialogowego

... Bleem !!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.