У меня не получается установить JDK 8 на 64-разрядную версию Windows 10 или выполнить обновление с любой более старой версии до последней версии.

После сбоя обычного обновления Java без сообщения об ошибке,

  • Я решил сделать чистую переустановку и удалил все старые версии с помощью Your Uninstaller, а также вручную удалил оставшиеся каталоги, а также переменную JAVA_HOME .

  • Затем я скачал установщик JDK. При запуске установщика, я не получаю никакого сообщения об ошибке, просто тихо происходит сбой.

  • Я пробовал безопасный режим, права администратора и / или без антивирусного программного обеспечения, но безрезультатно.

  • взглянул на журнал событий. Это на немецком языке, поэтому я не буду копировать / вставлять это сейчас, но в основном говорится, что jdk-8u65-windows-x64.exe ошибкой 0x40000015 которая является просто "исключением неизвестного программного обеспечения".
  • затем я посмотрел в% TEMP%. Там на каждом экземпляре jdk-8u65-windows-
    x64.exe
    , ведение журнала ведется в jusched.log . Я всегда получал сообщение об ошибке MsiEnumProducts(75) failed with error=[1610] .
  • затем я посмотрел на любые остатки от старых установок в моей Windows; Я запустил автофикс из моей старой версии Your Installer, которая проверяет это, а также сеанс CCleaner, но никаких существенных ошибок обнаружено не было.

  • Я также проверил, есть ли хорошая возможность вручную установить JDK 8 x64, но не нашел по-настоящему полезных ссылок. Затем я попытался разархивировать установщик с 7-Zip. Я распаковал дерево папок в C:\Program Files\Java\jdk1.8.0_66\ и снова установил JAVA_HOME , но когда я попытался указать IntelliJ IDEA на этот каталог как мой JDK, он продолжал говорить мне, что это «не является действительным Каталог JDK "(также ни один из подкаталогов), хотя файлы Java присутствуют в \bin . Итак, затем я переустановил JDK 6 (работал), затем обновил до 7 (работал); но все равно обновление до JDK 8 не удалось, как раньше.

    Затем я попытался установить JRE вместо JDK в качестве пробной версии, но JRE 8 дает сбой так же, как JDK 8, без каких-либо видимых ошибок. Журнал ошибок в jusched.log теперь отличается от того, какой был установлен JDK.
    Вот что сейчас говорится о попытке установки JDK 8 (я вырежу все настройки, которые, по-видимому, не вызывали ошибок):

[2015/10/22 18: 29: 09.178, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), MsiUtils.cpp: 308 (msi:: anonymous-namespace'::makeMessage)] ERROR: Exception with message 'Resources.cpp(66) at Resource::getPtr(): cannot find resource (name='#259', type='#6'). System error [1814](system error 1814 (Der angegebene Ressourcenname wurde nicht in der Image-Datei gefunden))' caught [2015/10/22 18:29:09.179, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), JavaEnvironment.cpp:89 ( anonymous-namespace ':: getMsiProperty)] ОШИБКА: исключение с сообщением' MsiUtils.cpp (268) в msi:: Database:: getProperty (): MsiViewFetch (C:\WINDOWS\Installer\1c487c.msi, ВЫБРАТЬ значение ОТ свойства WHERE Свойство = 'FullVersion') не удалось. Ошибка MSI [259] «перехвачена [2015/10/22 18: 29: 09.179, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), JavaEnvironment.cpp: 451 (anonymous-namespace'::getInstalledJava)] TRACE: InstalledJava(1.6.0_45|1.6.0_45|JDK|64bit|C:\Program Files\Java\jdk1.6.0_45|{64A3A4F4-B792-11D6-A78A-00B0D0160450}|-10) [2015/10/22 18:29:09.180, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), JavaEnvironment.cpp:489 (JavaEnvironment::detect)] TRACE: Installed Java detected: version=1.7.0; arch=64; productCode={64A3A4F4-B792-11D6-A78A-00B0D0170800}; type=1 [2015/10/22 18:29:09.180, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), JavaEnvironment.cpp:139 ( anonymous-namespace ':: detectHomeDir)] TRACE: Найти домашний каталог {64A3A4F4-B792-11D6-A78A-00B0D0170800} установки Java [2015/10/22 18: 29: 09.180, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), JavaEnvironment .cpp: 303 (anonymous-namespace'::detectFullVersion)] TRACE: Detect full version of {64A3A4F4-B792-11D6-A78A-00B0D0170800} Java installation [2015/10/22 18:29:09.181, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), JavaEnvironment.cpp:214 ( пространство анонимных имен ':: detectFullVersionFromMsi)] TRACE: detectFullVersionFromMsi ({64A3A4F4-B792-11D6-A78A-00B0D0170800] 2015 [2015] 22 18: 29: 09.187, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), MsiUtils.cpp: 308 (msi:: anonymous-namespace'::makeMessage)] ERROR: Exception with message 'Resources.cpp(66) at Resource::getPtr(): cannot find resource (name='#259', type='#6'). System error [1814](system error 1814 (Der angegebene Ressourcenname wurde nicht in der Image-Datei gefunden))' caught [2015/10/22 18:29:09.187, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), JavaEnvironment.cpp:89 ( anonymous-namespace ':: getMsiProperty)] ОШИБКА: исключение с сообщением' MsiUtils.cpp (268) в msi:: Database:: getProperty (): MsiViewFetch (C:\WINDOWS\Installer\1c4882.msi, ВЫБРАТЬ значение ОТ свойства WHERE Свойство = 'FullVersion') не удалось. Ошибка MSI [259] «перехвачена [2015/10/22 18: 29: 09.188, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), JavaEnvironment.cpp: 451 (« пространство анонимных имен »:: getInstalledJava)] TRACE: InstalledJava (1.7.0_80 | 1.7.0_80 | JDK | 64bit | C:\Program Files\Java\jdk1.7.0_80 | {64A3A4F4-B792-11D6-A78A-00B0D0170800} | -10)

