2010-11-18 23 views
8

Mon application Java a besoin de savoir quelle version d'IE (le cas échéant) est installée sur la machine locale, et interroger le registre semble être la solution la plus simple. Quelle clé de registre et quelle valeur dois-je rechercher?Comment obtenir le numéro de version IE à partir du registre Windows?

Cela doit fonctionner sur Windows XP, Windows Server 2003 et versions ultérieures.

+0

Wow,> 1k vues et une seule upvote! :-) –

Répondre

8

Vous avez trébuché en essayant de résoudre le même problème.

La réponse d'Andrew à partir de 2010 est correcte, mais depuis lors, les nouveaux explorateurs Internet (10 et 11) n'affichent pas leur vrai numéro de version dans la valeur de registre: 'Version'. Au lieu de cela, il est enregistré dans la valeur de registre: 'svcVersion'.

+0

J'ai accepté votre réponse comme étant plus à jour que mon original. –

+1

J'ai rencontré ce problème ce matin. Les emplacements appropriés sont les suivants: 'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ svcUpdateVersion' et' HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ svcVersion'. Vous pouvez vous attendre à recevoir des données de ces valeurs: 'svcVersion = 11.0.9600.17691' tandis que' svcUpdateVersion = 11.0.7' – Beems

9

La lecture de cette clé en utilisant la commande OS "reg query":

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer 

... avec cette valeur:

Version 

Renvoie un nombre comme ceci:

8.0.7600.16385 

Ou renvoie errorCode 1 si cette entrée n'existe pas, ce qui indique probablement que IE n'est pas installé.

+1

Merci compagnon ... Il m'a même aidé ... Cheers :) – Makky

+1

Plus d'infos ici: http://support.microsoft.com/kb/969393 –

+3

Microsoft ment sur la valeur de la version dans IE10 pour éviter les programmes de rupture qui ne peut reconnaître qu'un numéro de version à un chiffre. Un moyen plus (hackish) est de vérifier la version IE est de vérifier la version du fichier de mshtml.dll –

1

Dans une version plus récente IE 10 et 11 est la version réelle enregistrée en valeur 'svcVersion' et la valeur 'Version' contient au début '9.'

+0

Dupliquer de la réponse de jrun1? –

+0

Expliquez simplement ce que contient exactement _Version_. Il a une valeur correcte mais après '** 9. **' * Je ne peux pas encore commenter les réponses. – Sager