WINDOWS 下静默安装 与 静默卸载

静默安装的文章请查看这个链接:点击打开链接

静默卸载只尝试了2个类型的文件,经测试通过.

1.微软的环境安装包,比如vcredist_x86.exe OfficeFilterPack32bit.exe这系列的卸载参数为msiexec.exe /x {产品ID} /qb

2.NSIS格式的安装包的静默卸载参数与安装参数一样,安装路径下的Unitstall.exe /S(注意这里必须是大写).


如何查看产品ID以及Unitstall.exe的路径:

32位注册表路径 :HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall

64位注册表路径:HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall


如何得到产品ID?

先到控制面板下查看安装软件的名称,举例安装OfficeFilterPack32bit.exe ,安装完之后,到控制面板,添加删除程序查看,会看到Microsoft Filter Pack 2.0已经安装完成了,打开注册表,依次打这个目录HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall这里自行对应32,64位的目录,然后搜索,Microsoft Filter Pack 2.0,会马上定位到在Uninstall下会有这个文件夹,{95140000-2000-0804-0000-0000000FF1CE},文件夹名就是产品ID。(或者直接获取这个文件夹下面的UninstallString这个字段的值并添加/qb)

使用msiexec.exe /x {95140000-2000-0804-0000-0000000FF1CE} /qb即可实现静默卸载(这里其实还是会出现一个对话框,只是不需要点击确认而已,如有兄台实现无任何迹象卸载可给我留言哟!)

点进去查看DisplayName的值为DisplayName。

再来看NSIS文件的静默卸载(注意NSIS卸载不需要用到产品ID,有自带的Unitstall.exe,我们只需要调用这个exe即可)。

步骤和上面一样,先将NSIS安装文件安装,然后到添加删除程序查看,安装的包的名称,再到Uninstall目录下,找到这个文件夹,并获取UninstallString的值 在UninstallString后面增加/S 并调用即可实现静默卸载。

你可能感兴趣的:(C++)