当前位置: 代码迷 >> 综合 >> windows自动卸载程序
  详细解决方案

windows自动卸载程序

热度:28   发布时间:2024-02-07 11:37:29.0


管理数百台或数千台计算机,怎么快速自动化卸载程序
MsiExec / GUID方法 
(The MsiExec / GUID Method)


使用注册表卸载字符串

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

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


查找要卸载的软件条目。

注册表项UninstallString条目,该条目包含,存放软件的卸载命令,卸载字符串,一条卸载命令:

MsiExec.exe /x {78190000-0011-0000-0000-0000000FF1CE} ,该命令使用程序的GUID来卸载程序。

 

即可以通过 MsiExec.exe /X{ProductCode} 命令来卸载程序。
ProductCode是Windows 安装程序包的全局唯一标识符 (GUID), 我们可以通过注册表来获取ProductCode

实例:  用MsiExec.exe 自动卸载程序.

 然后在CMD中直接调用这个命令, 会弹出一个对话框,点击”是” 后, 软件就能被卸载了。

在自动化测试中,我们不想弹出这个对话框,而是希望直接卸载。 只要加个参数 /quiet 就可以了

静默卸载的命令是: MsiExec.exe /X{ProductCode} /quiet

 

 

GUID作为卸载参数,令人迷惑。

尝试采用MsiExec的安静方式和无用户界面方式卸载软件 ,仅仅调用了msiexec进程,并不执行卸载操作。

MsiExec.exe /x {78190000-0011-0000-0000-0000000FF1CE} /qn

使用GUID卸载时,有一个限制是,同一软件的次要版本可能具有不同的GUID。

软件产品版本1.1.8可能具有与版本1.1.5不同的GUID。 这将需要多个MSIEXEC命令来使用不同的GUID解决这些软件安装问题

 

使用WMIC按通配符名称卸载软件产品

Using WMIC to uninstall a software product by wildcard name

在Windows 10里面使用命令行去卸载软件
其用法为:

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

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

  相关解决方案