![如何使用 CMD/MSIExec 在 REGEDIT 中找到的 UninstallString 卸载程序?](https://linux22.com/image/732434/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20CMD%2FMSIExec%20%E5%9C%A8%20REGEDIT%20%E4%B8%AD%E6%89%BE%E5%88%B0%E7%9A%84%20UninstallString%20%E5%8D%B8%E8%BD%BD%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
UninstallString
我在尝试发现卸载程序的路径时找到了注册表项。这是在HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
內容UninstallString
:MsiExec.exe /X{DBB43649-A97A-41A2-80E4-20E1D2340EBC}
我将其解释为 Windows在路径上使用MsiExec.exe
带有标志。/X
{DBB43649-A97A-41A2-80E4-20E1D2340EBC}
但是,当我在 CMD 中尝试该命令(以管理员身份)时,它找不到卸载。当我运行 Program Files 时,Program Files 会在后台找到此 MSI 所在的位置并将其卸载,这样 Windows 就知道它最终在哪里。
我的主要目标是创建一个脚本来卸载多个 Windows 服务器的软件。有没有办法找到某个程序的卸载程序,以便通过 CMD MSIExec 卸载它?
感谢您的任何帮助和指导
答案1
{DBB43649-A97A-41A2-80E4-20E1D2340EBC}
是程序的 ID,而不是文件或路径。您可以HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
使用查找应用程序get-wmiobject Win32_Product | Format-Table IdentifyingNumber, Name
。
但是,MsiExec.exe /X {DBB
(...) 应该始终有效。如果您收到“文件未找到”错误,请检查 msiexec 是否在您的路径中。