Windows 7 znajduje lokalizację zainstalowanego programu

26

Zwykle w systemie Windows XP, jeśli chciałbym poznać lokalizację zainstalowanego programu, po prostu kliknąłem „Właściwości” i pokazałbym, gdzie znajduje się plik wykonywalny.

W systemie Windows 7 robię to samo i otrzymuję to:

alternatywny tekst

Jak mogę dowiedzieć się, gdzie znajdują się programy na podstawie skrótu? Zauważyłem jednak, że w przypadku niektórych programów pokazuje skrót pod „Docelowym”, ale nie w przypadku np. ITunes.

7wp
źródło
Dla przybywających tutaj, którzy nie mają skrótu - wystarczy wyszukać w rejestrze zgodnie z poniższym
opisem

Odpowiedzi:

21

To, co widzisz, to specjalne skróty o nazwie Skróty reklamowane. Skróty faktycznie prowadzą do msiexec.exepliku wykonywalnego Instalatora Windows. Reklamowane skróty pozwalają autorom instalatora instalować tylko części aplikacji, a następnie instalować dodatkowe elementy, gdy są dostępne za pośrednictwem reklamowanego skrótu. Instalator Windows automatycznie sprawdza również integralność wszystkich zainstalowanych plików przy każdym uruchomieniu aplikacji, dzięki czemu można mieć pewność, że aplikacja działa poprawnie.

Oto pytanie o przepełnienie stosu z nieco więcej informacji na temat reklamowanych skrótów.

Znalezienie pliku wykonywalnego, który ostatecznie uruchamia skrót, nie jest prostym zadaniem i wymagałoby pewnego przeszukania rejestru. Sugestia Hugh jest prawdopodobnie znacznie prostsza.

ciężki
źródło
Niezłe wsparcie w szczegółach tam +1 ode mnie
Joe Taylor
To świetna odpowiedź dla użytego przykładu, ale nie odpowiada na pierwotne pytanie: „Windows 7 znajduje lokalizację zainstalowanego programu” Jakoś chodziło o „reklamowane skróty” Chcę tylko dowiedzieć się, gdzie znajduje się program, więc ja mogę przenieść go z mojego dysku c: na inny dysk, który ma miejsce (lub chcę uruchomić program z wiersza polecenia z jakiegokolwiek powodu) Nauczyłem się, że MS wybiera ukrywanie podstawowej ścieżki z różnych powodów, z których JEDEN jest ta „link reklamodawcy”, gdzie dosłownie nie ma ścieżki.
Malcolm Anderson
17

Zastanawiałem się nad tym samym w przypadku niektórych skrótów pod Windows XP. Próbowałem Cygwina , readshortcutale nie powiedział mi prawdziwego celu:

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

Są więc oczywiście związane z Instalatorem Windows. Aby znaleźć plik wykonywalny, zawsze można po prostu uruchom go i wykorzystanie Process Explorer , aby uzyskać ścieżkę - w moim przypadku C:\Program Files\Microsoft Office2K\Office\WINWORD.EXE.

Hugh Allen
źródło
7
+1 i działa, ale jest to straszne dla bezpieczeństwa. Jeśli podejrzana aplikacja trafiła na komputer i chciałbyś wiedzieć, na co wskazuje skrót, nie uruchamiając go, Microsoft powinien uprościć to. Ale pozostawiliśmy to naszym własnym urządzeniom skaczącym przez obręcze. Jak możemy nawet poprowadzić starą babcię przez telefon, aby to zrobić. Rant over
7wp
7

Miałem podobny problem i mogłem użyć Menedżera zadań ( Ctrl- Alt- DeleteUruchom Menedżera zadań ), aby znaleźć aplikację (po otwarciuit) w zakładce Aplikacje .

Kliknij żądaną aplikację prawym przyciskiem myszy, aby wyświetlić menu, i wybierz Idź do procesu . To pokazuje, który proces jest powiązany z aplikacją na karcie Procesy .

Następnie kliknij proces prawym przyciskiem myszy, aby wyświetlić menu, i wybierz Właściwości lub Otwórz lokalizację pliku, aby dowiedzieć się więcej.

