2010-08-24 4 views
12

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

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

ответ

21

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

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

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

+0

достаточно Удивительно, но нет API для этого, и проверка этого ключа реестра, как правило, считается лучшим выбором. – EricLaw

+0

Ссылка (возможно) сломана –

4

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

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

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

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

4

Значение версии, похоже, не включает информацию о версии 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 \ Software \ Microsoft \ Internet Explorer Версия REG_SZ 9.10.9200.16798

REG QUERY "HKLM \ Software \ Microsoft \ Internet Explorer"/v svcUpdateVersion HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Internet Explorer svcUpdateVersion REG_SZ 10.0.13

REG QUERY "HKLM \ Software \ Microsoft \ Internet Explorer"/v svcVersion HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Internet Explorer svcVersion REG_SZ 10.0.9200.16798

1

Я хотел бы, чтобы бросить вызов общепринятому инспектирования реестра , Рассмотрим опорный источник для 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 класс знал, что они делают.

0

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

@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

Смежные вопросы