Обновление Java «Не удалось загрузить необходимые установочные файлы».

36

На моем компьютере с Windows 7 обновление Java постоянно завершается с этим сообщением об ошибке.

(редактировать: то же самое происходит в Windows 8).

Не удалось загрузить необходимые установочные файлы.

Кажется, это общая проблема, кто-нибудь понимает, что происходит не так, и есть ли какое-то решение для этого, кроме отключения проверки обновлений (кажется плохой идеей с точки зрения безопасности) или ожидания сообщения о недовольстве и затем установка новой версии вручную (раздражающая и глупая с точки зрения удобства использования).

Обратите внимание, что я установил предыдущую версию вручную (с 6.23 до 6.30, я думаю?), Полагая, что это может решить проблему, но не повезло.

therefromhere
источник
Вы пытались полностью удалить / переустановить Java?
Ришимахарадж
@rishimaharaj Я удалил и переустановил в прошлый раз, когда это произошло, хотя, возможно, в реестре осталась какая-то путаница.
оттуда
1
Я получаю эту ошибку каждый раз, когда пытаюсь установить обновления Java из своей учетной записи пользователя (даже с повышенными разрешениями). Я должен войти в мою учетную запись администратора, и проблема исчезнет.
psubsee2003

Ответы:

31

Я, наконец, получил это после прочтения следующего:

Оказывается, что когда программа обновления Java пытается загрузить новые обновления, она использует службу Windows, которая называется «Фоновая интеллектуальная служба передачи» (BITS). Если вошедший в систему пользователь является только обычным пользователем, то для обновления Java не удается правильно использовать службу BITS для загрузки нового обновления. Однако, если служба BITS недоступна для использования программой обновления Java (либо служба отключена, либо в вызывающем процессе запрещены разрешения), программа обновления Java использует альтернативный механизм загрузки и применения обновлений, который работает успешно, даже если оригинальный пользователь был просто обычным пользователем с ограниченными правами (без административных прав).

Чтобы повысить уровень обновления Java, чтобы обычные пользователи могли устанавливать обновления Java, мы должны сначала установить режим совместимости приложений для средства обновления Java, чтобы он работал в режиме совместимости для 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 исправит это. Они просто не понимают, что постоянно работать в роли суперпользователя - это плохая практика и дело прошлого.

predi
источник
Хорошо, я проверю это!
оттуда
4
Я приму это, хотя я обновил до Windows 8, так как я задал вопрос, и это не работает, так как функциональность режима совместимости изменилась. Было бы хорошо получить другой ответ, который работает для Windows 8.
отсюда
1
Большое вам спасибо - это была такая досадная проблема. Моя единственная надежда - обновление, которое скачивает Java, решает эту проблему ... не могу сказать, что я задержу дыхание.
Энди
3
Это сработало для меня, но мне пришлось выбрать «Изменить настройки для всех пользователей» при настройке режима совместимости.
Дэйв Кузино
4
Сегодня, почти два года спустя, у меня все та же проблема. Невероятно, что Oracle до сих пор не исправил это.
Пер Квестед Аронссон
3

Другое непостоянное, но быстрое решение просто работает jucheck.exeв режиме администратора:

  1. Найдите исполняемый файл средства обновления Java jucheck.exe, используя одно из следующих действий:
    • введите jucheckв поле поиска меню «Пуск».
    • Заглянуть %PROGRAM_FILES%\Common Files\Java\Java Update
  2. Запустите программу обновления Java jucheck.exeв режиме администратора через контекстное меню:
    1. Нажмите правую кнопку мыши на `jucheck.exe
    2. Выберите «Запуск от имени администратора».
sir_brickalot
источник
1
К вашему сведению: это не работает в Windows 8.1.
jvriesem
jvriesem, работа для меня.
Юра Шинкарев
У меня работает на Windows 7. @YShinkarev, если вам помог ответ, вы должны скорее проголосовать, чем написать такой комментарий. Тогда все увидят, что это решение ценится сообществом, а автор получает репутацию.
Линия
Это очень простое решение. Я могу подтвердить, что он работает на Windows 7.
Георг У.
-1

Вы должны попробовать установить Java с Ninite. Вы можете просто зайти на Ninite.com и выбрать Java под runtime. затем, когда вы получите уведомление об обновлении Java, снова запустите ninite, и он установит последнюю версию Java без использования механизма обновления Java. это действительно просто и легко, без вопросов, и вы можете использовать ту же программу Ninite для обновления других приложений с этого сайта.

d4v3y0rk
источник
1
Я не слышал об этом раньше и немного скептически относился к тому, чтобы разрешить случайному приложению устанавливать другое программное обеспечение, но Ninite кажется вполне законным (стоит упомянуть, что его рекомендуют Tom's Hardware, Lifehacker, Techcrunch ninite.com/press ). И это работает очень гладко.
оттуда
Я рад, что тебе понравилось. Я использую эту программу все время, чтобы обновлять свою машину и перестраивать ее.
d4v3y0rk
3
Досадно, что на самом деле это не останавливает повторное возникновение проблемы - мне, кажется, приходится вручную перезапускать установку ninite для каждого нового выпуска Java.
therefromhere