Windows 7 findet den Speicherort des installierten Programms

26

Wenn ich unter Windows XP den Speicherort eines installierten Programms ermitteln wollte, klickte ich einfach auf "Eigenschaften" und es wurde angezeigt, wo sich die ausführbare Datei befindet.

Unter Windows 7 mache ich dasselbe und bekomme Folgendes:

Alt-Text

Wie kann ich anhand der Verknüpfung herausfinden, wo sich Programme befinden? Mir ist jedoch aufgefallen, dass es für einige Programme eine Verknüpfung unter dem 'Ziel' gibt, aber nicht zum Beispiel bei iTunes.

7wp
quelle
Für diejenigen, die hierher kommen und keine Abkürzung haben - suchen Sie einfach in der Registrierung, wie von Marcelo Trejo unten dargestellt
icc97

Antworten:

21

Was Sie sehen, sind spezielle Verknüpfungen, die als Advertised Shortcuts bezeichnet werden. Die Verknüpfungen verknüpfen tatsächlich msiexec.exedie ausführbare Datei von Windows Installer. Mit angekündigten Verknüpfungen können Autoren des Installationsprogramms nur Teile ihrer Anwendung installieren und dann zusätzliche Teile installieren, wenn über die angekündigte Verknüpfung auf sie zugegriffen wird. Windows Installer überprüft außerdem bei jeder Ausführung der Anwendung automatisch die Integrität aller installierten Dateien, damit Sie sicher sein können, dass die Anwendung bei Ausführung gültig ist.

Hier ist eine Stapelüberlauf-Frage mit ein bisschen mehr Informationen über angekündigte Verknüpfungen.

Das Auffinden der ausführbaren Datei, die die Verknüpfung schließlich ausführt, ist keine einfache Aufgabe und erfordert einige Schritte zum Durchsuchen der Registrierung. Hughs Vorschlag ist wahrscheinlich viel einfacher.

heavyyd
quelle
Nettes bisschen unterstützendes Detail gibt +1 von mir
Joe Taylor
Dies ist eine großartige Antwort für das verwendete Beispiel, aber es beantwortet nicht die ursprüngliche Frage: "Windows 7 findet den Speicherort des installierten Programms". Irgendwie handelte es sich um "angekündigte Verknüpfungen". Ich möchte nur herausfinden, wo sich ein Programm befindet, damit ich kann es von meinem Laufwerk c: auf ein anderes Laufwerk mit Speicherplatz verschieben (oder ich möchte das Programm aus irgendeinem Grund über die Befehlszeile ausführen) Ich habe erfahren, dass MS den zugrunde liegenden Pfad aus verschiedenen Gründen ausblenden möchte, von denen EINER der folgende ist Diese "Advertiser's Link" Sache, wo es buchstäblich keinen Pfad gibt.
Malcolm Anderson
17

Ich habe mich das gleiche für einige Verknüpfungen unter Win XP gefragt. Ich habe Cygwins ausprobiert , readshortcutaber es hat mir nicht das wirkliche Ziel mitgeteilt:

$ 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.

Sie haben also offensichtlich etwas mit Windows Installer zu tun. Um die ausführbare Datei zu finden, können Sie sie jederzeit ausführen und den Pfad mit Process Explorer ermitteln - in meinem Fall C:\Program Files\Microsoft Office2K\Office\WINWORD.EXE.

Hugh Allen
quelle
7
+1 und es funktioniert, aber das ist schrecklich für die Sicherheit. Wenn sich eine verdächtige Anwendung auf einem Computer durchsetzte und Sie wissen wollten, auf was die Verknüpfung verweist, ohne sie tatsächlich auszuführen, hätte Microsoft dies so einfach wie möglich gestalten sollen. Wurden aber unseren eigenen Geräten überlassen, die durch Reifen springen. Wie können wir sogar die kleine alte Oma über das Telefon führen, um dies zu tun? Rant over
7wp
7

Ich hatte ein ähnliches Problem und konnte den Task-Manager ( Ctrl- Alt- DeleteTask-Manager starten ) verwenden, um die Anwendung (nach dem Öffnen) auf der Registerkarte Anwendungen zu finden .

Klicken Sie mit der rechten Maustaste auf die gewünschte Anwendung, um das Menü aufzurufen, und wählen Sie Gehe zu Prozess . Hier sehen Sie, welcher Prozess der App auf der Registerkarte Prozesse zugeordnet ist .

Klicken Sie dann mit der rechten Maustaste auf den Prozess, um das Menü aufzurufen, und wählen Sie entweder Eigenschaften oder Dateispeicherort öffnen , um weitere Informationen zu erhalten.

user207224
quelle
6

Für diejenigen, die dies in PowerShell ohne Verwendung eines Moduls tun möchten:

$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))
user334199
quelle
Wir brauchen Antworten wie diese ... WOO POWERSHELL
Nacht - Reinstate Monica
2

Probieren Sie eine der folgenden Möglichkeiten (in den Tek-Tips-Foren ):

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 (mit der Installation dieses Windows Installer-Moduls )

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

Öffnen regeditund suchen Sie den Programmnamen. Es wird einige "Suchen" dauern ( F3), aber irgendwann wirst du den Ordner finden.

In meinem Fall war es unter HKEY_CLASSES_ROOT\Applications\<name of app>\shell\open\command

Marcelo Trejo
quelle
Auch von dieser SO Antwort - schauen Sie inHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
icc97
0

Wenn Sie die Benutzerkontensteuerung aktiviert haben, wird beim Aufrufen des UAC-Felds Zulassen, Abbrechen häufig ein weiterer (von vielen übersehener) Dropdown-Pfeil mit dem Titel "Details" angezeigt. Wenn Sie auf Details klicken, sollten Sie den tatsächlichen Standort des Ziels sehen.

PS, wenn ich mich recht erinnere, geht dieses Problem weit über Windows 7 hinaus, sogar über Windows XP hinaus, um Windows 98 zu gewinnen. Wenn Sie mit der rechten Maustaste auf die Verknüpfung klicken und Eigenschaften auswählen, wird das Ziel häufig nicht angezeigt. Dann mussten wir die App starten, den Task-Manager öffnen, mit der rechten Maustaste auf die App in der Liste klicken, zum Verarbeiten gehen, mit der rechten Maustaste klicken, den Speicherort der geöffneten Datei auswählen (oder manchmal Eigenschaften). Jetzt macht UAC weniger Schritte.

user503911
quelle
0

Ein Trick, der möglicherweise funktioniert, ist: Starten Sie CMD und führen Sie Folgendes aus:

Verzeichnis C: \ iTunes / s / b

Es würde jede Datei oder jedes Verzeichnis mit dem genauen Namen "iTunes" melden (ohne Berücksichtigung der Groß- und Kleinschreibung). Wenn Sie mehr als ein Festplattenlaufwerk haben, muss dies möglicherweise auch für dieses Laufwerk wiederholt werden.

Oder Sie können eine Datei im "unbekannten Ordner" (hier: iTunes) erstellen und dann nach dieser Datei auf der Festplatte suchen:

Verzeichnis C: \ * Testdateinummer1 * / s / b

TVC
quelle
-1

Der einfachste Weg, um die Position einer ausführbaren Datei herauszufinden:

  1. Suchen Sie das Programm im Startmenü und verschieben Sie es mit der rechten Maustaste auf den Desktop. Dadurch wird eine Verknüpfung erstellt.
  2. Bewegen Sie den Mauszeiger über den Link und klicken Sie mit der rechten Maustaste. Wählen Sie "Eigenschaften"
  3. Auf diesem Bildschirm haben Sie den vollständigen Pfad zur ausführbaren Datei. Kopieren Sie diese nach Bedarf in den Puffer und fügen Sie sie ein.
user396877
quelle
Das Programm im Startmenü zu finden, hat keinen Sinn. Wenn Sie es außerdem häufig im Startmenü finden, wird anstelle der direkten Verknüpfung eine "beworbene Verknüpfung" angezeigt. Die ursprüngliche Frage war, wie die direkte Verknüpfung zur physischen ausführbaren Datei über den speziellen Typ "Advertised Shortcut" hergestellt werden kann.
7wp
Für meine Zwecke war dies die beste Antwort. Warum es einen Rang von -2 hat (derzeit 28. April 2018), weiß ich nicht. Die Informationen zu den Links des Werbetreibenden waren interessant. Jetzt weiß ich, dass ich diesen Spam löschen kann und die Anwendung nicht mehr finden muss, da sie nicht auf meiner Festplatte gespeichert ist. In manchen Fällen möchte ich nur zur ausführbaren Datei navigieren können. Dieser Tipp (Verknüpfung zum Desktop per Rechtsklick verschieben - und die Eigenschaften von DIESEM überprüfen) ist nützlich und ich möchte ihn bewerten, weil er mir geholfen hat.
Malcolm Anderson