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 (Updated author links.)
Line 1: Line 1:
{|align=right
|<small>Author: [[{{ns:2}}:intersol|intersol]] ([[{{ns:3}}:intersol|talk]], [[{{ns:-1}}:Contributions/intersol|contrib]])</small>
|}
<br style="clear:both;">
== 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 52: Line 56:


</highlight-nsis>
</highlight-nsis>
Page author: [[User:intersol|intersol]]

Revision as of 02:57, 30 April 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