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


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

Пользователь «SYSTEM» ранее инициировал установку для продукта «Обновление 7 Java 7». Этот пользователь должен будет запустить эту установку еще раз, прежде чем они смогут использовать этот продукт. Текущая установка будет продолжена.

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

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

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


8
2018-04-04 13:27


Источник


поэтому, когда вы говорите «бегать в интерактивном режиме», вы имеете в виду запустить сценарий или просто запустить обычный установщик java? - tony roth
Ну, я развернул скрипт, который запускался в фоновом режиме для установки Java. Он заперт на многих машинах и оставил приостановленную установку. Теперь любая тихая установка запускает exit с ошибкой 1704. Если я запускаю установку в интерактивном режиме (это означает, что я вхожу в систему, дважды щелкните файл .MSI и запустив подсказки), он позволяет мне отменить приостановленную установку. Как я могу отменить приостановленную установку из командной строки? - Kasius
ok this statement «Я развернул скрипт, который запускался в фоновом режиме для установки Java». поэтому, когда вы это делаете, вы запускаете его на заднем плане как тот же человек, что и в пользователе «SYSTEM»? - tony roth
возможно, попробуйте сделать тихую деинсталляцию docs.oracle.com/javase/1.5.0/docs/guide/deployment/... - tony roth
SCCM запускает установку тихо как SYSTEM. Если я запускаю установку в интерактивном режиме, как кто-либо, это позволяет мне отменить приостановленную установку. - Kasius


Ответы:


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

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

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

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


6
2017-07-03 20:59



добавьте a / f, чтобы принудительно удалить без вопросов (то есть: для скриптов) - higuita


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

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

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

msizap.exe p

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

msizap.exe s

3
2017-07-04 12:57



MsiZap.exe имеет проблемы с более поздними версиями Windows. Его нельзя использовать без разбора. Вот альтернативный инструмент (непроверенный мной). - Stein Åsmul


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


0
2017-10-13 13:23