Windows 8 verliert die Optionen im Menü "Öffnen mit", nachdem die Dateizuordnungen geändert wurden

18

Wenn ich ein Programm so einstelle, dass es standardmäßig einen bestimmten Dateityp öffnet, funktioniert es (wie Word 2013 für PDF-Dateien). Wenn ich jedoch die Standardeinstellung auf "Leser" zurücksetze, verliere ich Word als Option, die ich im open withUntermenü auswählen kann .

Wie kann ich es zum Kleben bringen?

Es scheint, dass Word etwas Besonderes ist. Das Hinzufügen von Notepad ++ als Standard und das anschließende Zurückändern von Notepad ++ scheinen im Untermenü zu bleiben.

Word-Version ist 2013.

Falls es nicht klar war, verwende ich die RTM- Version (nicht die Vorschau).

soandos
quelle
Haben Sie in der Systemsteuerung über "Standardprogramme" versucht, einem Programm einen Dateityp oder ein Protokoll zuzuweisen?
Avirk
@avirk Angenommen, du meinst, du stellst es einfach als Standard ein, das funktioniert (aber es ist nicht das, was schief geht). Durch Ändern der Standardrückseite wird Word als Option entfernt
soandos
Ich denke, es lohnt sich, es einmal auszuprobieren.
Avirk
haben Sie , dass der Wert überprüft wird in der Registrierung auf dem Pfad eingefügt HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.docx\OpenWithList. Es sollte eine Liste der Programme geben, die Sie für die .docx-Datei oder jede andere Erweiterung, die Sie überprüfen möchten, assoziieren .
Avirk
@avirk Sehr seltsam. Es ist da (wie auch Chrome, das ebenfalls nicht in der Liste aufgeführt ist), aber das Standardprogramm zum Öffnen (Reader) ist nicht aufgeführt
soandos

Antworten:

4

Was ist das Up!?!

Hallo. Ich liebe es, wenn jemand sagt;

"[...] wie man es debuggt?"

Ich habe keine Installation des Windows 8-Setups und ich habe auch nicht mit einer Windows 8-Installation gespielt. Daher gehe ich davon aus, dass es einige grundlegende Ähnlichkeiten mit den Vorgängern gibt. Ich werde versuchen, Annahmen zu nennen, wenn ich sie mache.

Schüsse geben

Aufgrund Ihrer Beschreibung des Problems kann ich davon ausgehen, dass das System die richtigen Einträge in der Registrierung nicht aufzeichnet. Wenn Sie also "open" ausführen, nachdem Sie zuvor "open with ..." ausgeführt haben, wird die von Ihnen verwendete Anwendung angezeigt letztes Mal ausgewählt.

Ich werde Sie durch Ihr Problem führen und meine anfängliche Vermutung beweisen oder widerlegen. Wenn Sie nicht die gesamte Ausführlichkeit benötigen, die ich im Folgenden beschrieben habe, können Sie zum Abschnitt "Aufklärung" springen, in dem wir versuchen, das Problem aufzudecken.

Schnellkorrekturen

Bevor wir auf die weiter unten beschriebenen Schritte eingehen, sollten Sie zunächst die Benutzeroberfläche der Standardprogramme in der Systemsteuerung untersuchen . Sie können einen ähnlichen Effekt über das Menü "Öffnen mit ..." erzielen, aber Sie haben bereits gesagt, dass dies bei Ihnen nicht funktioniert. ** Stellen Sie sicher, dass Sie das Kontrollkästchen aktivieren, das angibt, dass Ihre Einstellung als Standardanwendung für die von Ihnen ausgewählte Anwendung gespeichert werden soll.

Unter der Benutzeroberfläche " Standardprogramme " in der Systemsteuerung stehen Ihnen möglicherweise Optionen zum "Zurücksetzen der Standardeinstellungen " oder zum Zurücksetzen auf eine frühere Version zur Verfügung. Sie können diese verschiedenen Optionen in Betracht ziehen, um festzustellen, ob sie Ihr Problem lösen. Tun Sie dies zuerst, da dies die einfachsten Lösungen sind. Wenn sie nicht funktionieren, sollten Sie mit den folgenden Optionen fortfahren.


Annahmen

Dies sind die Annahmen, die ich voraussehe. Wenn einer von ihnen weit von der Basis entfernt ist, lassen Sie es mich bitte wissen und wenn ich muss, werde ich mir die Zeit nehmen, um eine Windows 8-Installation einzurichten.

Die Registry

Ich denke, die größte Annahme, die ich mache, ist, dass das Betriebssystem immer noch die Registrierung verwendet, und an Stellen, an denen ich Beispiele anführe, gehe ich davon aus, dass das Layout / die Struktur des Registrierungsverzeichnisses in Windows 8 auch seinen Vorgängern ähnelt.

