Como a caixa de diálogo do Windows executa localizar executáveis?

19

Quando eu digito "firefox" na caixa de diálogo de execução do Windows (ou seja, a caixa de diálogo que aparece quando você pressiona windows+ R), o firefox será iniciado.

No entanto, "firefox.exe" não está no meu %path%porque, quando digito "firefox" cmd.exe, recebo

'firefox' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote.

Então, aparentemente, um executável não precisa ser encontrado nas janelas %path%para ser descoberto pela caixa de diálogo Executar. Como é que isso funciona?

wcoenen
fonte

Respostas:

29

Aparentemente, a caixa de diálogo de execução verifica não apenas a variável de ambiente% path%, mas também a chave de registro "App Path" . De um artigo técnico sobre a caixa de diálogo de execução :

Você pode iniciar alguns aplicativos de terceiros digitando o nome do arquivo executável na caixa de texto Abrir e clicando em OK - mesmo que os caminhos para esses aplicativos não apareçam na variável de ambiente do caminho. O motivo disso é que o procedimento de instalação de alguns aplicativos adiciona o caminho do arquivo executável a uma chave de registro especial chamada App Paths.

Os locais relevantes no registro são HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Pathse HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths(este último é específico para o usuário). Você pode adicionar seus próprios "caminhos de aplicativos" lá com o regedit.

wcoenen
fonte
Obrigado, fiquei perplexo com a mesma coisa (firefox) e sua resposta explicou bem.
Adam Plocher
Além disso, não se esqueça de verificar HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths. Eu também encontrei esse problema porque instalei as versões Beta + Canary do Chrome, mas não conseguia entender por que o Canary estava abrindo, mas não a versão estável do chrome, apesar de ambos não estarem no %PATH%. Acontece que esta resposta ajudou, mas estava abaixo, em HKCUvez de HKLM!
chunk_split
11
@chunk_split obrigado, resposta atualizada
wcoenen
2

A caixa de diálogo Executar nas versões mais recentes do Windows também executará atalhos encontrados no menu Iniciar. Não tenho certeza de quando isso começou a funcionar ... ele pode voltar até o Windows 95, embora eu não ache isso.

Edit: Esta resposta está errada. A resposta correta é a chave de registro dos Caminhos do Aplicativo, conforme respondida acima.

Myrddin Emrys
fonte
Eu acredito que era XP, mas não tenho certeza.
BBlake
11
Esta não parece ser a explicação correta. Posso encontrar exemplos de aplicativos no meu menu Iniciar (como TrueCrypt) que não consigo iniciar pela caixa de diálogo de execução.
24510 wcoenen
A caixa de diálogo Executar permanece inalterada, mesmo nas versões recentes do Windows. A caixa de pesquisa no menu Iniciar é outra questão, no entanto. Mas isso é mais uma caixa de pesquisa que também executa programas encontrados no PATH.
Joey
Se isso estiver errado, você deverá ter excluído. Embora, honestamente, isso pareça o comportamento esperado para mim.
287352