Windows 8 traci opcje w menu „Otwórz za pomocą” po zmianie skojarzeń plików


18

Gdy domyślnie ustawiam program, aby otwierał określony typ pliku, działa (jak Word 2013 dla plików PDF). Jednak po zmianie domyślnej wartości z powrotem na czytnik tracę Word jako opcję, którą mogę wybrać w open withpodmenu.

Jak mogę go nakleić?

Wygląda na to, że w Word jest coś wyjątkowego. Dodanie Notepad ++ jako domyślnego, a następnie jego przywrócenie wydaje się utrzymywać Notepad ++ w podmenu.

Wersja Word to 2013.

W przypadku, gdy nie było to jasne, używam wersji RTM (nie podglądu).


Czy próbowałeś „Skojarzyć typ pliku lub protokół z programem” z panelu sterowania za pomocą „Domyślnych programów”?
avirk

@avirk Zakładając, że masz na myśli po prostu ustaw go jako domyślny, który działa (ale nie jest to, co dzieje się źle). Zmiana domyślnej wartości domyślnej usuwa Word jako opcję
soandos

Myślę, że warto spróbować.
avirk

sprawdziłeś, czy wartość jest wstawiana do rejestru przy ścieżce HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.docx\OpenWithList. Powinna być lista programów, które powiążesz dla .docx lub innego rozszerzenia, które chcesz sprawdzić.
avirk

@avirk Bardzo dziwne. Jest tam (podobnie jak chrome, który również nie pojawia się na liście), ale domyślnego programu do jego otwarcia (czytnika) nie ma na liście
soandos

Odpowiedzi:


4

Co to jest Up!?!

Witaj. Uwielbiam, gdy ktoś mówi;

„[...] jak to debugować?”

Tak naprawdę nie mam instalacji systemu Windows 8 i nie grałem też z instalacją systemu Windows 8, więc założę, że istnieją pewne podstawowe podobieństwa do jego poprzedników. Spróbuję przywoływać założenia, gdy je podejmuję.

Wzywając strzały

Domyślam się, na podstawie twojego opisu problemu, że system nie rejestruje odpowiednich wpisów w rejestrze, więc kiedy uruchomisz „otwórz” po poprzedniej czynności „otwórz za pomocą ...” zobaczysz aplikację, którą wybrany ostatni raz.

Przeprowadzę cię przez twój problem i udowodnię lub obalę początkowe przypuszczenia. Jeśli nie potrzebujesz całej mojej szczegółowości poniżej, możesz przeskoczyć / zeskanować do sekcji Rozpoznanie, w której zaczynamy próbować odkryć problem.

Szybkie poprawki

Zanim przejdziemy do bardziej zaangażowanych kroków opisanych poniżej, powinieneś najpierw sprawdzić interfejs programów domyślnych w Panelu sterowania . Możesz uzyskać podobny efekt, przechodząc przez menu „otwórz za pomocą ...”, ale już powiedziałeś, że to nie działało. ** Upewnij się, że ustawiono pole wyboru wskazujące, aby zapamiętać ustawienie jako aplikację domyślną dla dowolnej wybranej aplikacji.

W interfejsie programów domyślnych w Panelu sterowania mogą być dostępne opcje „resetu ustawień domyślnych” lub przywrócenia poprzedniej wersji. Możesz rozważyć te różne opcje, aby sprawdzić, czy rozwiążą Twój problem. Zrób to najpierw, ponieważ będą to najłatwiejsze poprawki. Jeśli nie działają, przejdź do poniższych opcji.


Założenia

Są to założenia, które przewiduję. Jeśli któryś z nich jest daleko od bazy, daj mi znać, a jeśli będę musiał, poświęcę czas na skonfigurowanie instalacji systemu Windows 8.

Rejestr

Wydaje mi się, że największym założeniem jest to, że system operacyjny nadal korzysta z rejestru, a w miejscach, w których podaję przykłady, zakładam, że układ / struktura katalogu rejestru w systemie Windows 8 jest podobny do swoich poprzedników.

Cmd.exe

Osobiście często wolę wiersz polecenia, więc prawdopodobnie opiszę kroki w kontekście sesji terminalowej. Zakładam, że Windows 8 nadal ma cmd.exe ; Byłbym naprawdę zaskoczony, gdyby tak nie było.

Edytor rejestru

