lazybios

win平台判断软件是否安装

有这样一种情况,你使用的软件在某方面并不完善,你想对它进行改进,或者干脆在这个第三方软件的基础上构建新的软件。这时运行你的软件所必需满足的条件之一就是预装了这个第三方软件。

编程时常常需要对该软件是否安装,及安装位置进行检测。在win平台上有两种方式一种是对注册表进行检查,另一种就是下文中要提到的一个Win自带的一个命令行小工具wmic

WMIC扩展WMI(Windows Management Instrumentation,Windows管理规范) ,提供了从命令行接口和批命令脚本执行系统管理的支持.通过该工具可以查询到许多系统属性,并且也可以执行相应的一些命令。

wmic product "name like "software%"" get Name,InstallLoction

该命令使用模糊查找,返回软件的名称和安装路径。当然还有其它属性,有兴趣可以自己查阅文档:)

不过发现这样查询方式有一个弱点就是速度比较慢,我想应该是wmic作为中间件而不是直接使用WQL查询导致的,这个应该是硬伤吧,但是反过说采用这样的方式简化了操作,在一定程度上应该说也是提升效率的表现吧

微信关注「日拱一卒」公众号