無法在 Windows 7 64 位元機器中安裝 JDK 8

無法在 Windows 7 64 位元機器中安裝 JDK 8

我現在已經嘗試多次安裝JDK 8在我的 windows 7 64 位元機器上但失敗了。

我已經下載了8u111安裝檔案名稱“jdk-8u111-windows-x64.exe”8u112安裝檔案名稱“jdk-8u112-windows-x64.exe”從 Oracle 下載頁面並嘗試安裝兩個版本的 jdk。

我以管理員身份運行它,並且還從系統中卸載了以前的 java 版本。

安裝程式正在右側打開,點擊「下一步」後,它順利進行第一部分,進度條完全填滿,但當它繼續到第二部分時,它就停止了,進度條甚至沒有啟動。

我已經嘗試過這兩個版本,但得到了相同的結果。

我該怎麼辦 ?請幫我 !

編輯:按照 Ramhound 的指示,我檢查了日誌文件剛剛(在臨時資料夾中)並發現以下兩個錯誤:

[2017/01/16 00:13:54.880, jre.exe (PID: 10076, TID: 11984), BrowserControl.cpp:351 (ui::BrowserControl::execJScriptUnsafe)]
ERROR: script->getIDsOfNames failed with COM error 0x80020006 (Unknown name)

[2017/01/16 00:13:54.910, jre.exe (PID: 10076, TID: 11984), BrowserControl.cpp:817 (ui::BrowserControl::Invoke)]
ERROR: Exception with message 'JScript execution error' caught

我不明白這些是什麼意思,請幫忙!

答案1

我的 Windows 7 機器上也有同樣的問題,已經很久了。

據我了解,問題在於,當 JRE 安裝程式(JRE 安裝是 JDK 安裝的一部分,除非您取消選擇它)嘗試呈現一些 HTML,顯然包含一些 JavaScript(例如“30 億設備使用 java”)橫幅),請使用一些「BrowserControl」函式庫,我猜它會透過Microsoft 的MVC、一些VC C++ 可再發行元件或.NET 框架類別使用一些Internet Explorer 元件。這裡失敗了。在全新安裝時,這種情況可能不會發生,因為涉及一些有缺陷/不相容的組件。看起來 java 安裝程式嘗試在 BrowserControl 上執行 JScript,這會導致未處理的例外狀況。

不管怎樣,這個問題可以透過從命令列執行 java 安裝程式並給出 /s 作為參數來解決,以實現靜默(即非互動式安裝)。觸發錯誤的 UI 將不會顯示,並且您最終將得到 JRE 的預設安裝。

順便說一句,JDK 9 在我的機器上確實呈現出一個損壞的 UI,存在預期的複選框和按鈕,但沒有標籤且不可單擊。因此只能透過右上角的「X」按鈕關閉該對話框,這將導致JDK安裝繼續並最終成功完成。

所以,我建議你

  1. 單獨下載離線JRE安裝程序
  2. 正常安裝JDK,但取消選擇JRE選項
  3. 使用命令列安裝 JRE<path-to-the-jre-installer-exe> /s

或者,實際上,我認為 JDK 安裝程式/s也有一個選項。因此,除非您需要更改選項,否則就可以了。

如果你需要設定一些選項,您可以使用命令列上的附加選項來完成此操作,請參閱這個 StackOverflow 問題, 或者本文檔描述了 JRE 6 安裝程式。AFAIK 這些選項並沒有改變。

希望這可以幫助!

PS:這個問題是已知的,但顯然很大程度被 Oracle 忽略了:

  1. https://community.oracle.com/thread/3912749
  2. OpenJDK 錯誤報告。他們認為問題已經解決了,但事實並非如此。我今天在我的機器上安裝 JDK 和/或 JRE 9.0.1 時遇到了相同的問題,每次都可以重現問題。

相關內容