Как определить, какая версия Internet Explorer установлена?

Является ли лучший способ поиска под ключом Uninstall для реестра Windows? Есть ли вызов API Microsoft, который предоставляет эту информацию, и поддерживается ли она с XP?

Каков наилучший способ определить, какая версия Internet Explorer установлена ​​на локальной машине?

Ответы

Ответ 1

Вы должны заглянуть в реестр, но не в ключ удаления. Вместо, найдите ключ в HKLM\Software\Microsoft\Internet Explorer и прочитайте значение с именем Version.

Для более новых версий (IE 10 и выше) Version - 9.x(например, IE 10 - это 9.10.something), а новое значение svcVersion дает истинную версию IE.

Этот метод даже рекомендуется Microsoft; см. здесь.

Ответ 2

Если вам требуется знать версию IE в веб-приложении, вы можете получить User-Agent или использовать javascript:

Вы получили образец Microsoft, как получить версию Internet Explorer http://msdn.microsoft.com/en-us/library/ms537509(VS.85).aspx

Если вам требуется обнаружить версию IE в программе Desktop с языком X, вам необходимо прочитать реестр Windows

Этот раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer содержит атрибут Version с версией IE

Ответ 3

Значение версии, похоже, не включает в себя информацию о версии Internet Explorer, которая вам, скорее всего, понадобится. Вместо этого посмотрите на svcVersion или svcUpdateVersion для информации.

В качестве примера я запускаю IE 10, и если я запрашиваю значение реестра Версии 9.10.9200.16798, но если я запрашиваю svcUpdateVersion 10.0.13, возвращается. Последнее соответствует фактической версии Internet Explorer, которая равна 10.

REG QUERY "HKLM\Software\Microsoft\Internet Explorer" /v Версия HKEY_LOCAL_MACHINE\Программное обеспечение \Microsoft\Internet Explorer   Версия REG_SZ 9.10.9200.16798

REG QUERY "HKLM\Software\Microsoft\Internet Explorer" /v svcUpdateVersion HKEY_LOCAL_MACHINE\Программное обеспечение \Microsoft\Internet Explorer   svcUpdateVersion REG_SZ 10.0.13

REG QUERY "HKLM\Software\Microsoft\Internet Explorer" /v svcVersion HKEY_LOCAL_MACHINE\Программное обеспечение \Microsoft\Internet Explorer   svcVersion REG_SZ 10.0.9200.16798

Ответ 4

Я хотел бы оспорить обычную мудрость проверки реестра. Рассмотрим исходный источник для System.Windows.Forms.WebView.Version:

string mshtmlPath = 
   Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "mshtml.dll");
FileVersionInfofvi = FileVersionInfo.GetVersionInfo(mshtmlPath);
return new Version(
             fvi.FileMajorPart, fvi.FileMinorPart, fvi.FileBuildPart, fvi.FilePrivatePart);

Предположительно, ребята, которые написали класс WebView, знали, что они делают.

Ответ 5

Вы также можете узнать версию IE на нескольких компьютерах, используя этот script:

@Echo off

Cls

MD C:\SYSADMIT > NUL 

Echo. > c:\SYSADMIT\Resultados.txt

SET ListaEquipos=C:\SYSADMIT\ListaEquipos.txt

For /F "Tokens=*" %%z In (%ListaEquipos%) Do (

echo %%z  >> c:\SYSADMIT\Resultados.txt 

reg query "\\%%z\hklm\Software\Microsoft\Internet Explorer" /v svcVersion >> c:\SYSADMIT\Resultados.txt

)

Внутри файла: ListaEquipos.txt имеется список компьютеров.

Также необходимо проверить службу RemoteRegistry на целевых компьютерах.

Извлечен из: http://www.sysadmit.com/2017/08/windows-buscar-version-de-internet-explorer-en-equipo-remoto.html