我有几个最终用户安装了 Oracle Java JRE 1.8.0_xxx,但通过 msiexec /X 使用 UninstallString 的自动化失败,提示产品未安装。在这些机器上,它确实没有显示在“程序和功能”中,但安装在那里。二进制文件和可执行文件都在 C:\Program Files\Java\jre1.8.0_xxx\ 中,注册表仍保留该产品的 GUID。还有其他什么方法可以卸载它?
编辑以添加卸载失败的详细日志记录
=== 详细日志记录开始时间:2023 年 11 月 30 日 12:29:11 构建类型:SHIP UNICODE 5.00.10011.00 调用进程:C:\Windows\system32\msiexec.exe ===
MSI (c) (A0:30) [12:29:11:782]: 已创建字体。字符集:Req=0,Ret=0,字体:Req=MS Shell Dlg,Ret=MS Shell Dlg
MSI (c) (A0:30) [12:29:11:782]: 已创建字体。字符集:Req=0,Ret=0,字体:Req=MS Shell Dlg,Ret=MS Shell Dlg
MSI (c) (A0:4C) [12:29:11:802]: 重置缓存的策略值
MSI (c) (A0:4C) [12:29:11:802]: 机器策略值“Debug”为 0
MSI (c) (A0:4C) [12:29:11:802]: ******* RunEngine:
******* 产品:{26A24AE4-039D-4CA4-87B4-2F64180311F0}
******* 操作:
******* 命令行:**********
MSI (c) (A0:4C) [12:29:11:803]: 客户端和 UI 无或为基本:在服务器上运行整个安装。
MSI (c) (A0:4C) [12:29:11:803]: 已获取执行互斥锁。MSI (
c) (A0:4C) [12:29:11:924]: 已启用隐藏。MSI
(c) (A0:4C) [12:29:11:924]: 尝试在调用服务器上的 Install 之前启用所有已禁用的权限
MSI (c) (A0:4C) [12:29:11:929]: 增加计数器以禁用关机。增量后的计数器:0
MSI(s)(20:90)[12:29:11:959]:正在多包事务 {26A24AE4-039D-4CA4-87B4-2F64180311F0} 中运行安装
MSI(s)(20:90)[12:29:11:959]:已抓取执行互斥锁。
MSI (s) (20:90) [12:29:11:974]: 重置缓存的策略值
MSI (s) (20:90) [12:29:11:974]: 机器策略值“Debug”为 0
MSI (s) (20:90) [12:29:11:974]: ******* RunEngine:
******* 产品:{26A24AE4-039D-4CA4-87B4-2F64180311F0}
******* 操作:
******* CommandLine:**********
MSI (s) (20:90) [12:29:11:974]: 机器策略值“DisableUserInstalls”为 0
MSI (s) (20:90) [12:29:11:975]: MainEngineThread 返回 1605
MSI (s) (20:90) [12:29:11:985]: 用户策略值“DisableRollback”为 0
MSI(秒)(20:90)[12:29:11:985]: 机器策略值“DisableRollback”为 0
MSI(秒)(20:90)[12:29:11:985]: 增加计数器以禁用关机。递增后的计数器:0
MSI (s) (20:90) [12:29:11:985]: 注意:1:1402 2:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3:2
MSI (s) (20:90) [12:29:11:986]: 注意:1:1402 2:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3:2
MSI (s) (20:90) [12:29:11:987]: 减少计数器以禁用关机。如果计数器 >= 0,则将拒绝关机。减量后的计数器:-1
MSI (c) (A0:4C) [12:29:11:988]:减量计数器以禁用关机。如果计数器 >= 0,则将拒绝关机。减量后的计数器:-1
MSI (c) (A0:4C) [12:29:11:989]:MainEngineThread 返回 1605
=== 详细日志记录已停止:2023 年 11 月 30 日 12:29:11 ===
答案1
这可能意味着卸载失败、中止或部分卸载。
您应该尝试以最大详细日志记录方式运行 msiexec.exe,并检查日志中已检查但缺失的注册表项和值。
使用以下 PS 命令确认产品代码:
get-wmiobject Win32_Product | Format-Table IdentifyingNumber, Name
并运行卸载:
msiexec.exe /x "{guid}" /l*v c:\path\to.log
更新:尝试以下操作本机命令提示符:
START /WAIT /MIN WMIC product where "Name LIKE 'Java 8%%'" call uninstall /nointeractive