O Windows 8 está perdendo opções no menu "Abrir com" após alterar as associações de arquivos

18

Quando defino um programa para abrir um tipo de arquivo específico por padrão, ele funciona (como o Word 2013 para arquivos PDF). No entanto, quando altero o padrão novamente para o leitor, perco o Word como uma opção que posso escolher no open withsubmenu.

Como posso fazer com que fique?

Parece que há algo de especial no Word. Adicionar o Notepad ++ como padrão e alterá-lo novamente parece manter o Notepad ++ no submenu.

A versão do Word é 2013.

Caso não esteja claro, estou usando a versão RTM (não a visualização).

soandos
fonte
Você tentou "Associar um tipo de arquivo ou protocolo a um programa" no painel de controle através de "Programas padrão"?
avirk
@avirk Supondo que você queira apenas definir como padrão, isso funciona (mas não é o que está errado). Alterar a volta padrão remove Palavra como uma opção
soandos
Eu acho que valeria a pena tentar.
Avirk
você verificou se o valor está sendo inserido no registro no caminho HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.docx\OpenWithList. Deve haver uma lista de programas que você associa ao .docx ou a qualquer extensão que desejar verificar.
avirk
@avirk Muito estranho. É lá (como é o cromo, o que também não aparecer na lista), mas o programa padrão para abri-lo (leitor) não está listado
soandos

Respostas:

4

O que é o Up!?!

Olá. Adoro quando alguém diz;

"[...] como depurar?"

Na verdade, eu não tenho uma instalação da instalação do Windows 8 e também não joguei com uma instalação do Windows 8, portanto, assumirei que existem algumas semelhanças fundamentais com seus antecessores. Vou tentar fazer suposições à medida que as fizer.

Chamando as fotos

Meu palpite, com base na descrição do problema, é que o sistema não está registrando as entradas apropriadas no registro para que, quando você executar "open" depois de fazer anteriormente "open with ...", verá o aplicativo que você selecionado da última vez.

Vou orientá-lo no seu problema e provar ou refutar meu palpite inicial. Se você não precisar de toda a minha verbosidade abaixo, pode pular / digitalizar para a seção Recon, onde começamos a tentar descobrir o problema.

Correções rápidas

Antes de entrarmos nas etapas mais envolvidas descritas abaixo, você deve primeiro investigar a interface de Programas Padrão encontrada no Painel de Controle . Você pode obter um efeito semelhante no menu "abrir com ...", mas já disse que não estava funcionando para você. ** Certifique-se de definir a caixa de seleção que indica para lembrar sua configuração como o aplicativo padrão para o aplicativo que você selecionou.

Na interface Programas Padrão no Painel de Controle , pode haver opções para "redefinir os padrões" ou reverter para uma versão anterior. Você pode considerar essas várias opções para ver se elas resolvem o seu problema. Faça isso primeiro, porque serão as correções mais fáceis. Se eles não estiverem funcionando, continue com as opções abaixo.


Suposições

Estas são as suposições que eu prevejo. Se algum deles estiver fora da base, entre em contato e, se for necessário, levarei um tempo para configurar uma instalação do Windows 8.

O registro

Eu acho que a maior suposição que estou fazendo é que o sistema operacional ainda usa o registro e, para lugares em que dou exemplos, suponho que o layout / estrutura do diretório do registro no Windows 8 também seja semelhante aos seus antecessores.

Cmd.exe

Pessoalmente, geralmente prefiro um prompt de comando, por isso provavelmente descreverei as etapas no contexto de uma sessão do terminal. Estou assumindo que o Windows 8 ainda tem o cmd.exe ; Eu ficaria realmente surpreso se não o fizesse.

Editor do Registro

Se houver um registro, provavelmente existe uma ferramenta para exibir / editar o registro. Assumirei que o nome das ferramentas da GUI e da linha de comando sejam os mesmos dos antecessores.

Privilégios de usuário

Assumirei que as maneiras de invocar shell com privilégios elevados são semelhantes o suficiente aos predecessores do SO para que você saiba o que fazer. Se eu estiver fora da base aqui, peça-me alguma elaboração e farei o que puder.

SysInternals Suite

Eu ficaria extremamente desapontado se eles não estivessem disponíveis no Windows 8. Não acredito que não estariam disponíveis porque são tão fundamentais para os ciclos de desenvolvedor / controle de qualidade que passam pela Microsoft e por terceiros.

WinDbg.exe, DDKs e SDKs

Presumo que você ainda não os tenha instalado. Isso é bom. Provavelmente, podemos resolver o problema sem precisar dessas ferramentas pesadas. Acesse a seção Recon primeiro e, se você precisar (ou apenas quiser) se aprofundar, conversará sobre essas ferramentas.

Recon

Sempre tente realizar sua tarefa pelos meios mais simples possíveis primeiro. Começar com o Windows Debugger seria um exagero para um ponto de partida, e seria um pouco mais difícil identificar a parte / sequência de eventos que são relevantes.

Se você ainda não baixou e instalou o SysInternals Suite , faça isso agora. No mínimo, você precisará do Process Explorer e do Process Monitor para as primeiras tentativas de detectar o que está errado. Essas duas ferramentas fazem parte do conjunto, que você pode baixar como um arquivo * .zip, mas se você tiver uma conexão de rede ruim, poderá optar por fazer o download das duas ferramentas individualmente para fazer isso mais rapidamente.

Descompacte o conjunto / ferramentas em um local apropriado em seu sistema (em grande parte sua preferência pessoal). Se você estiver usando o utilitário de descompactação padrão do Windows, remova o arquivo da Zona antes de descompactar o arquivo morto. O arquivo da zona é como o sistema operacional sabe "este arquivo foi baixado da Internet por [...] sua conta e risco [...] desmarque a caixa para [...]". Tenho certeza de que você já viu uma mensagem semelhante à de uma caixa pop-up antes. Geralmente, existe uma pequena caixa de seleção na parte inferior esquerda do pop-up que lembrará a sua decisão daqui para frente se você a alternar uma vez.

Outra maneira de ver essa caixa de seleção é clicar com o botão direito do mouse -> Propriedades no arquivo que você baixou. A caixa de seleção deve estar na parte inferior da guia Geral . Ativar essa caixa de seleção uma vez removerá o arquivo de zona do binário (como observação lateral, o arquivo de zona é armazenado em um fluxo de dados alternativo do binário em questão - mas isso é outra discussão. Por enquanto, basta usar as janelas pop-up ou interfaces de propriedades de arquivo para manipular arquivos de zona .

Remova o arquivo de zona do arquivo compactado * .zip antes de descompactá-lo com a ferramenta zip padrão do Windows. Se você não removê-lo do arquivo * .zip, o utilitário ZIP marcará cada arquivo descompactado com um arquivo de zona e será difícil obter a janela pop-up para todos os binários executados no conjunto.

Vamos começar com duas ferramentas: * Process Explorer (procexp.exe) * Process Monitor (procmon.exe)

Você pode fazer referência ao arquivo * .chm correspondente se quiser aprender mais sobre eles. Vamos começar com o Process Explorer e, se não conseguirmos identificar rapidamente o problema, passaremos para o Process Monitor (que é um pouco mais complicado de executar) e, se ainda não conseguirmos resolver o problema, conversaremos sobre puxar as grandes armas. O fato é que, muitas vezes, encontro o que preciso saber na fase de reconhecimento e não preciso inicializar o depurador.

Antecedentes e entendimento

O registro é onde o sistema armazena os mapeamentos que relacionam extensões de arquivo aos aplicativos que sabem como lidar com eles. Por exemplo, você pode usar as ferramentas de linha de comando ftype e assoc para visualizar / manipular os mapeamentos para extensões de aplicativos.

Para ver o tipo de arquivo associado à extensão ".txt", execute o seguinte comando em um terminal.

$> assoc .txt
.txt=txtfile

Isso indica que o .txt extensão de arquivo é atribuído ao txtfile classe de tipos de arquivos. Para ver o aplicativo associado à classe txtfile , execute o comando

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

Essas ferramentas estão apenas lendo as configurações do registro para o sistema. Você pode visualizá-los você mesmo com uma ferramenta como reg.exe que você executaria em um terminal ou a maioria das pessoas preferiria o editor de registro da GUI regedit.exe . Nesse local, você verá algumas das extensões, classes de tipo de arquivo e associações de aplicativos que você simplesmente pesquisaria na seção HKEY_CLASSES_ROOT. Diretamente nessa seção, você deve encontrar uma chave para ".txt" e também "txtfile" e, claro, muito, muito mais.

Aqui estão mais alguns exemplos de uso dos utilitários assoc e ftype .


Verifique se você está alimentando extensões para assoc . Eu acho que você já sabe disso, mas para ser claro, as extensões de arquivo são os "pontos seguidos por 3 ou 4 caracteres" que terminam um nome de arquivo. Por exemplo, application.exe , document.txt ou presentaion.ppt. O utilitário assoc espera que você forneça o "." e os 3/4 caracteres como seu parâmetro.

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

Separado e distinto da extensão do arquivo, existe o tipo de arquivo . Várias extensões de arquivo podem ser agrupadas em um único tipo de arquivo . Considere como ".html" e ".htm" são mapeados para o mesmo tipo de arquivo; isto é, "htmlfile". O exemplo abaixo tenta demonstrar mais esse ponto.

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

Além disso, observe que o registro contém as seguintes chaves na seção HKEY_CLASSES_ROOT.

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

Se houver uma maneira conveniente de fazer upload / anexar / compartilhar um arquivo txt, execute os seguintes comandos, e examinarei a saída que eles criarem.

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

Agora você deve conseguir abrir as pastas nas quais escreveu esses arquivos e compartilhá-los. Os comandos a seguir também devem abrir os arquivos (se você conseguir encontrar os arquivos criados).

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

Se você não pode compartilhar arquivos * .txt inteiros comigo, execute pelo menos esses dois comandos e coloque os resultados nos comentários.

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

Se você não vir nada , deve começar definindo-o como algo. Verifique se você possui privilégios elevados (ou seja, privilégios de administrador) ao fazer essas alterações; caso contrário, elas provavelmente não funcionarão como você espera.

Process Explorer

TODO, se necessário

Monitor de Processo

TODO, se necessário

Instalando ambientes de depuração do Windows

GuyHoozdis
fonte
Três coisas: 1) obrigado pela resposta longa. 2) Eu acho que há algo mais acontecendo, como o ftype diz que não há nada associado a nenhuma extensão que eu lance. 3) O programa que eu quero associar é o Word 2013, que é um serviço, não um exe em si (ou, se for, não tenho ideia de onde é, o gerenciador de tarefas mostra um serviço em execução). Alguma ideia?
Soandos 28/10/12
Sem problemas. Verifique se você está alimentando extensões para assoc . Eu acho que você já sabe disso, mas para ser claro, as extensões de arquivo são os "pontos seguidos por 3 ou 4 caracteres" que terminam um nome de arquivo. Por exemplo application.exe , document.txt ou presentaion.ppt. O utilitário assoc espera que você forneça o "." e os 3/4 caracteres como seu parâmetro. $> assoc .exe .exe = exefile $> assoc .txt
GuyHoozdis
ftype .txt fornece "Tipo de arquivo '.txt' não encontrado ou nenhum comando aberto associado a ele." por exemplo
soandos 28/10/12
A passagem de uma extensão de arquivo para o utilitário ftype está incorreta . Reserve um momento para revisar e realmente se preparar para melhorar sua compreensão da situação, como os comandos de exemplo que escrevi no "UPDATE" da postagem original. Depois de fazer isso, faça a si mesmo a seguinte pergunta "Qual é a diferença entre um tipo de arquivo e uma extensão de arquivo ? Se você não souber ler meus exemplos pela segunda vez. Se ainda não fizer sentido, tentaremos uma abordagem diferente.
GuyHoozdis 28/10/12
O Windows não possui um terminal. Ele possui um prompt de comando e os comandos não começam com $, como acontece nos sistemas Unix.
Elmo #
1

O Editor de Programas Padrão pode editar a lista 'Abrir com ...' no Windows 8:

File Type settings-> Change 'Open with' programs-> Selecione um tipo de arquivo

editor de programas padrão aberto com lista

Adicione o programa que deseja 'colar' e clique em Salvar.

Nota: na versão atual, os aplicativos de área de trabalho comuns são exibidos aqui, portanto, não há como adicionar / remover um aplicativo Metro. Mas ainda deve resolver sua pergunta.

Fator Místico
fonte
Você se importa de colar a captura de tela antes disso? Não consigo encontrar esta caixa de diálogo
soandos
@soandos é uma hiperligação no canto inferior esquerdo da tela do tipo de arquivo configurações
Fator Místico
Eu sou um idiota, não vi o link para download
soandos
Como posso adicionar a palavra 2013? É um serviço, não um executável
soandos
@soandos Ele ainda está instalado no seu disco rígido. Para mim, o Word é instalado paraC:\Program Files\Microsoft Office 15\root\office15\winword.exe
Fator Místico
0

Faça um Abrir com -> Escolha Programa Padrão . Quando a janela abrir, desmarque a opção "Use este aplicativo para todos os arquivos .pdf e escolha Word para abri-lo. Se não estiver na lista, use o link" Procurar outro aplicativo neste PC "" na parte inferior de a lista.

Depois de abrir o arquivo PDF com o Word, mas não o defina como o programa padrão, ele deve aparecer no menu de contexto "abrir com" na próxima vez que você o usar.

Digite a descrição da imagem aqui

Moab
fonte
3
Não faz. Essa é a minha pergunta. Por que não?
soandos
Você está usando o RTM W8? Você leu minhas instruções cuidadosamente?
Moab
RTM e sim. Criei outro programa como padrão, depois o abri com o word e depois olhei para o aberto com o submenu. Ainda não estava lá (eu estou falando sobre o menu de imediato, e não o "Escolha o menu padrão" sem marcar a caixa
soandos
Não tenho certeza do que está errado, funciona no meu Windows 8 RTM. Essas informações são armazenadas no registro, mais do que provavelmente uma entrada MRU.
Moab
Alguma idéia de como depurá-lo?
soandos