Jeśli istnieje rejestr, prawdopodobnie istnieje narzędzie do przeglądania / edycji rejestru. Zakładam, że nazwa GUI i narzędzi wiersza poleceń są takie same, jak w poprzednich wersjach.

Uprawnienia użytkownika

Zakładam, że sposoby wywoływania powłoki z podwyższonymi uprawnieniami są wystarczająco podobne do poprzedników systemu operacyjnego, że będziesz wiedział, co robić. Jeśli jestem tu poza bazą, po prostu poproś mnie o wyjaśnienie, a zrobię, co mogę.

SysInternals Suite

Byłbym bardzo rozczarowany, gdyby nie były one dostępne w systemie Windows 8. Nie mogę uwierzyć, że nie byłyby one dostępne, ponieważ są tak fundamentalne dla cykli programowania / kontroli jakości , przez które przechodzą Microsoft i zewnętrzni programiści.

WinDbg.exe, DDK i SDK

Zakładam, że jeszcze ich nie masz. W porządku. Prawdopodobnie możemy rozwiązać ten problem bez konieczności użycia tych ciężkich narzędzi. Najpierw przejdź do sekcji Recon, a jeśli potrzebujesz (lub po prostu chcesz) zejść głębiej, porozmawiaj o tych narzędziach.

zwiad

Zawsze staraj się wykonać swoje zadanie w możliwie najprostszy sposób. Zaczynając od debugera systemu Windows byłoby przesadą dla punktu początkowego, a nieco trudniej byłoby znaleźć odpowiedni fragment / sekwencję zdarzeń.

Jeśli jeszcze nie pobrałeś i nie zainstalowałeś pakietu SysInternals , powinieneś to zrobić teraz. Przynajmniej będziesz potrzebować Process Explorer i Process Monitora do pierwszych prób wykrycia, co się dzieje. Oba te narzędzia są częścią pakietu, który można pobrać jako plik * .zip, ale jeśli masz słabe połączenie sieciowe, możesz pobrać te dwa narzędzia osobno, aby zrobić to szybciej.

Rozpakuj pakiet / narzędzia w odpowiednie miejsce w twoim systemie (głównie twoje osobiste preferencje). Jeśli używasz domyślnego narzędzia do rozpakowywania systemu Windows, będziesz chciał usunąć plik strefy przed rozpakowaniem archiwum. Plik strefy to sposób, w jaki system operacyjny wie, że „ten plik został pobrany z Internetu [...] uruchamiany na własne ryzyko [...] odznacz pole [...]”. Jestem pewien, że widziałeś wcześniej wiadomość podobną do tej w wyskakującym okienku. Zazwyczaj w lewym dolnym rogu wyskakującego okienka zwykle znajduje się małe pole wyboru, które zapamięta Twoją decyzję, jeśli zmienisz ją raz.

