Get Internet Explorer Full Version: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (Updated author and download links, and changed format of some pages.)
m (Adding new author and category links.)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{PageAuthor|intersol}}
== Description ==
== Description ==
This function will return the complete version of Internet Explorer. After this you can compare the result with VersionCheck.
This function will return the complete version of Internet Explorer. After this you can compare the result with VersionCheck.
Line 53: Line 55:
</highlight-nsis>
</highlight-nsis>


Page author: [[User:intersol|intersol]]
[[Category:Other Products Version Detection Functions]]

Latest revision as of 12:18, 24 June 2005

Author: intersol (talk, contrib)


Description

This function will return the complete version of Internet Explorer. After this you can compare the result with VersionCheck.

The Script

 ; GetIEFullVersion
 ; Version 1.0 (12.02.2003)
 ;
 ; This could replace GetIEVersion that return only major version
 ;
 ; Created by Sbarnea Sorin (INTERSOL) sorin@intersol.ro
 ; http://www.intersoldev.com (English) http://www.intersol.ro/ (Romanian)
 ;
 ; Feel free to improve but keep the comments
 ;
 ; Returns on top of stack
 ; Version is based on Shdocvw.dll version
 ; Details on Microsoft KB: Q164539
 ;
 ; 0.0.0.0 (IE is not installed)
 ;
 ; Usage:
 ;   Call GetIEVersion
 ;   Pop $R0
 ;   ; at this point $R0 is "4.72.3612.1707" for IE 4.01 SP2
 
Function GetIEFullVersion
  Push $R0
  Push $R1
  Push $R2
  Push $R3
  Push $R4
  Push $R5
 
  ClearErrors
  GetDLLVersion "$SYSDIR\shdocvw.dll" $R0 $R1
  IfErrors 0 +3 ; if not installed returns 0.0.0.0
  IntOp $R0 $R0 ^
  IntOp $R1 $R1 ^ 
  IntOp $R2 $R0 / 0x00010000
  IntOp $R3 $R0 & 0x0000FFFF
  IntOp $R4 $R1 / 0x00010000
  IntOp $R5 $R1 & 0x0000FFFF
  StrCpy $R0 "$R2.$R3.$R4.$R5"
  Pop $R5
  Pop $R4
  Pop $R3
  Pop $R2
  Pop $R1
  Exch $R0
FunctionEnd