użytkownik207224
źródło
6

Dla tych, którzy chcą to zrobić w PowerShell bez użycia modułu:

$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))
użytkownik334199
źródło
potrzebujemy takich odpowiedzi na pytania ... WOO POWERSHELL
Nacht - Przywróć Monikę
2

Wypróbuj jedną z poniższych metod (z forów 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 (z instalacją tego modułu Instalatora Windows )

get-msiproductinfo | where { $_.ProductState -match "Installed" } | fl AdvertisedProductName, InstallLocation
user66001
źródło
2

otwarty regedit i wyszukaj nazwę programu. To zajmie kilka „szukaj ponownie” ( F3), ale w końcu znajdziesz folder.

W moim przypadku było poniżej HKEY_CLASSES_ROOT\Applications\<name of app>\shell\open\command

Marcelo Trejo
źródło
Również z tej SO odpowiedzi - spójrzHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
icc97
0

Jeśli masz aktywną Kontrolę konta użytkownika, to kiedy pojawi się okno UAC z pytaniem o Zezwól, Anuluj, często widzisz pod nim inną (pomijaną przez wielu) strzałkę rozwijaną z tytułem „Szczegóły”. Jeśli klikniesz Szczegóły, powinieneś zobaczyć faktyczną lokalizację celu.

PS, jeśli pamiętam, że ten problem sięga wstecz od Windows 7, a nawet XP, aby wygrać 98, gdzie kliknięcie skrótu prawym przyciskiem myszy, wybranie właściwości, często nie pokazuje celu. Następnie musieliśmy uruchomić aplikację, otworzyć menedżera zadań, kliknąć prawym przyciskiem myszy aplikację na liście, wybrać przejść do przetwarzania, kliknąć prawym przyciskiem myszy proces, wybrać lokalizację otwartego pliku (lub czasami właściwości). Teraz UAC pozwala na mniej kroków.

użytkownik503911
źródło
0

Sztuczka, która może zadziałać: Uruchom CMD i uruchom:

reż C: \ iTunes / s / b

Zgłasza każdy plik lub katalog o nazwie dokładnie „iTunes” (bez rozróżniania wielkości liter). Jeśli masz więcej niż jeden dysk stały, może być konieczne powtórzenie tego samego dysku.

Możesz też utworzyć plik w „nieznanym folderze” (tutaj: iTunes), a następnie poszukać tego pliku na dysku:

katalog C: \ * testfilenumber1 * / s / b

TVC
źródło
-1

Najprostszy sposób na znalezienie miejsca pliku wykonywalnego:

  1. Znajdź program w menu Start i przenieś go na pulpit za pomocą prawego przycisku myszy. To tworzy link.
  2. Umieść wskaźnik na łączu i kliknij prawym przyciskiem myszy. Wybierz „Właściwości”
  3. Na tym ekranie masz pełną ścieżkę do pliku wykonywalnego. Skopiuj do bufora i wklej w dowolnym momencie.
użytkownik396877
źródło
Znalezienie programu w menu Start nie pozwala na osiągnięcie celu. Co więcej, znajdowanie go w menu Start często pokazuje „Reklamowany skrót” zamiast bezpośredniego skrótu. Pierwotne pytanie brzmiało, jak uzyskać bezpośredni shorctut do fizycznego pliku wykonywalnego ze specjalnego typu „Reklamowany skrót”.
7wp,
Dla moich celów była to najlepsza odpowiedź. Dlaczego ma rangę -2 (w tej chwili 28 kwietnia 2018 r.) Nie wiem. Informacje o linkach reklamodawcy były interesujące, a teraz wiem, że mogę usunąć ten spam i nie muszę już szukać aplikacji, ponieważ nie ma jej na dysku twardym. Są chwile, kiedy chcę po prostu móc przejść do pliku wykonywalnego. Ta wskazówka (przenieś skrót na pulpit za pomocą kliknięcia prawym przyciskiem - i sprawdź WŁAŚCIWOŚCI) jest przydatna i głosuję, ponieważ pomogła mi.
Malcolm Anderson