Cmd.exe

Persönlich bevorzuge ich oft eine Eingabeaufforderung, daher beschreibe ich wahrscheinlich Schritte im Kontext einer Terminalsitzung. Ich gehe davon aus, dass Windows 8 noch cmd.exe hat ; Ich wäre wirklich überrascht, wenn es nicht so wäre.

Registierungseditor

Wenn es eine Registrierung gibt, gibt es wahrscheinlich ein Tool zum Anzeigen / Bearbeiten der Registrierung. Ich gehe davon aus, dass der Name der GUI und der Kommandozeilen-Tools mit denen der Vorgänger übereinstimmt.

Benutzerberechtigungen

Ich gehe davon aus, dass die Möglichkeiten zum Aufrufen von Shell mit erhöhten Rechten denen der Betriebssystemvorgänger ähnlich sind, sodass Sie wissen, was zu tun ist. Wenn ich nicht in der Basis bin, frage mich einfach um etwas Ausarbeitung und ich werde tun, was ich kann.

SysInternals Suite

Ich wäre äußerst enttäuscht, wenn diese nicht in Windows 8 verfügbar wären. Ich kann nicht glauben, dass sie nicht verfügbar wären, da sie für die Entwickler- / Qualitätssicherungszyklen , die Microsoft und Entwickler von Drittanbietern durchlaufen, so grundlegend sind .

WinDbg.exe, DDKs und SDKs

Ich gehe davon aus, dass Sie diese noch nicht installiert haben. Das ist gut. Wir können das Problem wahrscheinlich lösen, ohne dass diese schweren Werkzeuge erforderlich sind. Gehen Sie zuerst den Abschnitt Recon durch und wenn Sie tiefer gehen möchten (oder müssen), werden Sie über diese Tools sprechen.

Recon

Versuchen Sie immer, Ihre Aufgabe zuerst mit den einfachsten Mitteln zu erledigen. Mit dem Windows-Debugger anzufangen, wäre für einen Ausgangspunkt zu viel des Guten, und es wäre etwas schwieriger, die relevanten Ereignisse / Abfolgen zu erkennen.

Wenn Sie The SysInternals Suite noch nicht heruntergeladen und installiert haben , sollten Sie dies jetzt tun. Zumindest benötigen Sie Process Explorer und Process Monitor für die ersten Versuche, Fehler zu erkennen. Beide Tools sind Teil der Suite, die Sie als * .zip-Datei herunterladen können. Wenn Sie jedoch über eine schlechte Netzwerkverbindung verfügen, können Sie die beiden Tools einzeln herunterladen, um die Ausführung zu beschleunigen.

Entpacken Sie die Suite / Tools an einen geeigneten Ort auf Ihrem System (größtenteils Ihren persönlichen Vorlieben entsprechend). Wenn Sie das standardmäßige Windows-Dekomprimierungsprogramm verwenden, müssen Sie die Zonendatei entfernen, bevor Sie das Archiv dekomprimieren. Aus der Zonendatei geht hervor, dass das Betriebssystem weiß, dass "diese Datei aus dem [...] Internet heruntergeladen und auf eigene Gefahr [...] ausgeführt wurde, indem Sie das Kontrollkästchen [...] deaktivieren". Ich bin sicher, dass Sie zuvor eine ähnliche Meldung in einem Popup-Fenster gesehen haben. Normalerweise befindet sich unten links im Popup ein kleines Kontrollkästchen, das sich an Ihre zukünftige Entscheidung erinnert, wenn Sie es einmal umschalten.

