Installation de JDK sur Windows 10 - Erreur 1610 de MsiEnumProducts en raison d'une bibliothèque WBEM / bibliothèque WMI endommagée

0

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_HOMEvariable.

  • 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 erreur 0x40000015qui 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.exe
    jusched.logMsiEnumProducts(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_HOMEnouveau, 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.logdiffè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\Javaet 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?

cirko
la source
J'ai le même problème avec Windows 7, 8u60 et 8u65. 8u51 est OK.
Jonathan Rosenne

Réponses:

2

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 que HKEY_CLASSES_ROOT\Installer\Products. Si certains ID sont incorrects (comme celui avec soulignement), Micorosoft Installer peut signaler ERROR_BAD_CONFIGURATION(1610).

utilisateur996142
la source
oui, quand j'ai creusé un peu plus tard, j'ai trouvé la même chose (voir ma propre réponse à cette question). Mais je ne pouvais pas le réparer, pourriez-vous? Après avoir pesé les solutions de rechange, j’ai trouvé qu’une réinstallation propre permettrait effectivement de gagner du temps.
cirko
@cirko assurez-vous que vous ne disposez que de GUID, pas de soulignement de lignes indésirables. Essayez de supprimer une entrée (sauvegarde en premier!) Et vérifiez à nouveau. Pour vous assurer que le service d'installation fonctionne, faites wmic product.
user996142
Cela a aidé dans mon cas. Le problème était les services BootCamp.
Ivan Nikitin
1

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 productne 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 wbemsous - répertoire dans system32, 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 entrantwmic productdans 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.

cirko
la source