回滚挂起.MSI从命令行安装

我们部署了一个Java安装程序到大量的机器,并冻结了大约一半。 现在,由于以下消息,后续部署失败:

用户“系统”以前已经启动了产品“Java 7 Update 10”的安装。 该用户将需要再次运行该安装,然后才能使用该产品。 您目前的安装现在将继续。

其次是:

错误1704. Java 7 Update 10的安装目前暂停。 您必须撤消该安装所做的更改才能继续。 你想撤消这些变化吗?

如果您交互地运行安装,这是好的。 你只需点击“确定”,然后“是”,然后滚动。 但是,如果您运行命令行安装,则会暂停。 我们如何从命令行取消暂停安装?

据我所知,使用MSIEXEC从命令行取消暂停的MSI安装是不可能的(它没有参数)。

无论如何,你可以尝试运行下面的命令:

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

此密钥是在进行安装时创build的。 删除它应该允许您重新运行安装程序。

如果Tomas答案不能解决问题,则可以尝试使用MsiZap.exe实用程序。

它基本上也删除了MSI安装留下的元数据,但它并不要求你找出存储信息的所有位置。

例如,删除inProgress信息:

 msizap.exe p 

或删除回滚信息:

 msizap.exe s 

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