Установка JDK в Windows 10 - ошибка MsiEnumProducts 1610 из-за неработающей библиотеки WBEM / библиотеки WMI
Мне не удалось установить JDK 8 на 64-разрядную версию Windows 10 или выполнить обновление с любой более старой версии до последней версии.
После сбоя обычного обновления Java без сообщений об ошибках,
Я решил сделать чистую переустановку и удалил все старые версии с помощью Your Uninstaller, а также вручную удалил оставшиеся каталоги, а также
JAVA_HOME
переменная.Затем я скачал установщик JDK. При запуске установщика, я не получаю никакого сообщения об ошибке, просто тихо происходит сбой.
Я пробовал безопасный режим, права администратора и / или без антивирусного программного обеспечения, но безрезультатно.
- взглянул на журнал событий. Это на немецком языке, поэтому я не буду копировать / вставлять это сейчас, но в основном это говорит о том, что
jdk-8u65-windows-x64.exe
не удалось с ошибкой0x40000015
это просто "неизвестное исключение программного обеспечения". - затем я посмотрел в%TEMP%. Там, в каждом случае
jdk-8u65-windows-
ведется журнал в
x64.exejusched.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 (
anonymous-namespace ':: detectFullVersionFromMsi)] TRACE: detectFullVersionFromMsi ({64A3A4F4-B792-11D6-A78A-00B0D0170800}) [2015/10/22 18: 29: 09.187, jdk-8u65-windows-x64.exe (PID: 60: 60, 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 ответа
Я не мог найти правильное решение проблемы в надлежащее время, и необходимость запуска 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.
Я столкнулся с той же проблемой и обнаружил, что мой список продуктов (HKEY_CURRENT_USER\Software\Microsoft\Installer\Products
) был сломан. Всегда проверяйте это так же как HKEY_CLASSES_ROOT\Installer\Products
, Наличие некоторых неверных идентификаторов (например, с подчеркиванием) может привести к сообщению установщика Micorosoft ERROR_BAD_CONFIGURATION
(1610).