Je n'arrive pas à installer JDK 8 sur une installation x64 de Windows 10 ou à mettre à jour une version plus ancienne à la version mise à jour.
Après que la mise à jour Java habituelle a échoué sans message d'erreur,
J'ai décidé de procéder à une réinstallation propre et j'ai supprimé toutes les anciennes versions avec Your Uninstaller. J'ai également supprimé manuellement les répertoires laissés et la
JAVA_HOME
variable.J'ai ensuite téléchargé l'installateur JDK. Lors de l'exécution du programme d'installation, je ne reçois aucun message d'erreur, il échoue simplement.
J'ai essayé le mode sans échec, les droits d'administrateur et / ou sans logiciel antivirus, mais en vain.
- jeté un coup d’œil au journal des événements. C'est en allemand, c'est pourquoi je ne vais pas copier / coller cela maintenant, mais cela indique en gros que cela a
jdk-8u65-windows-x64.exe
échoué avec une erreur0x40000015
qui est simplement "l'exception logicielle inconnue". - alors j'ai regardé dans% TEMP%. Là, sur chaque instance de , un journal est maintenu dans . J'ai toujours eu l'erreur .
jdk-8u65-windows-
x64.exejusched.log
MsiEnumProducts(75) failed with error=[1610]
Ensuite, j'ai examiné les restes d'anciennes installations de Windows. J'ai exécuté un correctif automatique à partir de mon ancienne version de Votre installateur qui vérifie cela, ainsi qu'une session CCleaner, mais aucune erreur significative n'a été détectée.
J'ai également vérifié s'il était possible d'installer JDK 8 x64 manuellement, mais je n'ai trouvé aucun lien vraiment utile. Ensuite, j'ai essayé de décompresser le programme d'installation avec 7-zip. Je déballe l'arborescence des dossiers dans
C:\Program Files\Java\jdk1.8.0_66\
et mis àJAVA_HOME
nouveau, mais quand j'ai essayé de IntelliJ IDEA à ce répertoire comme mon JDK, il a continué à me dire qu'il est « pas un répertoire JDK valide » (également aucun des sous - répertoires), bien que Java les fichiers sont présents dans le fichier\bin
. Alors ensuite, je suis allé à réinstaller JDK 6 (travaillé), puis mise à jour à 7 (travaillé); Cependant, la mise à jour vers JDK 8 a échoué comme avant.Ensuite, j'ai essayé d'installer JRE au lieu de JDK en tant que test, mais JRE 8 échoue de la même manière que JDK 8, sans erreur visible. Le journal des erreurs
jusched.log
diffère désormais avant l'installation de JDK.
Voici ce qu'il dit maintenant sur une tentative d'installation de JDK 8 (je vais supprimer toutes les informations de configuration qui ne produisent apparemment aucune erreur):
[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 avec le message 'MsiUtils.cpp (268) à l'adresse msi :: Database :: getProperty (): MsiViewFetch (C: \ WINDOWS \ Installer \ 1c487c.msi, la valeur SELECT de la propriété WHERE Property =' FullVersion ') a échoué. Erreur MSI [259] 'capturée [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: recherche du répertoire principal de {64A3A4F4-B792-11D6-A78A-00B0D0170800} installation de 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-64. , 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)] ERREUR: Exception avec le message' MsiUtils.cpp (268) dans msi :: Database :: getProperty (): MsiViewFetch (C : \ WINDOWS \ Installer \ 1c4882.msi, SELECT la valeur de la propriété WHERE Property = 'FullVersion') a échoué. Erreur MSI [259] 'capturée [2015/10/22 18: 29: 09.188, jdk-8u65-windows-x64.exe (PID: 6068, TID: 1808), JavaEnvironment.cpp: 451 («anonymous-namespace»: 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)
et lors d’une tentative d’installation de 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
Donc, en résumé, l'installation échoue car MsiEnumProducts répertorie apparemment certaines installations, probablement d'anciennes installations Java, qui sont introuvables ou le programme d'installation introuvable. Mais comment puis-je savoir ce qui manque? Ou quelle entrée de registre est redondante? J'ai cherché des entrées de registre mentionnant JDK ou C:\Program Files\Java
et j'ai trouvé celles qui semblaient redondantes. Je les ai supprimées, mais cela n'a rien changé non plus.
Sur le Web et sur SE, j'ai trouvé de nombreuses questions qui soulevaient le même problème, mais il était rare que le problème soit résolu, à savoir l'échec de MsiEnumProducts. Plus précisément ces deux sur ce site.
Des indices sur cette situation délicate?
Si je ne connaissais pas mieux, je dirais que l'indice de l'origine de l'erreur est le suivant:
[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
En gros, ma question est donc la suivante: comment puis-je savoir quelle est la ressource n ° 259 de type n ° 6 et où est-elle enregistrée?
Réponses:
J'ai rencontré le même problème et j'ai constaté que ma liste de produits (
HKEY_CURRENT_USER\Software\Microsoft\Installer\Products
) était brisée. Toujours vérifier aussi bien queHKEY_CLASSES_ROOT\Installer\Products
. Si certains ID sont incorrects (comme celui avec soulignement), Micorosoft Installer peut signalerERROR_BAD_CONFIGURATION
(1610).la source
wmic product
.Je ne pouvais pas trouver une solution adéquate au problème en temps voulu et la nécessité de faire fonctionner Java 8 sur le périphérique devenait trop urgente. Je devais donc réinstaller proprement Windows 10, après quoi tout fonctionnait. Avant cela, j'ai creusé un peu plus profondément:
J'ai constaté que dans Windows PowerShell,
wmic product
ne fonctionnait pas du tout et s'arrêtait toujours avec une "erreur générale", qui était consignée dans Eventlog sous le nom "erreur générique" (j'avais oublié le numéro d'erreur exact, mais ce n'était pas spécifique).J'ai également essayé de reconstruire le
wbem
sous - répertoire danssystem32
, qui est essentiellement le référentiel WMI pour Windows, à l'aide de ce tutoriel , mais cela n'a pas non plus résolu le problème.En conclusion, je peux donc dire que ce type d’échec lors de l’installation du JDK est le symptôme d’une bibliothèque d’installateur WMI (Windows Management Instrumentation) défectueuse, et que la méthode MsiEnumProducts, utilisée par JDK, échoue donc avec une erreur générale. L’erreur peut être reproduite sans l’installation du JDK lorsque vous vérifiez l’état de votre bibliothèque de produits WMI en entrant
wmic product
dans Windows Powershell. Par conséquent, l'erreur n'est probablement pas spécifique à l'installation de JDK, mais l'utilisation de cette énumération peut être si rare que l'erreur n'a généralement qu'une incidence sur le système et n'est donc signalée que rarement. Peut-être pour la même raison, une solution réelle, à mon avis, n’existe-t-elle pas à ce jour, donc tout ce que je peux dire, c’est que si vous rencontrez cette erreur sur votre système, économisez votre temps et effectuez une réinstallation propre de Windows, cela coûtera. vous avez moins de temps que d'approfondir l'évaluation de cela.Quant aux origines de ce problème, à mon humble avis, il est très difficile à dire. Je me considère moi-même comme un utilisateur expérimenté, manipulant le registre de temps à autre, exécutant des nettoyeurs quand je pense qu'ils en ont besoin, etc., mais ce serait la première fois en 20 ans de Windows que je cassais vraiment le registre, et Je ne pouvais même pas dire quand ou avec quoi. Une autre option, à mon avis, est que j'ai mis à niveau vers Windows 10 à partir de Windows 8.1, ne disposant pas d'une réinstallation propre, et que j'utilisais Windows 8.1 depuis un certain temps déjà. J'ai également rencontré ce bogue dans lequel le WiFi est interrompu si un client VPN est présent lors de la mise à niveau de Windows 10 , et je ne serais pas surpris que la mise à niveau laisse également d'autres dommages collatéraux en raison d'une incompatibilité ou d'une incohérence profondément enfouie.
[tl; dr] Si vous rencontrez l’erreur susmentionnée, effectuez une réinstallation propre de Windows 10 si vous avez vraiment besoin d’utiliser JDK 8 ou si vous souhaitez éviter d’éventuels problèmes avec d’autres installateurs à l’avenir, et si vous pensez ne pas y être confronté. être un correctif miraculeux par Microsoft dans un avenir proche concernant une bibliothèque d’installateur WMI endommagée.
la source