静默安装的文章请查看这个链接:点击打开链接
静默卸载只尝试了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 并调用即可实现静默卸载。