Windows 7 trova la posizione del programma installato


26

Di solito su Windows XP, se volessi conoscere la posizione di un programma installato, farei semplicemente clic su "Proprietà" e mostrerebbe dove si trova l'eseguibile.

Su Windows 7, faccio la stessa cosa e ottengo questo:

testo alternativo

Come posso sapere dove si trovano i programmi in base al collegamento? Ho notato tuttavia che per alcuni programmi mostra un collegamento sotto "Target", ma non nel caso di iTunes, ad esempio.


Per quelli che vengono qui che non hanno una scorciatoia - basta cercare nel registro come indicato di seguito da Marcelo Trejo
icc97

Risposte:


21

Quello che vedi sono scorciatoie speciali chiamate scorciatoie pubblicizzate. Le scorciatoie collegano effettivamente msiexec.exeil file eseguibile di Windows Installer. Le scorciatoie pubblicizzate consentono agli autori dell'installatore di installare solo parti della loro applicazione e quindi di installare pezzi aggiuntivi quando vi si accede tramite il collegamento pubblicizzato. Windows Installer verifica inoltre automaticamente l'integrità di tutti i file installati ogni volta che l'applicazione viene eseguita in modo da poter essere certi che l'applicazione sia valida quando viene eseguita.

Ecco una domanda Stack Overflow con qualche informazione in più sulle scorciatoie pubblicizzate.

Trovare l'eseguibile che alla fine il collegamento esegue non è un compito semplice e richiederebbe qualche ricerca nel registro. Il suggerimento di Hugh è probabilmente molto più semplice.


Un bel po 'di dettagli di supporto ci +1 da me
Joe Taylor

Questa è un'ottima risposta per l'esempio usato, ma non risponde alla domanda originale che è "Windows 7 trovare la posizione del programma installato" In qualche modo questo è diventato "scorciatoie pubblicizzate" Voglio solo scoprire dove si trova un programma in modo che io posso spostarlo dal mio c: drive su un altro drive che ha spazio (o voglio eseguire il programma dalla riga di comando per qualsiasi motivo) Ho imparato che MS sceglie di nascondere il percorso sottostante per vari motivi, UNO dei quali è questa cosa "link dell'inserzionista" dove letteralmente non c'è un percorso.
Malcolm Anderson,

17

Mi sono chiesto la stessa cosa per alcune scorciatoie con Win XP. Ho provato Cygwin s' readshortcut, ma non mi ha detto il vero obiettivo:

$ readshortcut.exe -fa "Microsoft Word.lnk"
Target: /cygdrive/c/WINDOWS/Installer/{00000409-78E1-11D2-B60F-006097C998E7}/wordicon.exe
Working Directory:
Arguments:
Show Command: Normal
Icon Library: /cygdrive/c/WINDOWS/Installer/{00000409-78E1-11D2-B60F-006097C998E7}/wordicon.exe
Icon Library Offset: 0
Description: Create and edit text and graphics in letters, reports, Web pages, or e-mail messages by using Microsoft Word.

Quindi ovviamente hanno a che fare con Windows Installer. Per trovare l'eseguibile, puoi sempre semplicemente eseguirlo e utilizzare Process Explorer per ottenere il percorso - nel mio caso C:\Program Files\Microsoft Office2K\Office\WINWORD.EXE,.


7
+1 e funziona, ma questo è terribile per la sicurezza. Se un'applicazione sospetta si è fatta strada su un computer e volevi sapere a cosa punta il collegamento senza eseguirla effettivamente, Microsoft avrebbe dovuto rendere questo morto semplice. Ma sono stati lasciati ai nostri dispositivi saltando attraverso i cerchi. Come possiamo persino guidare la vecchia nonna al telefono per fare questo. Rant over
7wp

7

Ho avuto un problema simile ed è stato in grado di utilizzare Task Manager ( Ctrl- Alt- DeleteAvvia Task Manager ) per trovare l'applicazione (dopo l'apertura) nella scheda Applicazioni .

Fai clic con il pulsante destro del mouse sull'applicazione desiderata per visualizzare il menu e scegli Vai al processo . Questo mostra quale processo è associato all'app nella scheda Processi .

Quindi, fai clic con il pulsante destro del mouse sul processo per visualizzare il menu e scegli Proprietà o Apri posizione file per saperne di più.


6

Per coloro che desiderano eseguire questa operazione in PowerShell senza utilizzare un modulo:

$lnk = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Adobe\Adobe Acrobat X Pro.lnk"
$WindowsInstaller = New-Object -ComObject WindowsInstaller.Installer
$ShortcutTarget = $WindowsInstaller.GetType().InvokeMember("ShortcutTarget","GetProperty",$null,$WindowsInstaller,$lnk)
$StringData1 = $ShortcutTarget.GetType().InvokeMember("StringData","GetProperty",$null,$ShortcutTarget,1)
$StringData3 = $ShortcutTarget.GetType().InvokeMember("StringData","GetProperty",$null,$ShortcutTarget,3)
$WindowsInstaller.GetType().InvokeMember("ComponentPath","GetProperty",$null,$WindowsInstaller,@($StringData1,$StringData3))

abbiamo bisogno di risposte moar come questo ... WOO POWERSHELL
Nacht - Ripristina Monica il

2

Prova uno dei seguenti (dai forum di Tek-Tips ):

VbScript

' GetRealTarget.vbs
' This version needs to be run under wscript engine rather than cscript

' Pass the full path to an MSI "Advertised Shortcut" lnk file (including the extension) as a parameter
' e.g. assuming that we have a default install of Office 2003 for All Users:
' GetRealTarget "C:\Documents and Settings\All Users\Start Menu\Programs\Microsoft Office\Microsoft Office Excel 2003.lnk" 
' Displays fully resolved target for the MSI shortcut

Option Explicit
Dim MSITarget

On Error Resume Next ' just some simple error handling for purposes of this example
If wscript.arguments.count = 1 Then ' did actually pass an MSI advertised shortcut? Or, at least, a parameter that could be such a thing?
   With CreateObject("WindowsInstaller.Installer")
      Set MSITarget = .ShortcutTarget(wscript.arguments(0))
      If Err = 0 then
         MsgBox .ComponentPath(MSITarget.StringData(1), MSITarget.StringData(3))
      Else 
         MsgBox wscript.arguments(0) & vbcrlf & "is not a legitimate MSI shortcut file or could not be found"
      End If
   End With
End If
On Error Goto 0

PowerShell (con l'installazione di questo modulo di Windows Installer )

get-msiproductinfo | where { $_.ProductState -match "Installed" } | fl AdvertisedProductName, InstallLocation

2

Apri regedite cerca il nome del programma. Ci vorrà qualche "ricerca di nuovo" ( F3) ma alla fine troverai la cartella.

Nel mio caso, era sotto HKEY_CLASSES_ROOT\Applications\<name of app>\shell\open\command


Anche da questa risposta SO - guarda dentroHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
icc97

0

Se hai il controllo dell'account utente attivo, quando viene visualizzata la casella UAC che chiede di consentire, Annulla, spesso viene visualizzata un'altra freccia a discesa (trascurata da molti) sotto di essa con il titolo "Dettagli". Se fai clic su Dettagli dovresti vedere la posizione effettiva del bersaglio.

PS, se ricordo che questo problema risale a Windows 7, anche a XP precedenti, per vincere 98 in cui facendo clic con il tasto destro del mouse sul collegamento, selezionando le proprietà, spesso non viene mostrato il bersaglio. Quindi abbiamo dovuto avviare l'app, aprire il task manager, fare clic con il pulsante destro del mouse sull'elenco nell'elenco, selezionare vai al processo, fare clic con il pulsante destro del mouse sul processo, selezionare il percorso del file aperto (o talvolta le proprietà). Ora UAC fa meno passi.


0

Un trucco che potrebbe funzionare è questo: Avvia CMD ed esegui:

dir C: \ iTunes / s / b

Segnalerebbe qualsiasi file o directory chiamata esattamente "iTunes" (senza distinzione tra maiuscole e minuscole). Se si dispone di più di un'unità fissa, potrebbe essere necessario ripetere anche per quell'unità.

In alternativa, puoi creare un file nella "cartella sconosciuta" (qui: iTunes), quindi cercare quel file sul disco:

dir C: \ * testfilenumber1 * / s / b


-1

Il modo più semplice per scoprire il posto di un eseguibile:

  1. Trova il programma nel menu Start e spostalo sul desktop usando il tasto destro del mouse. Questo crea un collegamento.
  2. Posiziona il puntatore sul link e fai clic con il pulsante destro del mouse. Seleziona "Proprietà"
  3. In quella schermata hai il percorso completo per l'eseguibile. Copia nel buffer e incolla quando ne hai bisogno.

Trovare il programma nel menu di avvio annulla lo scopo. Inoltre, trovarlo molte volte nel menu di avvio ti mostrerà un "collegamento pubblicizzato" anziché il collegamento diretto. La domanda originale era come ottenere lo shorctut diretto all'eseguibile fisico dal tipo speciale "Scorciatoia pubblicizzata".
settimane

Per i miei scopi, questa è stata la risposta migliore. Perché ha un rango di -2 (in questo momento, 28 aprile 2018) Non lo so. Le informazioni sui collegamenti degli inserzionisti erano interessanti e ora so che posso eliminare quello spam e non devo più trovare l'applicazione perché non è sul mio disco rigido. Ci sono momenti in cui voglio solo essere in grado di navigare nel file eseguibile. Questo suggerimento (sposta la scorciatoia sul desktop con il tasto destro del mouse - e controlla le proprietà di QUESTO) è utile e sto votando perché mi ha aiutato.
Malcolm Anderson,
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.