題 Java更新“無法下載所需的安裝文件。”


在我的Windows 7計算機上,Java更新始終失敗並顯示此錯誤消息。

(編輯:在Windows 8上發生同樣的事情)。

Failed to download required installation files.

這似乎是一個普遍的問題,是否有人能夠深入了解出現了什麼問題,除了禁用更新檢查(從安全角度來看似乎是一個壞主意)或等待嘮叨消息之外,還有其他方法可以解決這個問題。然後手動安裝新版本(從可用性的角度來看是煩人的和愚蠢的)。

請注意,我確實手動安裝了以前的版本(我認為從6.23更新到6.30?),認為這可能會解決問題,但沒有運氣。


36
2018-04-22 02:05


起源


您是否嘗試過完全卸載/重新安裝Java? - rishimaharaj
@rishimaharaj我卸載並重新安裝了最後一次發生這種情況,儘管註冊表中可能還有一些遺留問題。 - therefromhere
每次我嘗試從我的用戶帳戶安裝Java更新時都會出現此錯誤(即使使用提升的權限)。我必須實際登錄我的管理員帳戶,問題就消失了。 - psubsee2003


答案:


閱讀以下內容後,我終於開始工作了:

事實證明,當java updater嘗試下載新的更新時,它使用名為“後台智能傳輸服務”(BITS)的Windows服務。如果登錄用戶只是標準用戶,則java更新程序無法正確使用BITS服務下載新更新。但是,如果BITS服務不可用於java更新程序(服務被禁用或權限被拒絕給調用進程),則Java更新程序使用備用機制來下載和應用成功運行的更新,即使原始用戶只是具有有限權限的標準用戶(沒有管理權限)。

為了提升java更新程序以便標準用戶可以安裝java更新,我們必須首先設置java更新程序的應用程序兼容模式,以便在Windows 2000的兼容模式下運行,而Windows 2000沒有“後台智能傳輸服務” 。這將強制Java更新程序使用備用機制來下載Java更新。

http://privilegeforum.scriptlogic.com/Forum/aff/3/aft/193/afv/topic.aspx

所以你要做的是:

  1. 找到jucheck.exe(通常在 %PROGRAMFILES%\Common Files\Java\Java Update 要么 %PROGRAMFILES(x86)%\Common Files\Java\Java Update
  2. 打開它的屬性並將其設置為在Windows 2000兼容模式下運行(適用於所有用戶或至少為您提升的用戶!)
  3. 通過Java控制面板再次檢查更新

安裝程序會嘮叨您的操作系統不受支持,但允許您安裝更新。

在尋找解決方案約3年後,我得到了這個工作。仍在等待Oracle修復它。他們根本無法理解一直以超級用戶身份運行是不好的做法而已成為過去。


31
2018-05-09 17:00



很好,我會檢查出來的! - therefromhere
我會接受這個,雖然我已經升級到Windows 8,因為我問了這個問題,因為兼容模式功能已經改變,所以這不起作用。得到另一個適用於Windows 8的答案會很好。 - therefromhere
非常感謝你 - 這是一個令人討厭的問題。我唯一的希望是java正在下載的更新解決了這個問題....不能說我會屏住呼吸。 - Andy
這對我有用,但在設置兼容模式時我必須選擇“為所有用戶更改設置”。 - Dave Cousineau
今天,差不多兩年後,我仍然遇到同樣的問題。令人難以置信的是Oracle仍然沒有修復它。 - Per Quested Aronsson


另一種非永久性但快速的解決方案就是運行 jucheck.exe 在管理員模式下:

  1. 查找Java更新程序可執行文件 jucheck.exe 使用以下之一:
    • 類型 jucheck 在開始菜單的搜索字段中。
    • 順便拜訪 %PROGRAM_FILES%\Common Files\Java\Java Update
  2. 運行Java更新程序 jucheck.exe 在 管理員模式 通過上下文菜單:
    1. 在`jucheck.exe上按下鼠標右鍵
    2. 選擇“以管理員身份運行”。

3
2018-04-16 10:52



僅供參考:這在Windows 8.1上不起作用。 - jvriesem
jvriesem,為我工作。 - Yura Shinkarev
適用於Windows 7. @YShinkarev,如果答案對你有幫助,你應該贊成而不是寫這樣的評論。然後每個人都可以看到該解決方案受到社區的讚賞,並且作者獲得了聲譽。 - Line
這是一個非常簡單的解決方案。我可以確認它適用於Windows 7。 - Georg W.


您應該嘗試使用Ninite安裝java。你可以去Ninite.com並在運行時選擇java。然後當你收到關於java update的通知再次運行ninite時它將安裝最新的java而不使用java更新機制。它真的很簡單,沒有問題可以回答,你可以使用相同的ninite程序來更新該站點的其他應用程序。


-1
2017-09-19 15:37



我之前沒有聽說過它,並且對允許隨機應用程序安裝其他軟件有點懷疑,但Ninite確實看似合法(值得一提的是Tom's硬件,Lifehacker,Techcrunch推薦它) ninite.com/press )。它的工作非常順利。 - therefromhere
我很高興你喜歡它。我一直使用該程序在我的機器上進行更新並重建它。 - d4v3y0rk
令人討厭的是,這​​實際上並沒有阻止問題再次出現 - 我似乎必須為每個新的Java版本手動重新運行ninite安裝。 - therefromhere