Chrome がデフォルトのブラウザの場合、Windows 7 で Java 7 Update 6 のインストールが失敗する

Chrome がデフォルトのブラウザの場合、Windows 7 で Java 7 Update 6 のインストールが失敗する

ユーザー向けに、Windows 7 Home Premium を搭載した新しい Lenovo U410 システムを構成しています。システムはショップから直接受け取りました。構成の一環として、オンライン インストーラーを使用して Java をインストールしました。これは正常に動作しました。

その後、私が犯したミスにより、システムを工場出荷時のデフォルトに復元する必要がありました。工場出荷時のデフォルトは C:\ をフォーマットし、(おそらく) 工場出荷時の構成を正確に戻します。しかし、これを実行した後、以前と同じ方法で Java を正常にインストールできなくなりました。

現在、オンライン Java インストーラーを使用しようとすると、次のようになります。まず、「Java へようこそ」、「Java インストーラーをダウンロードしています...」というウィンドウが常に表示されます。しばらくするとこのウィンドウが消え、次の 3 つのうちのいずれかが起こります。

  1. 工場出荷時設定にリセットした後、初めてこれを実行すると、次の情報を含む Windows エラー レポートが表示されます。

    アプリケーション名: JavaSetup7u5.exe
    アプリケーション バージョン: 7.0.50.6
    アプリケーション タイムスタンプ: 4feacd84
    障害モジュール名: JavaIC.dll
    障害モジュール バージョン: 9.9.9.9
    障害モジュール タイムスタンプ: 4f2343d6
    例外オフセット: 000052cb
    例外コード: c0000417
    例外データ: 00000000
    OS バージョン: 6.1.7600.2.0.0.768.3
    ロケール ID: 1033
    追加情報 1: 773c
    追加情報 2: 773cd78cf06816f8246f359fa270f3bb
    追加情報 3: f51a
    追加情報 4: f51aaea7d22f36fa9e3a626b5a5cd1c3

    2. 以降の実行では、次のいずれかのエラー メッセージが生成されます。

    「エラー: Java(TM) インストーラー - ダウンロードしたファイル C:\Users\\AppData\Local\Temp\fx-runtime.exe が破損しています。」

    または

  2. 何も起こりません。これは誤解だと思います。インストーラーを再度実行すると、ファイルがダウンロードされ、クリーンアップする前にインストーラーがクラッシュしたため、別のエラーが発生します。これは実際の問題ではありません。これが発生すると、インストーラーはダウンロードしたファイルを削除し、3 回目に実行するとすべてを再度ダウンロードして javaic.dll がクラッシュします。ダウンローダーが既存のファイルなどに追加して破損を引き起こしているのではないかと思います。

上記のすべてを管理者および一般ユーザーとして試しました。システムを工場出荷時のデフォルトにリセットすることも何度か試みました。Chrome と Internet Explorer 9 を使用してダウンロードしてみました。すべてのウイルス対策ソフトウェアをアンインストールし、Windows ファイアウォールを完全に無効にしてみました。違いがあるのは、インストーラーを Windows XP 互換モードで実行することだけです。これにより、インストールが完了できます。

オフライン インストーラーを使用するとこのエラーを回避できることはわかっているので、それを回答として投稿しないでください。私は根本的な原因の説明を求めています。さらに、オフラインインストーラーを使用すると、アップデータは機能しません。XP モードでインストールした場合も、アップデータは機能しません。アップデータは、最新のオンライン セットアップをダウンロードして実行するだけで機能するため、失敗します。

また、インストーラーはデジタル署名されています。署名は正しく検証されているので、ダウンロードの破損が原因である可能性はまったくありません。

