Windows 7 знаходження місця встановленої програми


26

Зазвичай у Windows XP, якщо я хотів би дізнатися місце встановленої програми, я просто натиснув "Властивості", і він би показав, де знаходиться виконуваний файл.

У Windows 7 я роблю те саме, що я отримую так:

alt текст

Як я можу дізнатися, де розміщені програми на основі ярлика? Однак я помітив, що для деяких програм він відображає ярлик під "Цільовим", але не у випадку з iTunes, наприклад.


Для тих, хто приїжджає сюди, хто не має ярлика - просто шукайте в реєстрі, як викладено Марсело
Треджо

Відповіді:


21

Ви бачите спеціальні ярлики під назвою Рекламовані ярлики. Ярлики фактично посилаються на msiexec.exeякий виконується програма Windows Installer. Рекламовані ярлики дозволяють авторам-установникам встановлювати лише частини програми та потім встановлювати додаткові фрагменти, коли до них можна отримати доступ через рекламований ярлик. Windows Installer також автоматично перевіряє цілісність усіх встановлених файлів щоразу, коли програма запускається, щоб ви могли бути впевнені, що програма дійсна під час її запуску.

Ось запитання про переповнення стека з трохи більше інформації про рекламовані ярлики.

Пошук виконуваного ярлика в кінцевому підсумку не є простим завданням і передбачає деяке перекопування реєстру. Пропозиція Х'ю, ймовірно, набагато простіша.


Приємна деталь підтримки там +1 від мене
Джо Тейлор

Це чудова відповідь на використаний приклад, але це не відповідь на початкове запитання, яке "Windows 7 знаходити місце встановленої програми" Якимось чином це стало про "рекламовані ярлики", я просто хочу дізнатися, де знаходиться програма, щоб я можна перенести його з мого c: диск на інший диск, у якому є простір (або я хочу запустити програму з командного рядка з будь-якої причини) Я дізнався, що MS вирішує приховати основний шлях з різних причин, ОДНА з яких це "посилання рекламодавця", куди буквально немає шляху.
Малькольм Андерсон

17

Я запитав те ж саме для деяких ярликів під програмою win XP. Я спробував Cygwin 's, readshortcutале це не сказало мені реальної мети:

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

Тому вони, очевидно, щось стосуються інсталятора Windows. Для того, щоб знайти виконуваний файл, ви завжди можете просто запустити його і використовувати Process Explorer , щоб отримати шлях - в моєму випадку, C:\Program Files\Microsoft Office2K\Office\WINWORD.EXE.


7
+1 і це працює, але це страшно для безпеки. Якщо підозрілий додаток пробився на комп’ютер, і ви хотіли знати, на що вказує ярлик, не фактично його запускаючи, Microsoft повинен був зробити це мертвим просто. Але залишилися до наших власних пристроїв, що стрибали через обручі. Як ми можемо вести маленьку стару бабусю по телефону, щоб це зробити. Рант над
7wp

7

У мене була подібна проблема, і я міг за допомогою диспетчера завдань ( Ctrl- Alt- DeleteЗапустити диспетчер завдань ) знайти додаток (після відкриття на) на вкладці Програми .

Клацніть правою кнопкою миші потрібну програму, щоб відкрити меню, і виберіть Перейти до процесу . Це показує, який процес пов’язаний із додатком на вкладці « Процеси ».

Потім клацніть правою кнопкою миші процес, щоб відкрити меню та виберіть " Властивості" або " Відкрити розташування файлу", щоб дізнатися більше.


6

Для тих, хто хоче це зробити в PowerShell без використання модуля:

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

нам потрібні відповіді, як це ... WOO POWERSHELL
Nacht -

2

Спробуйте будь-що із наведеного нижче (з форумів 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 (із встановленням цього модуля інсталятора Windows )

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

2

Відкрийте regeditі знайдіть назву програми. "Шукати знову" ( F3) потрібно кілька разів, але з часом ви знайдете папку.

У моєму випадку це було під HKEY_CLASSES_ROOT\Applications\<name of app>\shell\open\command


Також з цієї відповідіHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
ТА

0

Якщо у вас є активний контроль облікових записів користувачів, тоді, коли з'являється вікно UAC з проханням "Дозволити, Скасувати", ви часто бачите під ним назву "Деталі" інша (переглянута багатьма) стрілка, що випадає. Якщо натиснути на подробиці, ви побачите фактичне місце розташування цілі.

PS, якщо я пригадую, це питання повертається назад за Windows 7, навіть минулий XP, щоб виграти 98, де правою кнопкою миші клацнути ярлик, вибираючи властивості, часто не буде показано ціль. Тоді нам довелося запустити додаток, відкрити диспетчер завдань, клацнути правою кнопкою миші додаток у списку, вибрати перейти до процесу, натиснути правою кнопкою миші процес, вибрати розташування відкритого файлу (або іноді властивості). Тепер UAC робить менше кроків.


0

Трюк, який може спрацювати, такий: запуск CMD та запуск:

dir C: \ iTunes / s / b

Він повідомить про будь-який файл або каталог, названий точно "iTunes" (не залежно від регістру). Якщо у вас є більше одного фіксованого накопичувача, можливо, буде потрібно повторити і для цього диска.

Або ви можете створити файл у "невідомій папці" (тут: iTunes), а потім шукати цей файл на диску:

dir C: \ * testfilenumber1 * / s / b


-1

Найпростіший спосіб дізнатися місце виконуваного файлу:

  1. Знайдіть програму в меню «Пуск» і перемістіть її на робочий стіл за допомогою правої кнопки миші. Це створює посилання.
  2. Поставте вказівник на посилання та клацніть правою мишкою. Виберіть "Властивості"
  3. На цьому екрані у вас є повний шлях до виконуваного файлу. Скопіюйте в буфер і вставте, коли вам потрібно.

Пошук програми в меню "Пуск" перемагає мету. Крім того, знайшовши його в меню "Пуск" багато разів, ви побачите "Рекламований ярлик" замість прямого ярлика. Первісне запитання полягало в тому, як отримати прямий ярлик до фізичного виконуваного файлу із спеціального типу "Рекламований ярлик".
7wp

Для моїх цілей це була найкраща відповідь. Чому він має ранг -2 (на даний момент, 28 квітня 2018 року), я не знаю. Інформація про посилання рекламодавця була цікавою, і тепер я знаю, що я можу видалити цей спам, і більше не потрібно шукати додаток, оскільки це не на моєму жорсткому диску. До моменту, коли мені просто хочеться перейти до виконуваного файлу. Ця порада (перемістити ярлик на робочий стіл за допомогою клацання правою кнопкою миші - і перевірити властивості ТОГО) є корисною, і я голосую за те, що мені це допомогло.
Малькольм Андерсон,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.