从命令行回滚暂停的 .MSI 安装

从命令行回滚暂停的 .MSI 安装

我们将 Java 安装程序部署到大量机器,但其中大约一半的机器出现死机。现在,后续部署因以下消息而失败:

用户“SYSTEM”之前已启动产品“Java 7 Update 10”的安装。该用户需要再次运行该安装才能使用该产品。您当前的安装现在将继续。

其次是:

错误 1704。Java 7 Update 10 的安装目前已暂停。您必须撤消该安装所做的更改才能继续。是否要撤消这些更改?

如果您以交互方式运行安装,则没有问题。您只需单击“确定”,然后单击“是”,它就会继续。但是,如果您运行命令行安装,它会停止。我们如何从命令行取消暂停的安装?

答案1

据我所知,无法使用 MSIEXEC 从命令行取消暂停的 MSI 安装(它没有相关参数)。

无论如何,您可以尝试运行以下命令:

REG DELETE HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress

此键是在安装过程中创建的。删除它应该允许您再次重新运行安装程序。

答案2

如果 Tomas 的回答不能解决问题,你可以尝试执行文件公用事业。

它基本上还会删除 MSI 安装留下的元数据,但不需要您找出存储信息的所有位置。

例如删除 inProgress 信息:

msizap.exe p

或删除回滚信息:

msizap.exe s

答案3

我发现在 Windows 10 (x64) 中,您可以尝试删除不在 HKLM 中的密钥,而是在当前用户注册表分支 HKEY_USERS\SXX-XX-...\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress 中

答案4

我们最近在 Windows Server 2016 上安装 MSI 时遇到了这个问题。删除下面的文件会取消暂停的安装。

在此处输入图片描述

相关内容