In che modo la finestra di dialogo di esecuzione di Windows individua gli eseguibili?


19

Quando inserisco "firefox" nella finestra di dialogo Esegui di Windows (ovvero la finestra di dialogo che appare quando si preme windows+ R), verrà avviato Firefox.

Tuttavia, "firefox.exe" non è nel mio %path%perché quando digito "firefox" cmd.exe, ottengo

'firefox' non è riconosciuto come comando interno o esterno, programma eseguibile o file batch.

Quindi apparentemente non è necessario trovare un eseguibile nelle finestre %path%per poter essere individuato dalla finestra di dialogo Esegui. Come funziona?

Risposte:


29

Apparentemente la finestra di dialogo Esegui controlla non solo la variabile di ambiente% path%, ma anche la chiave di registro "Percorso app" . Da un articolo tecnico sulla finestra di dialogo Esegui :

È possibile avviare alcune applicazioni di terze parti digitando il nome del file eseguibile nella casella di testo Apri e facendo clic su OK, anche se i percorsi di queste applicazioni non vengono visualizzati nella variabile di ambiente del percorso. Il motivo per cui ciò è possibile è perché la procedura di installazione per alcune applicazioni aggiunge il percorso del file eseguibile a una chiave di registro speciale denominata Percorsi app.

Le posizioni rilevanti nel registro sono HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Pathse HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths(quest'ultima è specifica per l'utente). Puoi aggiungere i tuoi "percorsi app" lì con regedit.


Grazie, sono rimasto sconcertato dalla stessa cosa (Firefox) e la tua risposta l'ha spiegato bene.
Adam Plocher,

Inoltre, non dimenticare di controllare HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths. Ho riscontrato questo problema anche perché ho installato le versioni Beta + Canary di Chrome ma non riuscivo a capire perché Canary stesse aprendo, ma non la versione stabile di Chrome, nonostante entrambi non fossero presenti %PATH%. Si scopre che questa risposta ha aiutato, ma era sotto HKCUinvece di HKLM!
chunk_split,

1
@chunk_split grazie, risposta aggiornata
wcoenen,

2

La finestra di dialogo Esegui sulle versioni più recenti di Windows eseguirà anche i collegamenti trovati nel menu di avvio. Non sono sicuro quando questo abbia iniziato a funzionare ... potrebbe risalire fino a Windows 95, anche se non la penso così.

Modifica: questa risposta è sbagliata. La risposta corretta è la chiave del Registro di sistema Percorsi app, come indicato sopra.


Credo che fosse XP, ma non certo.
BBlake,

1
Questa non sembra essere la spiegazione corretta. Posso trovare esempi contrari di applicazioni nel mio menu di avvio (come TrueCrypt) che non posso avviare tramite la finestra di dialogo Esegui.
wcoenen,

La finestra di dialogo Esegui rimane invariata anche nelle versioni recenti di Windows. Tuttavia, la casella di ricerca nel menu Start è un'altra cosa. Ma questa è più una casella di ricerca che capita anche di eseguire programmi trovati nel PERCORSO.
Joey,

Se questo è sbagliato, dovresti averlo eliminato. Comunque, onestamente, questo mi sembra un comportamento atteso.
287352
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.