Innym sposobem zobaczenia tego pola wyboru jest kliknięcie prawym przyciskiem myszy -> Właściwości pobranego pliku. Pole wyboru powinno znajdować się na dole karty Ogólne . Jednokrotne przełączenie tego pola wyboru usunie plik strefy z pliku binarnego (na marginesie, plik strefy jest przechowywany w alternatywnym strumieniu danych danego pliku binarnego - ale to kolejna dyskusja. Na razie skorzystaj z wyskakujących okien lub interfejsy właściwości plików do manipulowania plikami strefy .

Pamiętaj, aby usunąć plik strefy z archiwum * .zip przed rozpakowaniem go za pomocą domyślnego narzędzia zip systemu Windows. Jeśli nie usuniesz go z pliku * .zip, narzędzie ZIP oznaczy każdy rozpakowany plik plikiem strefy, a wtedy pojawi się wyskakujące okienko dla każdego pliku binarnego uruchamianego w pakiecie.

Istnieją dwa narzędzia, od których zaczniemy: * Process Explorer (procexp.exe) * Monitor procesu (procmon.exe)

Możesz odwołać się do odpowiedniego pliku * .chm, jeśli chcesz dowiedzieć się więcej na ich temat. Zaczniemy od Process Explorer i jeśli nie będziemy w stanie szybko wykryć problemu, przejdziemy do Monitora procesów (który jest nieco bardziej zaangażowany w uruchomienie), a jeśli nadal nie będziemy w stanie rozwiązać problemu, porozmawiamy o wyciągnięciu wielkich pistoletów. Faktem jest jednak, że często znajduję to, co muszę wiedzieć w fazie ponownego rozpoznawania i nie muszę uruchamiać debugera.

Tło i zrozumienie

Rejestr to miejsce, w którym system przechowuje mapowania dotyczące rozszerzeń plików do aplikacji, które wiedzą, jak je obsługiwać. Na przykład można użyć narzędzi wiersza polecenia ftype i assoc do przeglądania / manipulowania mapowaniami rozszerzeń aplikacji.

Aby zobaczyć typ pliku powiązany z rozszerzeniem „.txt”, wykonaj następujące polecenie z terminala.

$> assoc .txt
.txt=txtfile

Oznacza to, że rozszerzenie pliku .txt jest przypisane do klasy typów plików txtfile . Następnie, aby zobaczyć aplikację powiązaną z klasą txtfile , uruchom polecenie

$> ftype txtfile
txtfile=%SystemRoot%\system32\notepad.exe %1

Te narzędzia po prostu czytają ustawienia rejestru dla systemu. Możesz wyświetlić je samodzielnie za pomocą narzędzia takiego jak reg.exe, które uruchomisz z terminala lub większość ludzi woli edytor rejestru GUI regedit.exe . W tej lokalizacji zobaczysz niektóre rozszerzenia, klasy typów plików i powiązania aplikacji, które po prostu poszukasz w gałęzi HKEY_CLASSES_ROOT. Bezpośrednio pod tym gałęzią powinieneś znaleźć klucz zarówno do „.txt”, jak i „txtfile” i oczywiście o wiele więcej.

Oto kilka przykładów użycia narzędzi assoc i ftype .


Upewnij się, że karmisz rozszerzenia assoc . Myślę, że już o tym wiesz, ale dla jasności rozszerzenia to „kropka, po której następują 3 lub 4 znaki” kończące nazwę pliku. Na przykład application.exe , document.txt lub presentaion.ppt. Narzędzie assoc oczekuje, że podasz „.” oraz 3/4 znaków jako parametr.

$> assoc .exe
.exe=exefile
$> assoc .txt
.txt=txtfile

Oddzielne i inne niż rozszerzenie pliku jest typ pliku . Wiele rozszerzeń plików można zgrupować w jeden typ pliku . Zastanów się, jak „.html” i „.htm” mapują na ten sam typ pliku; to znaczy „plik html”. Poniższy przykład próbuje dalej wykazać ten punkt.

$> assoc .html
.exe=htmlfile
$> assoc .htm
.txt=htmlfile
$> ftype htmlfile
htmlfile="C:\Program Files (x86)\Internet Explorer\iexplorer.exe" -nohome

Ponadto zauważ, że rejestr zawiera następujące klucze w gałęzi HKEY_CLASSES_ROOT.

  • HKCR.html
  • HKCR.htm
  • HKCR \ htmlfile

Jeśli istnieje wygodny sposób na przesłanie / załączenie / udostępnienie pliku txt, uruchom następujące polecenia, a ja przyjrzę się wynikom, które utworzyły.

$> cd \somewhere\easy\for\you\to\find\
$> assoc > extension_associations.txt
$> ftype > filetype_handlers.txt

Powinieneś być teraz w stanie otworzyć foldery, w których zapisałeś te pliki i udostępnić je. Następujące polecenia powinny również otworzyć pliki (jeśli wydaje się, że można znaleźć utworzone pliki).

$> notepad \somewhere\easy\for\you\to\find\extension_associations.txt
$> notepad \somewhere\easy\for\you\to\find\filetype_handlers.txt

Jeśli nie możesz udostępnić mi całych plików * .txt, przynajmniej uruchom te dwa polecenia i po prostu umieść ich wyniki w komentarzach.

$> assoc .txt
.txt=textfile
$> ftype textfile
textfile="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"

Jeśli nic tam nie widzisz , powinieneś zacząć od ustawienia tego na coś. Upewnij się, że masz podwyższone uprawnienia (czyli uprawnienia administratora) podczas wprowadzania tych zmian, w przeciwnym razie prawdopodobnie nie będą działać zgodnie z oczekiwaniami.

Process Explorer

DO ZROBIENIA w razie potrzeby

Monitor procesu

DO ZROBIENIA w razie potrzeby

Instalowanie środowisk debugowania systemu Windows


Trzy rzeczy: 1) dzięki za długą odpowiedź. 2) Wydaje mi się, że dzieje się coś innego, ponieważ ftype mówi, że nie ma nic związanego z żadnym rozszerzeniem, które wrzucam. 3) Program, który chcę skojarzyć, to Word 2013, który jest usługą, a nie exe per se (lub jeśli tak, nie mam pojęcia gdzie to jest, menedżer zadań pokazuje działającą usługę). jakieś pomysły?
soandos

