Eu falho em instalar o JDK 8 em uma instalação x64 do Windows 10 ou atualizar de qualquer versão anterior para a versão atualizada.
Após a atualização usual do Java falhar sem nenhuma mensagem de erro,
-
Decidi fazer uma reinstalação limpa e excluí todas as versões antigas com o Seu Desinstalador e também removi manualmente os diretórios restantes e também a variável JAVA_HOME
.
-
Eu então baixei o instalador do JDK. Ao executar o instalador, não recebo nenhuma mensagem de erro, ele simplesmente falha silenciosamente.
-
Eu tentei o modo de segurança, direitos de administrador e / ou sem software antivírus, sem sucesso.
- deu uma olhada no log de eventos. É em alemão, e é por isso que não copio / colo isso agora, mas basicamente diz que
jdk-8u65-windows-x64.exe
falhou com o erro 0x40000015
, que é apenas a "exceção de software desconhecida".
- então eu olhei em% TEMP%. Lá, em cada instância de
jdk-8u65-windows-
x64.exe
, um log é mantido em jusched.log
. Eu sempre recebi o erro MsiEnumProducts(75) failed with error=[1610]
.
-
então eu olhei para qualquer sobra de instalações antigas no meu Windows;
Eu corri um AutoFix da minha versão antiga do seu instalador que verifica
que, e também uma sessão CCleaner, mas sem erros significativos foram
encontrado.
-
Também verifiquei se há alguma boa possibilidade de manualmente
instalando o JDK 8 x64, mas não encontrou nenhum link realmente útil. Então
Eu tentei descompactar o instalador com 7-zip. Eu descompactei a árvore de pastas
em C:\Program Files\Java\jdk1.8.0_66\
e defina JAVA_HOME
novamente
mas quando tentei apontar o IntelliJ IDEA para esse diretório como meu JDK,
ficava me dizendo que "não é um diretório JDK válido" (também
nenhum dos subdiretórios), embora os arquivos Java estejam presentes
no \bin
. Então, em seguida fui reinstalar o JDK 6 (funcionou), então
atualização para 7 (funcionou); mas ainda assim, a atualização para o JDK 8 falhou como antes.
Então tentei instalar o JRE em vez do JDK como um teste, mas o JRE 8 falha da mesma maneira que o JDK 8, sem nenhum erro visível. O log de erros em jusched.log
agora difere antes de qualquer JDK ser instalado.
Aqui está o que diz agora em uma tentativa de instalação do JDK 8 (vou cortar todas as coisas de configuração que aparentemente não produziram erros):
[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)]
ERROR: Exception with message 'MsiUtils.cpp(268) at msi::Database::getProperty():
MsiViewFetch(C:\WINDOWS\Installerc487c.msi, SELECT Value FROM
Property WHERE Property = 'FullVersion') failed. MSI error [259]'
caught
[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: Find home dir of {64A3A4F4-B792-11D6-A78A-00B0D0170800} Java installation
[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: 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)]
ERROR: Exception with message 'MsiUtils.cpp(268) at msi::Database::getProperty():
MsiViewFetch(C:\WINDOWS\Installerc4882.msi, SELECT Value FROM
Property WHERE Property = 'FullVersion') failed. MSI error [259]'
caught
[2015/10/22 18:29:09.188, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), JavaEnvironment.cpp:451
('anonymous-namespace'::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)
e em uma tentativa de instalação do 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
Assim, em resumo, a instalação falha porque o MsiEnumProducts aparentemente lista alguma instalação, presumivelmente alguma instalação Java antiga, que não foi encontrada ou o instalador não foi encontrado. Mas como posso descobrir o que está faltando? Ou qual entrada de registro é redundante? Procurei as entradas do registro mencionando JDK ou C:\Program Files\Java
e encontrei algumas que pareciam redundantes, e as excluí, mas isso também não alterou nada.
Na web e na SE, encontrei muitas perguntas que apontavam para o mesmo problema, mas raramente abordavam o núcleo (provável) do problema, a falha MsiEnumProducts. Especificamente estes dois neste site.
Alguma dica sobre essa situação complicada?
Se eu não soubesse melhor, eu diria que a dica para a origem do erro é:
[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
Então, basicamente, minha pergunta é antes de todas as outras, como eu descubro, que recurso é # 259 tipo # 6 e onde ele está registrado?