web-dev-qa-db-ja.com

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

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

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

に続く:

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

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

9
Kasius

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

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

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

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

8

Tomasの回答で問題が解決しない場合は、 MsiZap.exe ユーティリティを試してください。

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

例えば。 inProgress情報の削除:

msizap.exe p

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

msizap.exe s
3
weberik

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

0
Pro