iGetIEVer

Started by RAK, December 16, 2013, 01:22:42 AM

Previous topic - Next topic

RAK

I am testing iGetIEVer() on a 64bit Win7 machine and it's returning version 9  when 11 is installed. Should it work? Is it detecting a 32 version? Does anyone know if a version 10 or 11 IE update effects both 32 and 64 bit versions? Is there such a thing as a 32 bit IE version 10 or 11?

Thanks!

stanl

Quote from: RAK on December 16, 2013, 01:22:42 AM
Is there such a thing as a 32 bit IE version 10 or 11?

Thanks!

I have IE11 on a 32-bit Win7 laptop. I expect Deana will clear up the other matters after she reads this.

Deana

The iGetIEVer function in the WinInet extender merely reads the following registry key to obtain the version of IE.
HKLM\SOFTWARE\Microsoft\Internet Explorer[Version]

This has been the appropriate method to read IE version 4 through 9. However it appears Microsoft may have changed things up. There appears to be a new data item under that registry called svcVersion. This new item appears to contain the appropriate version information for IE versions 10 and newer.

Reference:
http://social.msdn.microsoft.com/Forums/ie/en-US/404753c1-e1a3-4f18-910d-eacec2186f67/how-to-reliably-determine-installed-ie-version-going-forward?forum=ieextensiondevelopment


http://support.microsoft.com/kb/969393
QuoteUse the registry. You can determine the version of Internet Explorer by viewing the following registry key:

HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer
If a "version" value appears in this key, Internet Explorer 4.0 or a later version is installed. The version string value contains the version number of Internet Explorer 4.0 (or a later version) that is installed on your computer. (For example, the version string value for Internet Explorer 5 is "5.0.2014.0216"). Be aware that only one zero is stored in the registry for the minor version number if the minor version number is 00. If the minor version number is not 00, the full version value is stored. (For example, 5.50.4807.2300 is stored in the registry as 5.50.4807.2300.)

Note  The version string value for Internet Explorer 10 is 9.10.9200.16384, and the svcVersion string value is 10.0.9200.16384.


You could maybe create workaround that first checks if the svcVersion item exists, if not use the value in the Version item:

Code (winbatch) Select
If RegExistValue( @REGMACHINE, 'Software\Microsoft\Internet Explorer[svcVersion]' )
   ver_IE = RegQueryValue( @REGMACHINE, 'Software\Microsoft\Internet Explorer[svcVersion]' )
ElseIf RegExistValue( @REGMACHINE, 'Software\Microsoft\Internet Explorer[Version]' )
   ver_IE = ( @REGMACHINE, 'Software\Microsoft\Internet Explorer[Version]' )
Else
   ver_IE = 0
Endif
Message("Internet Explorer version",ver_IE)
Exit



I will consult with the developers about getting the iGetIEVer function updated.
Deana F.
Technical Support
Wilson WindowWare Inc.

RAK

thank you all..
and Deana for the solution

Roy

Deana

We have just updated the WinInet Extender function iGetIEVer to handle IE 10 and newer: http://forum.winbatch.com/index.php?topic=579
Deana F.
Technical Support
Wilson WindowWare Inc.