我正在尝试编写一个批处理脚本,它将搜索注册表并将UninstallString的值添加到一个变量中。
有几个注意事项:
1.键可以是在不同的工作站不同(取决于所使用的安装程序,存在samesoftware版本的多个修改版本MSI)
2.没有与已安装的补丁的主要产物
3该补丁必须先卸载主产品之前批处理文件:搜索注册表并设置多个变量
例如,思科监事桌面软件可能包含以下键值:
补丁3
KEY: HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\的Windows \ CurrentVersion \卸载{981E3887-9D55-4B91-B643-7155AA98C906}
显示名称值:思科桌面服务8.5(4)维护版本4类技术6
UninstallString值: MSIEXEC.EXE/X {981E3887-9D55-4B91-B643-7155AA98C906}
补丁2
KEY: HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\的Windows \ CurrentVersion \卸载{4FA5AFA8 -FDEB-43C9- 83B7-43092593ACDF}
DisplayName值:思科桌面服务8.5(4)维护版本4工程特别4
UninstallString值: MSIEXEC.EXE/X {4FA5AFA8-FDEB-43C9-83B7-43092593ACDF}
补丁1:
KEY: HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\的Windows \ CurrentVersion \卸载{CA941834-837E-44C2-BF83-E7E7558FDD61}
显示名称值:思科桌面服务8.5(4)维护版本4
UninstallString值: MSIEXEC.EXE/X {CA941834-837E-44C2-BF83-E7E7558FDD61}
主要产品:
KEY: HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\的Windows \ CurrentVersion \卸载
显示名称值:思科监事桌面
UninstallString值: MSIEXEC.EXE/X {AB60EBDC-45A9- 4764-96CB-EFCE4AD0C10B}
他们必须按照这个顺序被卸载。当安装多个版本时,还有可能在注册表中存在其他密钥。
我想搜索功能可以使用DisplayName值思科桌面服务,因为它是为所有的补丁然后为思科主管代理单独的搜索通用补丁创建。
我现在有WMIC命令,但有时他们可以运行,而如果我手动运行UninstallString值很快完成极其缓慢。我还有一些情况,即在UninstallString值会出现WMIC命令不会卸载产品的情况。如果这是可能
任何帮助,将不胜感激。
'reg'效用为基础的方法是最快的的确,看看[我怎么能自动卸载使用批处理文件,其中包含“VNC”在他们的显示名称的所有程序?(http://stackoverflow.com/a/33279973)如果你可以调整它,它自己, – wOxxOm
谢谢您。这似乎很适合查找卸载字符串。你知道一种安排卸载的方法,以便它们以特定顺序卸载吗? –
我想可能有很多种方法。例如,你可以使一个“阵列”与所有的卸载字符串 – wOxxOm