私が持っているいくつかの理論:

  • java.com の Java セットアップ ファイルは、最初のインストール成功時とその後の試行の間に実際に変更されました。バージョン番号は変更されていないため、可能性は低いようです。ただし、過去 24 時間以内にこのエラーが発生したという報告をいくつか見ました。 今のところこれが最も可能性の高い説明のようだ:http://www.oracle.com/us/corporate/press/1735645- Oracle は 2 日前に 7 アップデート 6 をリリースしました。インストーラーを注意深く検査すると、ダウンロード ページに記載されている .5 ではなく、実際には .6 をダウンロードしようとしていることがわかります。実際には正しくありません。アップデート ツールのみが 7u6 をインストールしようとします。オンライン インストーラーは依然として 7u5 を試行します。ただし、7u6 が 2 日前にリリースされたことは、無視できない偶然です。更新: 7u6 オンライン インストーラーは、Oracle technetwork から入手できます。まったく同じようにクラッシュします。

  • 工場出荷時設定にリセットするソフトウェアは GMT-8 を使用しますが、私は GMT-1 を使用しています。その結果、工場出荷時設定にリセットした後、Windows のシステム クロックにローカル時間を保存するというひどいポリシーにより、チェックするソフトウェアはシステムが 7 時間後に復元されたと認識します。これは、証明書のチェックなどを混乱させる可能性があります。更新: これによって Windows Update が失敗することがわかりました。工場出荷時設定にリセットする前に時計を戻すという回避策では、Java を正しくインストールできません。

  • 工場出荷時設定へのリセット イメージは、システムを購入したときにメイン パーティションにインストールされているものとは実際には同じではありません。Lenovo は悪いやつです。

  • インストーラーは、Ask.com ツールバーに関連するものをインストールまたは表示しているときにクラッシュするようです。これは javaic.dll が行う動作のようです。

  • Microsoft の火曜日は 14 日でした。その中の何らかの更新が原因となっている可能性があります。ただし、私は毎回マシンを工場出荷時の状態にリセットしているので、パッチがリカバリ イメージにスリップストリームされるか、更新が無効になっている場合でもパッチがサイレントにインストールされる何らかのメカニズムがない限り、これが原因であるとは考えられません。

大きな進歩:

Lenovo システムのデフォルト ブラウザは Google Chrome です。JavaIC.dll の「スポンサー チェック」は、実際にデフォルト ブラウザをチェックして、表示するスポンサー広告を決定します。通常、これにより IE9 の Ask ツールバーが表示されます。しかし、そのツールバーは Chrome では機能しないため、インストーラは別の広告を表示しようとします。この別の広告がクラッシュの原因です。デフォルト ブラウザを IE9 に変更すると、インストーラは正常に実行できます。したがって、これはインストーラのスポンサー広告コードの本物のバグのように見えます。これは、Google Chrome デフォルト ブラウザと米国以外が原因のようです。(インストーラは、IP ジオロケーション サービスを使用してユーザーの場所もチェックし、それに基づいて異なる広告を表示します。)

答え1

この問題の回避策を見つけました。工場出荷時の設定にリセットした後、Java をインストールする前に、次の手順を実行します。

  1. Google Chrome を開き、利用規約に同意してから終了します。
  2. Internet Explorer 9 を開きます。デフォルトのブラウザとして使用するかどうかを尋ねられます。「はい」をクリックして終了します。
  3. Google Chrome を開きます。デフォルトのブラウザとして使用するかどうかを尋ねられます。「はい」と答えます。

どちらのブラウザでもオンライン アップデータを使用して Java をダウンロードしてインストールできるようになりました。正常に動作するはずです。

原因としては、Lenovo の工場出荷時のイメージが非標準の方法を使用して Google Chrome を既定のブラウザーとして設定しているようです。JavaIC.dll が存在しないレジストリ値または類似の値を読み取っているため、バッファー オーバーフロー (長さがゼロのバッファーである可能性が高い) が発生してクラッシュすることになります。

答え2

あなたは、より抜本的な対策については言及しませんでした。

  • データ実行防止を無効にする
  • XP互換モードで実行

エラー レポートの 4f2343d6 を Google で検索してみてください。同じ問題を抱えている人が他にもいます。これは DEP が原因であると理解されました。

DEP を無効にするには、「マイ コンピューター」->「プロパティ」->「詳細設定」->「パフォーマンス」->「設定」->「パフォーマンス オプション」->「データ実行防止」をクリックします。再起動します。

関連情報