Назад | Перейти на главную страницу

Откат приостановленной установки .MSI из командной строки

Мы развернули установщик Java на большом количестве машин, и он завис примерно на половине из них. Теперь последующие развертывания завершаются ошибкой из-за следующего сообщения:

Пользователь SYSTEM ранее инициировал установку продукта Java 7 Update 10. Этому пользователю нужно будет снова запустить эту установку, прежде чем он сможет использовать этот продукт. Ваша текущая установка будет продолжена.

С последующим:

Ошибка 1704. Установка Java 7 Update 10 в настоящее время приостановлена. Чтобы продолжить, необходимо отменить изменения, внесенные в ходе этой установки. Вы хотите отменить эти изменения?

Если вы запускаете установку в интерактивном режиме, это нормально. Вы просто нажимаете «ОК», а затем «Да», и это продолжается. Но если вы запустите установку из командной строки, она остановится. Как мы можем отменить приостановленную установку из командной строки?

Насколько мне известно, отменить приостановленную установку MSI из командной строки с помощью MSIEXEC невозможно (для этого нет параметра).

В любом случае вы можете попробовать выполнить следующую команду:

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

Этот ключ создается, когда идет установка. Его удаление должно позволить вам снова запустить настройку.

Если ответ Томаса не решает проблему, вы можете попробовать MsiZap.exe Утилита.

По сути, он также удаляет метаданные, оставленные установками MSI, но не требует, чтобы вы выясняли все места, где хранится информация.

Например. удаление информации inProgress:

msizap.exe p

или удалите информацию об откате:

msizap.exe s

Я обнаружил, что в Windows 10 (x64) вы можете попробовать удалить ключ не в HKLM, а в ветке реестра текущего пользователя HKEY_USERS \ S-X-X-XX -... \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \ InProgress