и при попытке установки JRE 8:

[2015/10/22 18:31:56.888, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:472 (JavaEnvironment::detect)]
    TRACE: Entering JavaEnvironment::detect
[2015/10/22 18:31:56.929, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:489 (JavaEnvironment::detect)]
    TRACE: Installed Java detected: version=1.7.0_80; arch=64; productCode={26A24AE4-039D-4CA4-87B4-2F06417080FF}; type=0
[2015/10/22 18:31:56.931, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:139 (`anonymous-namespace'::detectHomeDir)]
    TRACE: Find home dir of {26A24AE4-039D-4CA4-87B4-2F06417080FF} Java installation
[2015/10/22 18:31:56.940, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:303 (`anonymous-namespace'::detectFullVersion)]
    TRACE: Detect full version of {26A24AE4-039D-4CA4-87B4-2F06417080FF} Java installation
[2015/10/22 18:31:56.940, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:214 (`anonymous-namespace'::detectFullVersionFromMsi)]
    TRACE: detectFullVersionFromMsi({26A24AE4-039D-4CA4-87B4-2F06417080FF})
[2015/10/22 18:31:56.948, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:327 (`anonymous-namespace'::detectJreMode)]
    TRACE: Detect mode of {26A24AE4-039D-4CA4-87B4-2F06417080FF} Java installation
[2015/10/22 18:31:56.949, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:451 (`anonymous-namespace'::getInstalledJava)]
    TRACE: InstalledJava(1.7.0_80-b15|1.7.0_80-b15|JRE|64bit|C:\Program Files\Java\jre7|{26A24AE4-039D-4CA4-87B4-2F06417080FF}|10)
[2015/10/22 18:31:56.950, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:489 (JavaEnvironment::detect)]
    TRACE: Installed Java detected: version=1.6.0_45; arch=64; productCode={26A24AE4-039D-4CA4-87B4-2F86416045FF}; type=0
[2015/10/22 18:31:56.951, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:139 (`anonymous-namespace'::detectHomeDir)]
    TRACE: Find home dir of {26A24AE4-039D-4CA4-87B4-2F86416045FF} Java installation
[2015/10/22 18:31:56.956, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:303 (`anonymous-namespace'::detectFullVersion)]
    TRACE: Detect full version of {26A24AE4-039D-4CA4-87B4-2F86416045FF} Java installation
[2015/10/22 18:31:56.956, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:214 (`anonymous-namespace'::detectFullVersionFromMsi)]
    TRACE: detectFullVersionFromMsi({26A24AE4-039D-4CA4-87B4-2F86416045FF})
[2015/10/22 18:31:56.963, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:327 (`anonymous-namespace'::detectJreMode)]
    TRACE: Detect mode of {26A24AE4-039D-4CA4-87B4-2F86416045FF} Java installation
[2015/10/22 18:31:56.964, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:451 (`anonymous-namespace'::getInstalledJava)]
    TRACE: InstalledJava(1.6.0_45-b06|1.6.0_45-b06|JRE|64bit|C:\Program Files\Java\jre6|{26A24AE4-039D-4CA4-87B4-2F86416045FF}|10)
[2015/10/22 18:31:56.964, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:489 (JavaEnvironment::detect)]
    TRACE: Installed Java detected: version=1.6.0; arch=64; productCode={64A3A4F4-B792-11D6-A78A-00B0D0160450}; type=1
[2015/10/22 18:31:56.965, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:489 (JavaEnvironment::detect)]
    TRACE: Installed Java detected: version=1.7.0; arch=64; productCode={64A3A4F4-B792-11D6-A78A-00B0D0170800}; type=1
[2015/10/22 18:31:56.968, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), JavaEnvironment.cpp:0 (JavaEnvironment::detect)]
    TRACE: Exiting JavaEnvironment::detect (entered at JavaEnvironment.cpp:472)
[2015/10/22 18:31:56.969, jre-8u65-windows-au.exe (PID: 9704, TID: 6008), jinstall.cpp:1392 (WinMain)]
    ERROR: Exception with message 'KnownProductCodeInstalledJavaTracker.cpp(205) at KnownProductCodeInstalledJavaTracker::next(): MsiEnumProducts(78) failed with error=[1610]' caught

Итак, в итоге, установка завершается неудачно, потому что MsiEnumProducts, по-видимому, перечисляет некоторую установку, предположительно некоторую старую установку Java, которая не найдена, или установщик не найден. Но как я могу узнать, чего не хватает? Или какая запись реестра избыточна? Я искал записи в реестре с упоминанием JDK или C:\Program Files\Java и нашел некоторые, которые казались избыточными, и удалил их, но это тоже ничего не изменило.

В Интернете и на SE я нашел много вопросов, которые указывали на одну и ту же проблему, но редко решали (вероятную) суть проблемы - сбой MsiEnumProducts. Конкретно эти двое на этом сайте.

Любые намеки на эту сложную ситуацию?

Если бы я не знал ничего лучше, я бы сказал, что намек на источник ошибки:

[2015/10/22 18:29:09.181, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), JavaEnvironment.cpp:214 (`anonymous-namespace'::detectFullVersionFromMsi)]
    TRACE: detectFullVersionFromMsi({64A3A4F4-B792-11D6-A78A-00B0D0170800})
[2015/10/22 18:29:09.187, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), MsiUtils.cpp:308 (msi::`anonymous-namespace'::makeMessage)]
    ERROR: Exception with message 'Resources.cpp(66) at Resource::getPtr(): cannot find resource (name='#259', type='#6'). System error [1814](system error 1814 (Der angegebene Ressourcenname wurde nicht in der Image-Datei gefunden))' caught

Итак, в основном, мой вопрос перед всеми остальными, как мне узнать, какой ресурс # 259 типа # 6 и где он зарегистрирован?

2 ответа2

2

Я столкнулся с той же проблемой и обнаружил, что мой список продуктов (HKEY_CURRENT_USER\Software\Microsoft\Installer\Products) не работает. Всегда проверяйте его, а также HKEY_CLASSES_ROOT\Installer\Products . Наличие неправильных идентификаторов (например, с подчеркиванием) может привести к тому, что установщик Micorosoft сообщит об ERROR_BAD_CONFIGURATION (1610).

1

Я не мог найти правильное решение проблемы в надлежащее время, и необходимость запуска Java 8 на устройстве стала слишком насущной, поэтому мне пришлось в конце концов полностью переустановить Windows 10, и после этого все заработало. До этого я копнул немного глубже

  • Я обнаружил, что в Windows PowerShell wmic product вообще не работал и всегда выходил с "общей ошибкой", которая была зарегистрирована в Eventlog как "общая ошибка" (я забыл точную ошибку #, но она не была специфичной).

  • Я также попытался с помощью этого руководства пересобрать подкаталог wbem в system32 , который в основном является хранилищем WMI для Windows, но это также не решило проблему.

Итак, в заключение я могу сказать, что этот тип сбоя во время установки JDK является признаком неисправной библиотеки установщика WMI (инструментария управления Windows), и поэтому метод MsiEnumProducts, который используется JDK, завершается с общей ошибкой. Ошибка может быть воспроизведена без установки JDK при проверке состояния библиотеки продуктов WMI путем ввода wmic product в Windows Powershell. Следовательно, ошибка, вероятно, не является специфичной для установки JDK, но использование этого перечисления может быть настолько редким, что ошибка, как правило, очень редко оказывает влияние на систему и, следовательно, о ней сообщается крайне редко. Возможно, по той же причине реального решения, на мой взгляд, до этой даты не существует, поэтому все, что я могу сказать, - это если вы столкнетесь с этой ошибкой в своей системе, сэкономите свое время и выполните чистую переустановку Windows, это будет стоить вам меньше времени, чем дальше оценивать это.

Что касается истоков этой проблемы, ИМХО это очень сложно сказать. Я считаю себя опытным пользователем, время от времени манипулируя реестром, запускаю очистители, когда я считаю, что они необходимы, и так далее, но это будет впервые за 20 лет работы Windows, когда я действительно сломал реестр, и Я даже не мог сказать, когда или с чем. Другим вариантом, на мой взгляд, является то, что я обновился до Windows 10 с Windows 8.1, не имея чистой переустановки, и я уже довольно давно использовал Windows 8.1. Я также столкнулся с этой ошибкой, когда Wi-Fi не работает, если VPN-клиент присутствует во время обновления Windows 10, и я не удивлюсь, если обновление также оставит другие побочные убытки также из-за глубоко скрытой несовместимости или несоответствия.

[tl; dr] Если вы столкнулись с вышеупомянутой ошибкой, выполните чистую переустановку Windows 10, если вам действительно нужно использовать JDK 8 или вы хотите избежать возможных дальнейших проблем с другими установщиками в будущем, и если вы не уверены, что это произойдет В ближайшее время Microsoft сделает чудесное исправление в отношении сломанной библиотеки установщика WMI.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .