Windows 命令行卸载软件

有一个需求,在Windows 10里面使用命令行去卸载软件。

使用wmic

一种方法是使用 wmic 命令来卸载特定的软件。
其用法为:

wmic product where  '(name="xxxx")' call uninstall

但是这种方法只能卸载部分使用标准的windows installer服务进行安装卸载的软件,对于那些非标准软件这种方法会失效,换句话说有些控制面板里面出现的软件 wmic product 不一定能找出来。

使用注册表

一般只要是能够在控制面板——程序 那里出现的软件,都会在以下三处注册表的其中一处注册它的卸载方法。

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall


例如:Google Chrome的值在HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Google chrome\
Windows 命令行卸载软件
Display Name是它在控制面板的显示的名称,Uninstall String则是卸载程序的命令行,运行这个命令行就跟在控制面板对软件进行卸载一样。
例如google chrome的卸载方式为:

"C:\Program Files (x86)\Google\Chrome\Application\74.0.3729.131\Installer\setup.exe" --uninstall --system-level --verbose-logging

得到这个命令后,再运行该命令即可。

使用python

本人已经将使用注册表获取卸载命令的逻辑使用python 实现。
GitHub地址:https://github.com/jmhIcoding/uninstall_pc_software.git
使用方法:
拉取代码:

git clone https://github.com/jmhIcoding/uninstall_pc_software.git

然后把项目的*.py文件放到自己工程下。

from  util import *
if __name__ == '__main__':
    uninstall_software("USBPcap 1.2.0.4")

就会把系统里面安装的USBPcap 1.2.0.4卸载。

猜你喜欢