Windows 8 perd des options dans le menu "Ouvrir avec" après avoir modifié les associations de fichiers

18

Lorsque je configure un programme pour ouvrir un type de fichier spécifique par défaut, cela fonctionne (comme Word 2013 pour les fichiers PDF). Cependant, lorsque je reviens au lecteur par défaut, je perds Word en tant qu'option que je peux choisir dans le open withsous-menu.

Comment puis-je le faire coller?

Il semble qu'il y ait quelque chose de spécial dans Word. L'ajout de Notepad ++ par défaut, puis sa modification semble conserver Notepad ++ dans le sous-menu.

La version Word est 2013.

Au cas où ce ne serait pas clair, j'utilise la version RTM (pas l'aperçu).

soandos
la source
Avez-vous essayé «Associer un type de fichier ou un protocole à un programme» à partir du panneau de configuration via «Programmes par défaut»?
avirk
@avirk En supposant que vous vouliez simplement le définir comme valeur par défaut, cela fonctionne (mais ce n'est pas ce qui ne va pas). La modification de l'arrière par défaut supprime Word en option
soandos
Je pense qu'il vaudrait la peine de lui donner un coup de feu.
avirk
avez-vous vérifié que la valeur est insérée dans le registre au niveau du chemin HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.docx\OpenWithList. Il devrait y avoir une liste de programmes que vous devez associer au .docx ou à l'extension que vous souhaitez vérifier.
avirk
@avirk Très étrange. Il est là (tout comme Chrome, qui n'apparaît pas non plus sur la liste) mais le programme par défaut pour l'ouvrir (lecteur) n'est pas répertorié
soandos

Réponses:

4

Quel est le Up!?!

Bonjour. J'adore quand quelqu'un dit;

"[...] comment le déboguer?"

Je n'ai pas réellement d'installation de l'installation de Windows 8, et je n'ai pas non plus joué avec une installation de Windows 8, donc je vais supposer qu'il existe des similitudes fondamentales avec ses prédécesseurs. J'essaierai d'exprimer des hypothèses au fur et à mesure que je les formulerai.

Appelant les coups

Ma conjecture, basée sur votre description du problème, est que le système ne parvient pas à enregistrer les entrées appropriées dans le registre de sorte que lorsque vous exécutez "open" après avoir précédemment "ouvert avec ...", vous verrez l'application que vous sélectionné la dernière fois.

Je vais vous guider à travers votre problème et prouver ou infirmer ma supposition initiale. Si vous n'avez pas besoin de toute ma verbosité ci-dessous, vous pouvez sauter / numériser jusqu'à la section Recon où nous commençons à essayer de découvrir le problème.

Réparations rapides

Avant de passer aux étapes les plus complexes décrites ci-dessous, vous devez d'abord examiner l' interface des programmes par défaut trouvée dans le panneau de configuration . Vous pouvez obtenir un effet similaire en passant par le menu "Ouvrir avec ...", mais vous avez déjà dit que cela ne fonctionnait pas pour vous. ** Assurez-vous que vous cochez la case qui indique de se souvenir de votre paramètre comme application par défaut pour l'application que vous avez sélectionnée.

Sous l' interface des programmes par défaut dans le Panneau de configuration, il peut y avoir des options pour "réinitialiser les paramètres par défaut" ou revenir à une version précédente. Vous pouvez considérer ces différentes options pour voir si elles résolvent votre problème. Faites-les d'abord, car ce seront les correctifs les plus faciles. S'ils ne fonctionnent pas, vous devez continuer avec les options ci-dessous.


Hypothèses

Ce sont les hypothèses que je prévois. Si certains d'entre eux sont loin de la base, veuillez me le faire savoir et si je le dois, je prendrai le temps de configurer une installation de Windows 8.

Le greffe

Je pense que la plus grande hypothèse que je fais est que le système d'exploitation utilise toujours le registre et pour les endroits où je donne des exemples, je suppose que la disposition / structure du répertoire du registre dans Windows 8 est également similaire à ses prédécesseurs.

Cmd.exe

Personnellement, je préfère souvent une invite de commande, donc je décrirai probablement les étapes dans le contexte d'une session de terminal. Je suppose que Windows 8 a toujours cmd.exe ; Je serais vraiment surpris si ce n'était pas le cas.

Éditeur de registre

S'il existe un registre, il existe probablement un outil pour afficher / modifier le registre. Je vais supposer que le nom de l'interface graphique et des outils de ligne de commande sont les mêmes que ceux des prédécesseurs.

Privilèges utilisateur

Je suppose que les façons d'invoquer des shell avec des privilèges élevés sont suffisamment similaires aux prédécesseurs du système d'exploitation pour que vous sachiez quoi faire. Si je ne suis pas ici, demandez-moi des précisions et je ferai ce que je peux.

Suite SysInternals

Je serais extrêmement déçu si ceux-ci n'étaient pas disponibles dans Windows 8. Je ne peux pas croire qu'ils ne seraient pas disponibles car ils sont si fondamentaux pour les cycles développeur / AQ que Microsoft et les développeurs tiers traversent.

WinDbg.exe, DDK et SDK

Je suppose que vous ne les avez pas déjà installés. C'est très bien. Nous pouvons probablement résoudre le problème sans avoir besoin de ces outils lourds. Parcourez d' abord la section Recon et si vous avez besoin (ou voulez simplement) d'approfondir, vous parlerez de ces outils.

Recon

Essayez toujours d'accomplir votre tâche par le moyen le plus simple possible en premier. Commencer avec le débogueur Windows serait exagéré pour un point de départ, et il serait un peu plus difficile de repérer le morceau / la séquence d'événements qui sont pertinents.

Si vous n'avez pas encore téléchargé et installé la suite SysInternals , vous devez le faire maintenant. Au minimum, vous aurez besoin de Process Explorer et Process Monitor pour les premières tentatives de repérage de ce qui ne va pas. Ces deux outils font partie de la suite, que vous pouvez télécharger en tant que fichier * .zip, mais si vous avez une mauvaise connexion réseau, vous pouvez choisir de télécharger les deux outils individuellement pour le faire plus rapidement.

Décompressez la suite / les outils à un endroit approprié sur votre système (en grande partie votre préférence personnelle). Si vous utilisez l'utilitaire de décompression de Windows par défaut, vous souhaiterez supprimer le fichier de zone avant de décompresser l'archive. Le fichier de zone est la façon dont le système d'exploitation sait "ce fichier a été téléchargé à partir d'Internet [...] exécuté à vos propres risques [...] décochez la case [...]". Je suis sûr que vous avez déjà vu un message similaire à celui dans une boîte pop-up. Il y a généralement une petite case à cocher en bas à gauche de la fenêtre contextuelle qui se souviendra de votre décision à l'avenir si vous la basculez une fois.

Une autre façon de voir cette case est de cliquer avec le bouton droit -> Propriétés sur le fichier que vous avez téléchargé. La case à cocher doit se trouver au bas de l' onglet Général . Le fait de désactiver cette case une fois supprimera le fichier de zone du binaire (en tant que note latérale, le fichier de zone est stocké dans un autre flux de données du binaire en question - mais c'est une autre discussion. Pour l'instant, utilisez simplement les fenêtres contextuelles ou interfaces de propriétés de fichier pour manipuler les fichiers de zone .

Assurez-vous de supprimer le fichier de zone de l'archive * .zip avant de le décompresser avec l'outil zip Windows par défaut. Si vous ne le supprimez pas du fichier * .zip, l'utilitaire ZIP marquera chaque fichier décompressé avec un fichier de zone , puis il sera difficile d'obtenir la fenêtre contextuelle pour chaque fichier binaire que vous exécutez dans la suite.

Nous allons commencer par deux outils: * Process Explorer (procexp.exe) * Process Monitor (procmon.exe)

Vous pouvez référencer le fichier * .chm correspondant si vous souhaitez en savoir plus à leur sujet. Nous allons commencer avec Process Explorer et si nous ne pouvons pas détecter rapidement le problème, nous passerons à Process Monitor (qui est un peu plus complexe à exécuter), et si nous ne pouvons toujours pas résoudre le problème, nous parlerons de retirer les gros canons. Le fait est, cependant, que je trouve souvent ce que je dois savoir dans la phase de reconnaissance et que je n'ai pas besoin de démarrer le débogueur.

Contexte et compréhension

Le registre est l'endroit où le système stocke les mappages qui relient les extensions de fichier aux applications qui savent comment les gérer. Par exemple, vous pouvez utiliser les outils de ligne de commande ftype et assoc pour afficher / manipuler les mappages pour les extensions d'applications.

Pour voir le type de fichier associé à l'extension ".txt", exécutez la commande suivante à partir d'un terminal.

$> assoc .txt
.txt=txtfile

Cela indique que l' extension de fichier .txt est affectée à la classe txtfile des types de fichiers. Ensuite, pour voir l'application associée à la classe txtfile , exécutez la commande

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

Ces outils ne font que lire les paramètres de registre du système. Vous pouvez les visualiser vous-même avec un outil comme reg.exe que vous exécuteriez à partir d'un terminal ou la plupart des gens préféreraient l'éditeur de registre GUI regedit.exe . À cet emplacement, vous verrez certaines des extensions, des classes de types de fichiers et des associations d'applications que vous recherchez simplement sous la ruche HKEY_CLASSES_ROOT. Directement sous cette ruche, vous devriez trouver une clé pour ".txt", ainsi que "txtfile" et bien sûr beaucoup plus.

Voici quelques exemples supplémentaires d'utilisation des utilitaires assoc et ftype .


Assurez-vous de fournir des extensions à assoc . Je pense que vous le savez déjà, mais pour être clair, les extensions de fichier sont les "points suivis de 3 ou 4 caractères" qui terminent un nom de fichier. Par exemple, application.exe , document.txt ou presentaion.ppt. L' utilitaire assoc attend de vous que vous fournissiez le "." et les 3/4 caractères comme paramètre.

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

Le type de fichier est séparé et distinct de l' extension de fichier . Plusieurs extensions de fichiers peuvent être regroupées en un seul type de fichier . Considérez comment «.html» et «.htm» correspondent au même type de fichier; c'est-à-dire "htmlfile". L'exemple ci-dessous tente de démontrer davantage ce point.

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

En outre, notez que le Registre contient les clés suivantes sous la ruche HKEY_CLASSES_ROOT.

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

S'il existe un moyen pratique pour vous de télécharger / attacher / partager un fichier txt, exécutez les commandes suivantes, et je vais regarder la sortie qu'ils créent.

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

Vous devriez maintenant pouvoir ouvrir les dossiers dans lesquels vous avez écrit ces fichiers et les partager. Les commandes suivantes devraient également ouvrir les fichiers (si vous pouvez trouver les fichiers que vous avez créés).

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

Si vous ne pouvez pas partager des fichiers * .txt entiers avec moi, exécutez au moins ces deux commandes et mettez simplement leurs résultats dans les commentaires.

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

Si vous n'y voyez rien , vous devez commencer par le régler sur quelque chose. Assurez-vous que vous disposez de privilèges élevés (c'est-à-dire des privilèges d'administrateur) lorsque vous effectuez ces modifications, sinon ils ne fonctionneront probablement pas comme prévu.

Explorateur de processus

TODO si besoin

Moniteur de processus

TODO si besoin

Installation des environnements de débogage Windows

GuyHoozdis
la source
Trois choses: 1) merci pour la longue réponse. 2) Je pense qu'il se passe autre chose, comme ftype dit qu'il n'y a rien associé à une extension que je lui lance. 3) Le programme que je veux associer est Word 2013, qui est un service, pas un exe en soi (ou si c'est le cas, je ne sais pas où il se trouve, le gestionnaire de tâches affiche un service en cours d'exécution). Des pensées?
soandos
Aucun problème. Assurez-vous de fournir des extensions à assoc . Je pense que vous le savez déjà, mais pour être clair, les extensions de fichier sont les "points suivis de 3 ou 4 caractères" qui terminent un nom de fichier. Par exemple, application.exe , document.txt ou presentaion.ppt. L' utilitaire assoc attend de vous que vous fournissiez le "." et les 3/4 caractères comme paramètre. $> assoc .exe .exe = exefile $> assoc .txt
GuyHoozdis
ftype .txt donne "Type de fichier '.txt' introuvable ou aucune commande ouverte qui lui est associée." par exemple
soandos
La transmission d'une extension de fichier à l' utilitaire ftype est incorrecte . Prenez un moment pour revoir, et vous préformez réellement pour améliorer votre compréhension de la situation, les commandes d'exemple que j'ai écrites dans la "MISE À JOUR" du message d'origine. Après cela, posez-vous cette question "Quelle est la différence entre un type de fichier et une extension de fichier ? Si vous ne savez pas lire mes exemples une deuxième fois. Si cela n'a toujours pas de sens, nous essaierons une approche différente.
GuyHoozdis
Windows n'a pas de terminal. Il a une invite de commande et les commandes ne commencent pas par $ comme elles le font sur les systèmes Unix.
Elmo
1

L'éditeur de programmes par défaut peut modifier la liste "Ouvrir avec ..." sous Windows 8:

File Type settings-> Change 'Open with' programs-> Sélectionnez un type de fichier

éditeur de programmes par défaut ouvert avec liste

Ajoutez le programme que vous souhaitez «coller», puis cliquez sur Enregistrer.

Remarque: dans la version actuelle, les applications de bureau normales s'affichent ici, donc aucun moyen d'ajouter / supprimer une application Metro. Mais cela devrait quand même résoudre votre question.

Facteur mystique
la source
Cela vous dérange-t-il de coller la capture d'écran avant cela? Je ne trouve pas cette boîte de dialogue
soandos
@soandos c'est un lien hypertexte dans le coin inférieur gauche de l'écran des paramètres de type de fichier
Factor Mystic
Je suis un idiot, je n'ai pas vu le lien de téléchargement
soandos
Comment puis-je ajouter Word 2013? C'est un service, pas un exécutable
soandos
@soandos Cependant, il est toujours installé sur votre disque dur. Pour moi, Word est installé surC:\Program Files\Microsoft Office 15\root\office15\winword.exe
Factor Mystic
0

Faites une ouverture avec -> Choisissez le programme par défaut . Lorsque la fenêtre s'ouvre, décochez la case "Utiliser cette application pour tous les fichiers .pdf et choisissez Word pour l'ouvrir. Si elle ne figure pas dans la liste, utilisez le lien" Rechercher une autre application sur ce PC "en bas de la liste.

Une fois que vous avez ouvert le fichier PDF avec Word, mais ne le définissez pas comme programme par défaut, il devrait apparaître dans le menu contextuel "ouvrir avec" la prochaine fois que vous l'utiliserez.

Entrez la description de l'image ici

Moab
la source
3
Ce n'est pas le cas. Voilà ma question. Pourquoi pas.
soandos
Utilisez-vous RTM W8? Avez-vous lu attentivement mes instructions?
Moab
RTM, et oui. J'ai fait un autre programme par défaut, puis je l'ai ouvert avec word, puis j'ai regardé le sous-menu ouvert. N'était toujours pas là (je parle du menu immédiat, pas du "Choisir le menu par défaut" sans cocher la case
soandos
Je ne sais pas ce qui ne va pas, fonctionne sur mon Windows 8 RTM. Ces informations sont stockées dans le registre, probablement une entrée MRU.
Moab
Une idée de comment le déboguer?
soandos