如何以编程方式在Windows中查找已安装应用程序的安装位置
发布时间:2020-12-14 05:30:13 所属栏目:Windows 来源:网络整理
导读:我想以编程方式找到基于MSI的安装的安装位置.该应用程序不会在注册表中的卸载密钥中输入Install Location.应用程序不会填充ARPINSTALLLOCATION属性. (这与添加/删除程序引用的值相同,并存储在卸载密钥中).但是,卸载仍然可以找到它所在的位置并可以将其卸载.
我想以编程方式找到基于MSI的安装的安装位置.该应用程序不会在注册表中的卸载密钥中输入Install Location.应用程序不会填充ARPINSTALLLOCATION属性. (这与添加/删除程序引用的值相同,并存储在卸载密钥中).但是,卸载仍然可以找到它所在的位置并可以将其卸载.这些信息存储在哪里?
Windows使用缓存的MSI安装程序卸载应用程序,但安装时首次确定安装位置,因此此信息不是安装程序包的一部分.
解决方法
我假设当你说“安装位置”时,你的意思是“应用程序的EXE位于哪个目录?”否则,问题是不明确的,因为MSI不一定要安装“应用程序”.它可以安装没有EXE的组件.它可以跨多个目录安装它……
但这可能会奏效: 拨打MsiGetProductInfo以获取ARPINSTALLLOCATION.您需要知道安装的“产品名称”.作为第一个参数.如果需要,请致电MsiEnumProducts以枚举所有已安装的“产品” (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows – 用于保存网页和相关链接以便离线查看的任何工具
- windows-phone-7 – WP7:在应用程序背景下编辑屏幕截图(芒
- windows-server-2012-r2 – 如何在实验室中对Windows Serve
- window下mysql 启动
- 在Windows / C中强制显示分辨率
- 担心WPF.我应该使用WPF或不同的库用于Windows GUI吗?
- windows-server-2003 – 小型网络的自动裸机恢复实践
- wpf – TaskDialog触发异常:需要版本6中的comctl32.dll
- active-directory – Windows Server:SYSTEM和CREATOR OWN
- user-interface – win32 select edit on edit ctrl(textbo