Как определить, какая версия 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