Nie ma problemu. Upewnij się, że karmisz rozszerzenia assoc . Myślę, że już o tym wiesz, ale dla jasności rozszerzenia to „kropka, po której następują 3 lub 4 znaki” kończące nazwę pliku. Na przykład application.exe , document.txt lub presentaion.ppt. Narzędzie assoc oczekuje, że podasz „.” oraz 3/4 znaków jako parametr. $> assoc .exe .exe = exefile $> assoc .txt
GuyHoozdis

ftype .txt podaje „Nie znaleziono typu pliku .txt” lub nie jest z nim powiązane polecenie otwarte. ” na przykład
soandos

Przekazywanie rozszerzenia pliku do narzędzia ftype jest nieprawidłowe . Poświęć chwilę na zapoznanie się, a właściwie przygotuj się, aby lepiej zrozumieć sytuację, przykładowe polecenia, które napisałem w „AKTUALIZACJI” do oryginalnego postu. Po zrobieniu tego zadaj sobie pytanie „Jaka jest różnica między typem pliku a rozszerzeniem ? Jeśli nie wiesz, przeczytaj moje przykłady po raz drugi. Jeśli nadal nie ma to sensu, spróbujemy inne podejście
GuyHoozdis,

Windows nie ma terminala. Ma wiersz polecenia, a polecenia nie zaczynają się od $, tak jak w systemach Unix.
Elmo

1

Domyślny edytor programów może edytować listę „Otwórz za pomocą ...” w systemie Windows 8:

File Type settings-> Change 'Open with' programs-> Wybierz typ pliku

domyślny edytor programów otwarty z listą

Dodaj dowolny program, który chcesz „przykleić”, i kliknij Zapisz.

Uwaga: w bieżącej wersji pojawiają się tutaj zwykłe aplikacje komputerowe, więc nie ma możliwości dodania / usunięcia aplikacji Metro. Ale to wciąż powinno rozwiązać twoje pytanie.


Czy masz coś przeciwko wklejeniu zrzutu ekranu wcześniej? Nie mogę znaleźć tego okna dialogowego
soandos,

@soandos jest to hiperłącze w lewym dolnym rogu ekranu ustawień typu pliku
Factor Mystic

Jestem idiotą, nie widziałem linku do pobrania
soandos

Jak mogę dodać słowo 2013? Jest to usługa, a nie plik wykonywalny
soandos

@soandos Nadal jest zainstalowany na dysku twardym. Dla mnie Word jest zainstalowany wC:\Program Files\Microsoft Office 15\root\office15\winword.exe
Factor Mystic

0

Zrobić Otwórz za pomocą -> Wybierz domyślny program . Po otwarciu okna odznacz „Użyj tej aplikacji do wszystkich plików .pdf i wybierz Word, aby ją otworzyć. Jeśli nie ma jej na liście, użyj linku„ Szukaj innej aplikacji na tym komputerze ”na dole Lista.

Po otwarciu pliku PDF za pomocą programu Word, ale bez ustawiania go jako domyślnego programu, powinien pojawić się w menu kontekstowym „otwórz za pomocą” przy następnym użyciu.

Wpisz opis zdjęcia tutaj


3
Nie ma To moje pytanie. Dlaczego nie
soandos

Czy używasz RTM W8? Czy przeczytałeś uważnie moje instrukcje?
Moab

RTM i tak. Ustawiłem inny program jako domyślny, następnie otworzyłem go słowem, a potem spojrzałem na otwarte z podmenu. Wciąż mnie tam nie było (mówię o natychmiastowym menu, a nie o „Wybierz domyślne menu” bez zaznaczenia pola
soandos

Nie jestem pewien, co jest nie tak, działa na moim systemie Windows 8 RTM. Te informacje są przechowywane w rejestrze, bardziej niż prawdopodobnie wpis MRU.
Moab

Masz pomysł, jak to debugować?
soandos
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.