Sie können dieses Kontrollkästchen auch anzeigen, indem Sie mit der rechten Maustaste auf die heruntergeladene Datei -> Eigenschaften klicken. Das Kontrollkästchen sollte sich unten auf der Registerkarte Allgemein befinden . Durch einmaliges Aktivieren dieses Kontrollkästchens wird die Zonendatei aus der Binärdatei entfernt (als Randnotiz wird die Zonendatei in einem alternativen Datenstrom der betreffenden Binärdatei gespeichert - dies ist jedoch eine andere Diskussion. Verwenden Sie vorerst einfach die Popup-Fenster oder Dateieigenschaften-Schnittstellen zum Bearbeiten von Zonendateien .

Stellen Sie sicher, dass Sie die Zonendatei aus dem * .zip-Archiv entfernen, bevor Sie sie mit dem standardmäßigen Windows-Zip-Tool entpacken. Wenn Sie es nicht aus der * .zip-Datei entfernen, markiert das ZIP-Dienstprogramm jede entpackte Datei mit einer Zonendatei, und dann wird das Popup-Fenster für alle Binärdateien, die Sie in der Suite ausführen, nur mühsam geöffnet.

Wir beginnen mit zwei Tools: * Process Explorer (procexp.exe) * Process Monitor (procmon.exe)

Sie können auf die entsprechende * .chm-Datei verweisen, wenn Sie mehr darüber erfahren möchten. Wir beginnen mit Process Explorer. Wenn wir das Problem nicht schnell erkennen können, wechseln wir zu Process Monitor (dessen Ausführung etwas aufwändiger ist). Wenn wir das Problem immer noch nicht lösen können, werden wir darüber sprechen über die großen Waffen herausziehen. Tatsache ist jedoch, dass ich oft finde, was ich in der Aufklärungsphase wissen muss, und den Debugger nicht starten muss.

Hintergrund und Verständnis

In der Registrierung speichert das System die Zuordnungen, die Dateierweiterungen mit den Anwendungen verknüpfen, die wissen, wie sie damit umgehen. Sie können beispielsweise die Befehlszeilentools ftype und assoc verwenden , um die Zuordnungen für Erweiterungen von Anwendungen anzuzeigen / zu bearbeiten .

Um den mit der Erweiterung ".txt" verknüpften Dateityp anzuzeigen, führen Sie den folgenden Befehl von einem Terminal aus.

$> assoc .txt
.txt=txtfile

Dies zeigt , dass die TXT - Dateierweiterung zur zugeordnet txtfile Klasse von Dateitypen. Führen Sie dann den Befehl aus, um die der txtfile- Klasse zugeordnete Anwendung anzuzeigen

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

Diese Tools lesen nur die Registrierungseinstellungen für das System. Sie können sie selbst mit einem Tool wie reg.exe anzeigen, das Sie von einem Terminal aus ausführen würden, oder die meisten Leute würden den GUI-Registrierungseditor regedit.exe bevorzugen . An dieser Stelle sehen Sie einige der Erweiterungen, Dateitypklassen und Anwendungszuordnungen, die Sie einfach unter der Struktur HKEY_CLASSES_ROOT nachschlagen würden. Direkt unter dieser Struktur sollten Sie einen Schlüssel sowohl für ".txt" als auch für "txtfile" und natürlich für vieles mehr finden.

Hier einige weitere Beispiele für die Verwendung der Dienstprogramme assoc und ftype .


Stellen Sie sicher, dass Sie assoc Erweiterungen zuführen . Ich glaube , Sie bereits wissen, dies aber klar Datei seine Erweiterungen werden die „Punkt , gefolgt von 3 oder 4 Zeichen“ , die einen Dateinamen beenden. Beispiel: application.exe , document.txt oder presentaion.ppt. Das Dienstprogramm assoc erwartet, dass Sie das "." und die 3/4 Zeichen als Parameter.

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

Getrennt von der Dateierweiterung gibt es den Dateityp . Mehrere Dateierweiterungen können zu einem Dateityp zusammengefasst werden . Überlegen Sie, wie ".html" und ".htm" demselben Dateityp zugeordnet werden. das heißt "htmlfile". Das folgende Beispiel versucht, diesen Punkt weiter zu veranschaulichen.

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

Beachten Sie außerdem, dass die Registrierung die folgenden Schlüssel unter der Struktur HKEY_CLASSES_ROOT enthält.

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

Wenn es eine bequeme Möglichkeit gibt, eine txt-Datei hochzuladen, anzuhängen oder freizugeben, führen Sie die folgenden Befehle aus, und ich werde mir die von ihnen erstellte Ausgabe ansehen.

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

Sie sollten jetzt in der Lage sein, die Ordner zu öffnen, in die Sie diese Dateien geschrieben haben, und sie freizugeben. Die folgenden Befehle sollten auch die Dateien öffnen (wenn Sie die von Ihnen erstellten Dateien zu finden scheinen).

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

Wenn Sie nicht ganze * .txt-Dateien für mich freigeben können, führen Sie mindestens diese beiden Befehle aus und tragen Sie die Ergebnisse einfach in die Kommentare ein.

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

Wenn Sie dort nichts sehen , sollten Sie zunächst etwas einstellen. Stellen Sie sicher, dass Sie beim Vornehmen dieser Änderungen über erhöhte Berechtigungen (d. H. Administratorrechte) verfügen. Andernfalls funktionieren sie möglicherweise nicht wie erwartet.

Process Explorer

TODO wenn nötig

Prozessmonitor

TODO wenn nötig

Installieren von Windows-Debugging-Umgebungen

GuyHoozdis
quelle
Drei Dinge: 1) Danke für die lange Antwort. 2) Ich denke, da ist noch etwas los, da ftype angibt, dass mit keiner Erweiterung, die ich anwurfe, etwas zu tun hat. 3) Das Programm, das ich verknüpfen möchte, ist Word 2013, ein Dienst, keine Exe per se (oder wenn ich keine Ahnung habe, wo er sich befindet, zeigt der Task-Manager, dass ein Dienst ausgeführt wird). Irgendwelche Gedanken?
Soandos
Kein Problem. Stellen Sie sicher, dass Sie assoc Erweiterungen zuführen . Ich glaube , Sie bereits wissen, dies aber klar Datei seine Erweiterungen werden die „Punkt , gefolgt von 3 oder 4 Zeichen“ , die einen Dateinamen beenden. Zum Beispiel application.exe , document.txt oder presentaion.ppt. Das Dienstprogramm assoc erwartet, dass Sie das "." und die 3/4 Zeichen als Parameter. $> assoc .exe .exe = exefile $> assoc .txt
GuyHoozdis
ftype .txt gibt an, dass der Dateityp ".txt" nicht gefunden oder kein offener Befehl zugeordnet wurde. zum Beispiel
soandos
Die Übergabe einer Dateierweiterung an das Dienstprogramm ftype ist falsch . Nehmen Sie sich einen Moment Zeit, um die Beispielbefehle, die ich im "UPDATE" zum Originalbeitrag geschrieben habe, zu überprüfen und sich tatsächlich vorzubereiten, um Ihr Verständnis für die Situation zu verbessern. Stellen Sie sich danach die Frage "Was ist der Unterschied zwischen einem Dateityp und einer Dateierweiterung ? Wenn Sie meine Beispiele nicht ein zweites Mal durchlesen können. Wenn es immer noch keinen Sinn ergibt, werden wir es versuchen ein anderer Ansatz
GuyHoozdis
Windows hat kein Terminal. Es hat eine Eingabeaufforderung und Befehle beginnen nicht mit $ wie auf Unix-Systemen.
Elmo
1

