コマンドラインから中断された.MSIインストールをロールバックする


9

多数のマシンにJavaインストーラーを展開し、その約半分でフリーズしました。現在、次のメッセージが原因で、後続のデプロイメントが失敗しています。

ユーザー「SYSTEM」は、以前に製品「Java 7 Update 10」のインストールを開始しました。そのユーザーは、その製品を使用する前に、そのインストールを再度実行する必要があります。現在のインストールが続行されます。

に続く:

エラー1704。Java7 Update 10のインストールは現在中断されています。続行するには、そのインストールによって行われた変更を取り消す必要があります。これらの変更を元に戻しますか?

対話的にインストールを実行する場合、これで問題ありません。[OK]をクリックしてから[はい]をクリックするだけで、ロールオーバーします。ただし、コマンドラインインストールを実行すると、停止します。コマンドラインから中断されたインストールをキャンセルするにはどうすればよいですか?


「インタラクティブに実行する」と言った場合、スクリプトを実行するのですか、それとも通常のJavaインストーラーを実行するのですか?
トニー・ロス2013

そうですね、Javaをインストールするためにバックグラウンドで実行されるスクリプトをデプロイしました。多くのマシンでロックされ、インストールが中断されました。サイレントインストールを実行すると、エラー1704が発生して終了します。インストールを対話形式で実行すると(つまり、ログインし、.MSIをダブルクリックしてプロンプトを実行します)、中断されたインストールをキャンセルできます。コマンドラインから中断されたインストールをキャンセルするにはどうすればよいですか?
Kasius 2013

わかりました。「Javaをインストールするためにバックグラウンドで実行されるスクリプトをデプロイしました。」これを実行しているときに、ユーザー「SYSTEM」と同じ人物としてバックグラウンドで実行していますか?
トニーロス2013

多分サイレントアンインストールしてみてくださいdocs.oracle.com/javase/1.5.0/docs/guide/deployment/...
トニー・ロス

SCCMはSYSTEMとしてサイレントインストールを実行します。他の人と同じように対話式でインストールを実行すると、中断されたインストールをキャンセルできます。
Kasius 2013

回答:


8

私の知る限り、MSIEXECを使用してコマンドラインから中断されたMSIインストールをキャンセルすることはできません(そのためのパラメーターはありません)。

とにかく、次のコマンドを実行してみてください。

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

このキーは、インストールが進行中のときに作成されます。削除すると、セットアップを再実行できます。


/ fを追加して、質問なしで削除を強制します(スクリプトの場合)
higuita

3

Tomasの回答で問題が解決しない場合は、MsiZap.exeユーティリティを試すことができます。

基本的にMSIインストールによって残されたメタデータも削除しますが、情報が格納されているすべての場所を見つける必要はありません。

たとえば、inProgress情報を削除します。

msizap.exe p

またはロールバック情報を削除します。

msizap.exe s

msizap.exeには、それ以降のバージョンのWindowsに関する問題があります。無差別に使用しないでください。これは代替ツールです(私には試されませんでした)。
SteinÅsmul2014

0

Windows 10(x64)では、HKLMではなく、現在のユーザーレジストリブランチHKEY_USERS \ SXX-XX -... \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \ InProgressでキーを削除しようとできることがわかりました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.