Как получить номер версии IE из реестра Windows?

Мое Java-приложение должно знать, какая версия IE (если есть) установлена ​​на локальном компьютере, и запрос реестра кажется самым простым способом. Какой ключ реестра и значение я должен искать?

Это должно работать в Windows XP, Windows Server 2003 и более поздних версиях.


person Andrew Swan    schedule 18.11.2010    source источник
comment
Вау, ›1к просмотров и только один плюс! :-)   -  person Andrew Swan    schedule 02.02.2012


Ответы (3)


Наткнулся на это, пытаясь решить ту же проблему.

Ответ Эндрю от 2010 года верен, но с тех пор более новые Internet Explorer (10 и 11) не отображают свой истинный номер версии в значении реестра: «Версия». Вместо этого он записывается в значение реестра: «svcVersion».

person jrun1    schedule 21.11.2013
comment
Я принял ваш ответ как более актуальный, чем мой первоначальный. - person Andrew Swan; 31.07.2014
comment
Я столкнулся с этой проблемой сегодня утром. Правильные места: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\svcUpdateVersion и HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\svcVersion. Вы можете ожидать получения данных из таких значений: svcVersion = 11.0.9600.17691 в то время как svcUpdateVersion = 11.0.7 - person Beems; 03.04.2015

Чтение этого ключа с помощью команды ОС "reg query":

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer

... с этим значением:

Version

Возвращает число, подобное этому:

8.0.7600.16385

Или возвращает errorCode 1, если такой записи не существует, что предположительно указывает на то, что IE не установлен.

person Andrew Swan    schedule 18.11.2010
comment
Спасибо, приятель ... Это даже помогло мне ... Привет :) - person Makky; 13.03.2013
comment
Дополнительная информация здесь: support.microsoft.com/kb/969393. - person vt.; 21.05.2013
comment
Microsoft лжет о значении версии в IE10, чтобы не сломать программы, которые могут распознавать только однозначный номер версии. Более (хакерский) способ проверить версию IE - проверить версию файла mshtml.dll. - person Sheng Jiang 蒋晟; 11.09.2013

В более новых версиях IE 10 и 11 истинная версия записывается в значение 'svcVersion', а значение 'Version' содержит в начале '9.'

person Krzysztof Gapski    schedule 30.07.2014
comment
Дубликат ответа jrun1? - person Andrew Swan; 31.07.2014
comment
Просто объясните, что именно содержит Version. Он имеет правильное значение, но после «9.» * Я пока не могу комментировать ответы. - person Krzysztof Gapski; 17.09.2014