Der Standardprogramm-Editor kann die Liste "Öffnen mit ..." unter Windows 8 bearbeiten:

File Type settings-> Change 'Open with' programs-> Wählen Sie einen Dateityp

Standardprogrammeditor mit Liste öffnen

Fügen Sie das gewünschte Programm hinzu und klicken Sie auf Speichern.

Hinweis: In der aktuellen Version werden hier reguläre Desktop-Apps angezeigt, sodass eine Metro-App nicht hinzugefügt oder entfernt werden kann. Aber es sollte immer noch Ihre Frage lösen.

Factor Mystic
quelle
Hast du etwas dagegen, den Screenshot vorher einzufügen? Ich kann dieses Dialogfeld nicht finden
soandos
@soandos es ist ein Hyperlink in der unteren linken Ecke des Bildschirms für die Dateitypeinstellungen
Factor Mystic
Ich bin ein Idiot, ich habe den Download-Link nicht gesehen
soandos
Wie kann ich das Wort 2013 hinzufügen? Es ist ein Dienst, keine ausführbare Datei
soandos
@soandos Es ist immer noch auf Ihrer Festplatte installiert. Für mich ist Word aufC:\Program Files\Microsoft Office 15\root\office15\winword.exe
Factor Mystic
0

Habe ein Öffnen mit -> Programm auswählen Standard . Wenn das Fenster geöffnet wird, deaktivieren Sie das Kontrollkästchen "Diese App für alle PDF-Dateien verwenden" und wählen Sie "Word", um sie zu öffnen. Wenn es nicht in der Liste enthalten ist, klicken Sie unten auf "Nach einer anderen App auf diesem PC suchen" Die Liste.

Sobald Sie die PDF-Datei mit Word geöffnet haben, sie jedoch nicht als Standardprogramm festlegen, sollte sie bei der nächsten Verwendung im Kontextmenü "Öffnen mit" angezeigt werden.

Geben Sie hier eine Bildbeschreibung ein

Moab
quelle
3
Das tut es nicht. Das ist meine Frage. Warum nicht?
Soandos
Verwenden Sie RTM W8? Hast du meine Anleitung sorgfältig gelesen?
Moab
RTM und ja. Ich habe ein anderes Programm zum Standard gemacht, es dann mit Word geöffnet und mir dann das Untermenü "Öffnen mit" angesehen. Immer noch nicht da (ich spreche über das
Sofortmenü
Ich bin mir nicht sicher, was los ist. Funktioniert auf meinem Windows 8 RTM. Diese Informationen werden in der Registrierung gespeichert, höchstwahrscheinlich ein MRU-Eintrag.
Moab
Irgendeine Idee, wie man es debuggt?
Soandos