Windows 7查找已安装程序的位置


26

通常在Windows XP上,如果我想知道已安装程序的位置,只需单击“属性”,它就会显示可执行文件的位置。

在Windows 7上,我做同样的事情,并且得到以下信息:

替代文字

如何根据快捷方式找出程序的位置?但是,我确实注意到,对于某些程序,它的确在“目标”下显示了快捷方式,但在iTunes中却没有。


对于那些没有快捷方式的人-只需按照下面的Marcelo Trejo的说明
icc97 '16

Answers:


21

您看到的是称为“广告快捷方式”的特殊快捷方式。快捷方式实际上msiexec.exe是Windows Installer可执行文件的链接。公告的快捷方式允许安装程序作者仅安装其应用程序的一部分,然后在通过公告的快捷方式访问它们时安装其他组件。Windows Installer还会在每次运行该应用程序时自动检查所有已安装文件的完整性,因此您可以确保该应用程序在运行时有效。

这是一个堆栈溢出问题,其中包含有关宣传的快捷方式的更多信息。

找到快捷方式最终运行的可执行文件不是一件容易的事,并且会涉及到注册表的一些挖掘。 休的建议可能要简单得多。


我那里的支持细节不错+1
Joe Taylor

对于所使用的示例,这是一个很好的答案,但没有回答原始问题,即“ Windows 7查找已安装程序的位置”。某种程度上,这与“广告快捷方式”有关,我只想找出程序的位置,以便我可以将其从我的c:驱动器移动到另一个有空间的驱动器(或者出于任何原因我想从命令行运行该程序)我了解到MS出于各种原因选择隐藏基础路径,其中一个是这个“广告客户的链接”,实际上是没有路径的。
马尔科姆·安德森

17

对于Win XP下的某些快捷方式,我想知道同样的事情。我尝试了Cygwinreadshortcut但是没有告诉我真正的目标:

$ 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 Installer有关。要找到可执行文件,您始终可以运行它并使用Process Explorer来获取路径-在我的情况下为C:\Program Files\Microsoft Office2K\Office\WINWORD.EXE


7
+1可以正常工作,但这对安全性来说很糟糕。如果可疑应用程序在计算机上出现,并且您想知道快捷方式指向的内容而没有实际运行它,则Microsoft应该已经使这种简单操作变得简单。但是留给了我们自己的设备。我们甚至如何指导小老奶奶通电话。 咆哮过
7wp

7

我有一个类似的问题,并能够使用任务管理器(Ctrl- Alt- Delete启动任务管理器)来查找应用程序(openingit后)的应用程序选项卡。

右键单击所需的应用程序以显示菜单,然后选择转至流程。这在“ 进程”选项卡中显示了与该应用程序关联的进程

然后,右键单击该过程以打开菜单,然后选择“ 属性”或“ 打开文件位置”以了解更多信息。


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

我们需要像这样的mo怒答案... WOO POWERSHELL
恢复Monica

2

请尝试以下任一方法(来自Tek-Tips论坛):

脚本

' 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 Installer模块

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

2

打开regedit并搜索程序名称。这将需要几个“再次搜索”(F3),但最终您将找到该文件夹​​。

就我而言, HKEY_CLASSES_ROOT\Applications\<name of app>\shell\open\command


也是从这个SO答案 -照照HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
icc97

0

如果激活了“用户帐户控制”,则在UAC框问到“允许,取消”时,您经常会在其下看到另一个(很多人忽略的)下拉箭头,标题为“详细信息”。如果单击“详细信息”,则应该看到目标的实际位置。

PS,如果我记得这个问题可以追溯到Windows 7甚至XP之前,则可以赢得98,右键单击快捷方式,选择属性,通常不会显示目标。然后,我们必须启动应用程序,打开任务管理器,右键单击列表中的应用程序,选择进入流程,右键单击流程,选择打开文件的位置(或有时选择属性)。现在,UAC减少了步骤。


0

一个可行的技巧是:启动CMD并运行:

目录C:\ iTunes / s / b

它将报告名称完全为“ iTunes”的文件或目录(不区分大小写)。如果您有多个固定驱动器,则也可能需要对该驱动器重复一次。

或者,您可以在“未知文件夹”(此处为iTunes)中创建文件,然后在磁盘上查找该文件:

目录C:\ * testfilenumber1 * / s / b


-1

找出可执行文件位置的最简单方法:

  1. 在“开始”菜单上找到程序,然后使用鼠标右键将其移至桌面。这将创建一个链接。
  2. 将指针放在链接上,然后单击鼠标右键。选择“属性”
  3. 在该屏幕上,您具有可执行文件的完整路径。复制到缓冲区并在需要时粘贴。

在开始菜单中找到该程序会达到目的。此外,如果在开始菜单中多次找到它,则会显示“广告快捷方式”而不是直接快捷方式。最初的问题是如何从特殊的“ Advertised Shortcut”类型将直接链接到物理可执行文件。
7wp

对我而言,这是最好的答案。我不知道为什么它的排名为-2(目前是2018年4月28日)。有关广告客户链接的信息很有趣,现在我知道可以删除该垃圾邮件,并且不再需要查找该应用程序,因为它不在我的硬盘上。有时候我只想能够导航到可执行文件。该技巧(通过右键单击将快捷方式移至桌面-并检查THAT的属性)非常有用,我赞成它,因为它对我有帮助。
马尔科姆·安德森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.