【问题标题】:Find the location of an application on Windows在 Windows 上查找应用程序的位置
【发布时间】:2016-06-08 11:26:42
【问题描述】:
拥有应用程序的产品代码或产品名称,如何找到该应用程序的安装位置?一定有这个信息,因为 Windows 卸载知道要删除哪个文件夹。我希望它会在注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{ProductCode}”下,但该位置不存在。我搜索了整个注册表,但我找不到它。你知道我是怎么做到的吗?可以找到该位置吗?如果您有一些 .NET 代码来执行此操作,那就更好了。
【问题讨论】:
标签:
windows-installer
registry
【解决方案2】:
这个问题有点模糊,因为通常没有安装应用程序的单一位置。但是,如果您指的是用户通常可以更改的主“应用程序文件夹”,那么它可能会被存储。但是,该安装位置仅在安装程序发生时才在注册表中(并且可从 MsiGetProductInfo 获得)。安装程序必须将 ARPINSTALLLOCATION 设置为(通常)TARGETDIR 以便 Windows 存储它。
否则,正如迈克尔所说,从产品中查找组件 ID 并获取其路径。但是,如果您正在创建安装并需要在该位置安装一些东西,那么您不需要代码。大多数安装工具都有一个组件搜索功能,可用于为您的文件设置安装目录。