Я настраиваю совершенно новую систему Lenovo U410 с Windows 7 Home Premium для пользователя. Я получил систему прямо из магазина. В рамках настройки я установил Java с помощью онлайн-установщика. Это сработало правильно.
Позже, из-за допущенной мной ошибки, мне пришлось восстановить систему до заводских настроек. Заводские настройки ФОРМАТИРУЮТ C:\ и возвращают (предположительно) точную заводскую конфигурацию. Однако после этого я больше не мог успешно установить Java, используя тот же метод, который использовал раньше.
Теперь, всякий раз, когда я пытаюсь использовать онлайн-установщик Java, происходит следующее. Во-первых, всегда появляется окно «Добро пожаловать в Java», «Загрузка установщика Java...». Через некоторое время это окно исчезает, а затем происходит одно из трех:
В самый первый раз, когда я делаю это после сброса настроек к заводским, я получаю отчет об ошибке Windows, содержащий следующую информацию:
Имя приложения: JavaSetup7u5.exe
Версия приложения: 7.0.50.6
Метка времени приложения: 4feacd84
Имя модуля сбоя: JavaIC.dll
Версия модуля сбоя: 9.9.9.9
Метка времени модуля сбоя: 4f2343d6
Смещение исключения: 000052cb
Код исключения: c0000417
Данные исключения: 00000000
Версия ОС: 6.1.7600.2.0.0.768.3
Идентификатор локали: 1033
Дополнительная информация 1: 773c
Дополнительная информация 2: 773cd78cf06816f8246f359fa270f3bb
Дополнительная информация 3: f51a
Дополнительная информация 4: f51aaea7d22f36fa9e3a626b5a5cd1c32. Последующие запуски приводят к следующему сообщению об ошибке:«Ошибка: установщик Java(TM) — загруженный файл C:\Users\\AppData\Local\Temp\fx-runtime.exe поврежден».
или
Ничего не происходит.Я считаю, что это отвлекающий маневр. Повторный запуск установщика приводит к другой ошибке, потому что файлы были загружены, и установщик завис, прежде чем смог очиститься. Это не настоящая проблема, так как когда это происходит, установщик удаляет загруженные файлы, а затем, когда вы запускаете его в третий раз, он снова загружает все и делает сбой javaic.dll. Я подозреваю, что загрузчик добавляется к существующим файлам или что-то в этом роде, вызывая повреждение.
Я пробовал все вышеперечисленное как администратор и как обычный пользователь. Я пробовал сбросить систему к заводским настройкам несколько раз. Я пробовал загружать с помощью Chrome и Internet Explorer 9. Я пробовал удалять все антивирусное ПО и полностью отключать брандмауэр Windows. Единственное, что имеет значение, это запуск установщика в режиме совместимости с Windows XP, что позволяет завершить установку.
Я знаю, что эту ошибку можно обойти, используя автономный установщик, поэтому, пожалуйста, не публикуйте это в качестве ответа.Я ищу объяснение первопричины. Кроме того,если я использую автономный установщик, то обновление не работает.Обновление также не работает, если я устанавливаю в режиме XP. Обновление не работает, потому что оно работает, просто загружая новейшую онлайн-установку и запуская ее.
Также помните, что установщикис цифровой подписью.Подписи проверяются правильно, так что нет никакой возможности, что это вызвано поврежденными загрузками.
Вот некоторые из моих теорий:
Файлы установки Java на java.com на самом деле изменились между первой успешной установкой и моими последующими попытками. Кажется маловероятным, так как ни один из номеров версий не изменился. Однако я видел пару отчетов об этой ошибке, которые появились за последние 24 часа. На данный момент это выглядит как наиболее вероятное объяснение.:http://www.oracle.com/us/corporate/press/1735645- Oracle выпустила обновление 7 6 два дня назад.
Тщательная проверка установщиков показывает, что они на самом деле пытаются загрузить .6, а не .5, как утверждается на странице загрузки.На самом деле это не так. Только инструмент обновления пытается установить 7u6. Онлайн-установщик все еще пытается установить 7u5. Однако выпуск 7u6 два дня назад — слишком большое совпадение, чтобы его игнорировать. Обновление: онлайн-установщик 7u6 доступен на Oracle technetwork. Он вылетает точно так же.Программное обеспечение для сброса к заводским настройкам использует GMT-8, а у меня GMT-1. В результате после сброса к заводским настройкам любое программное обеспечение, которое захочет проверить, будет думать, что система была восстановлена через 7 часов из-за ужасной политики Windows по сохранению местного времени в системных часах. Это может сбивать с толку проверку сертификата или что-то подобное.Обновление: я обнаружил, что это приводит к сбою Центра обновления Windows. Обходной путь, заключающийся в переводе часов назад перед запуском сброса к заводским настройкам, не позволяет правильно установить Java.Образ сброса к заводским настройкам на самом деле не тот, что установлен в основном разделе при покупке системы. Непослушный Lenovo.
Установщик, похоже, падает во время установки или отображения чего-то, связанного с панелью инструментов Ask.com. Похоже, это то, что делает javaic.dll.
Microsoft Tuesday был 14-го числа. Какое-то обновление в нем могло быть причиной этого. Однако я каждый раз сбрасываю машину к заводским настройкам, так что если только исправления не будут встроены в образ восстановления или не будет какого-то механизма, с помощью которого они будут установлены в фоновом режиме, даже если обновления отключены, то я не вижу, как это может быть причиной.
Главный прорыв:
Браузер по умолчанию в системах Lenovo — Google Chrome. Я заметил, что «проверка спонсора» JavaIC.dll на самом деле проверяет ваш браузер по умолчанию, чтобы решить, какую рекламу спонсора отображать. Обычно это открывает панель инструментов Ask в IE9. Но эта панель инструментов не работает в Chrome, поэтому установщик пытается отобразить другую рекламу. Эта другая реклама и вызывает сбой. Изменение браузера по умолчанию на IE9 позволяет установщику работать правильно. Так что это похоже на настоящую ошибку в коде рекламы спонсора в установщике, вызванную сочетанием браузера по умолчанию Google Chrome и нахождения не в США. (Установщик также проверяет ваше местоположение с помощью службы геолокации IP и отображает разные объявления на основе этого.)
решение1
Теперь я нашел решение этой проблемы. После сброса настроек и перед установкой Java выполните следующие действия:
- Откройте Google Chrome и примите условия использования, затем закройте его.
- Откройте Internet Explorer 9. Он спросит, хотите ли вы использовать его как браузер по умолчанию. Нажмите «Да», а затем выйдите.
- Откройте Google Chrome. Он спросит, хотите ли вы использовать его как браузер по умолчанию. Скажите «да».
Теперь вы можете загрузить и установить Java с помощью онлайн-обновления в любом браузере, и все должно работать правильно.
Что касается причины, похоже, что заводской образ Lenovo использует нестандартный метод для установки Google Chrome в качестве браузера по умолчанию. JavaIC.dll, должно быть, считывает несуществующее значение реестра или что-то похожее, что приводит к сбою с переполнением буфера (скорее всего, буфер нулевой длины).
решение2
Вы не упомянули еще несколько радикальных мер:
- Отключение предотвращения выполнения данных
- Запуск в режиме совместимости с XP
Попробуйте погуглить 4f2343d6 из вашего отчета об ошибке, есть и другие люди с такой же проблемой. Было решено, что это вызвано DEP.
Чтобы отключить DEP, нажмите Мой компьютер->Свойства->Дополнительно->Производительность->Параметры->Параметры производительности->Предотвращение выполнения данных. Перезагрузите компьютер.