Java 6 32 ビットを削除して Java 7 64 ビットをインストールしようとしていますが、最初にアンインストーラーが開いて正常に実行され、再起動後に完全な削除を計画するように求められた後、アンインストーラーが戻ってこず、再度実行しても機能しません。
revouninstaller を使用して古い Java を削除しようとしましたが、成功したようですが、Java 7 のインストーラーはまだ実行されません。
オフライン インストーラーを実行すると、管理者権限が要求され、MSI が読み込まれて消えます。イベント ビューアーを調べたところ、MsiInstaller から次のエントリが見つかりました。
製品: Java(TM) 7 Update 2 (64 ビット) -- インストール操作に失敗しました。
そして
Windows インストーラーによって製品がインストールされました。製品名: Java(TM) 7 Update 2 (64 ビット)。製品バージョン: 7.0.20。製品言語: 1033。製造元: Oracle。インストールの成功またはエラー ステータス: 1602。
私が知っているのは、エラー 1602 はユーザーがインストールをキャンセルしたことを意味するということだけです。つまり、UAC が正しく機能していない (ただし、正常に機能しているようです) か、MSI インストーラーをブロックするレジストリ エントリがある (ただし、手動で確認しました) と考えられます。
答え1
JRE 7 を削除して再インストールしようとしたときにも同じ問題が発生しました。
HKEY_CURRENT_USER\Software\JavaSoft\FIUCancel
再インストールを可能にするためにキーを削除しました。
答え2
実は、考え直して、再インストールする代わりに、レジストリをさらに調べ続けました。単に「java」を検索し、Java ランタイムに関連すると思われるすべてのエントリ (javascript、msjava、javavm などのエントリは除く) を削除したところ、うまくいきました。
Java ランタイム 7 をインストールしましたが、問題なく動作します。
したがって、他の誰かがこれに遭遇した場合は、レジストリを手動で掘り起こしてみる価値があるかもしれません。
答え3
その後のアップデートでも同じ問題が発生しました。アンインストールが終了し、「製品: Java(TM) 6 Update 33 -- 削除に失敗しました。」と「削除の成功またはエラー ステータス: 1602。」がイベント ログに表示されました。
私はMicrosoft Fixitユーティリティを実行しましたhttp://support.microsoft.com/mats/Program_Install_and_Uninstall(Moab さん、ありがとう)。これにより、アンインストールに Java 6 を選択できるようになり、アンインストールが正常に完了しました。
また、Fixit ユーティリティを使用して、同じ問題があった Java 7 Update 6 を削除しました。
答え4
これは古いスレッドですが、同じ問題の解決策を探しているときに偶然見つけました... 11年後...
問題は、インストーラー ソフトウェアのバグ #35961435 です。私と同じように、おそらくあなたも、複数のバージョンを整理するために、よく知られた形式 c:\Program Files\java\jre1.8.0_401 (私の場合) を使用しているでしょう。
信じられないかもしれませんが、解決策は単に別のパスを使用することです... たとえば、次のようになります。
c:\Program Files\java\jre180_401 (64 ビット)
c:\Program Files (x86)\java\jre180_401 (32 ビット)
上記でコピーしたフォーマットを使用して、問題なくソフトウェアをインストールできました。
Oracle サポート ノートにも同じことが記載されています。
JDK Windows インストーラーの JRE 部分をカスタムの場所にインストール中に 1602 エラーが発生する (ドキュメント ID 2994526.1)
お役に立てれば幸いです。よろしくお願いいたします