Get Internet Explorer version: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
(money surveys) |
m (Reverted edits by 99.58.185.39 to last version by Anders) |
||
Line 4: | Line 4: | ||
This function gets the major version of Microsoft Internet Explorer the user uses. | This function gets the major version of Microsoft Internet Explorer the user uses. | ||
== The Function == | |||
<highlight-nsis> | |||
; GetIEVersion | |||
; | |||
; Based on Yazno's function, http://yazno.tripod.com/ | |||
; Updated 2007-06-02 Ch. Bergmann (Yazno) | |||
; Returns on top of stack | |||
; 1-7 (Installed IE Version) | |||
; or | |||
; '' (IE is not installed) | |||
; | |||
; Usage: | |||
; Call GetIEVersion | |||
; Pop $R0 | |||
; ; at this point $R0 is "5" or whatnot | |||
Function GetIEVersion | |||
Push $R0 | |||
ClearErrors | |||
ReadRegStr $R0 HKLM "Software\Microsoft\Internet Explorer" "Version" | |||
IfErrors lbl_123 lbl_4567 | |||
lbl_4567: ; ie 4+ | |||
Strcpy $R0 $R0 1 | |||
Goto lbl_done | |||
lbl_123: ; older ie version | |||
ClearErrors | |||
ReadRegStr $R0 HKLM "Software\Microsoft\Internet Explorer" "IVer" | |||
IfErrors lbl_error | |||
StrCpy $R0 $R0 3 | |||
StrCmp $R0 '100' lbl_ie1 | |||
StrCmp $R0 '101' lbl_ie2 | |||
StrCmp $R0 '102' lbl_ie2 | |||
StrCpy $R0 '3' ; default to ie3 if not 100, 101, or 102. | |||
Goto lbl_done | |||
lbl_ie1: | |||
StrCpy $R0 '1' | |||
Goto lbl_done | |||
lbl_ie2: | |||
StrCpy $R0 '2' | |||
Goto lbl_done | |||
lbl_error: | |||
StrCpy $R0 '' | |||
lbl_done: | |||
Exch $R0 | |||
FunctionEnd</highlight-nsis> | |||
[[Category:Other Products Version Detection Functions]] |
Revision as of 19:54, 22 September 2010
Author: sunjammer (talk, contrib) |
Description
This function gets the major version of Microsoft Internet Explorer the user uses.
The Function
; GetIEVersion ; ; Based on Yazno's function, http://yazno.tripod.com/ ; Updated 2007-06-02 Ch. Bergmann (Yazno) ; Returns on top of stack ; 1-7 (Installed IE Version) ; or ; '' (IE is not installed) ; ; Usage: ; Call GetIEVersion ; Pop $R0 ; ; at this point $R0 is "5" or whatnot Function GetIEVersion Push $R0 ClearErrors ReadRegStr $R0 HKLM "Software\Microsoft\Internet Explorer" "Version" IfErrors lbl_123 lbl_4567 lbl_4567: ; ie 4+ Strcpy $R0 $R0 1 Goto lbl_done lbl_123: ; older ie version ClearErrors ReadRegStr $R0 HKLM "Software\Microsoft\Internet Explorer" "IVer" IfErrors lbl_error StrCpy $R0 $R0 3 StrCmp $R0 '100' lbl_ie1 StrCmp $R0 '101' lbl_ie2 StrCmp $R0 '102' lbl_ie2 StrCpy $R0 '3' ; default to ie3 if not 100, 101, or 102. Goto lbl_done lbl_ie1: StrCpy $R0 '1' Goto lbl_done lbl_ie2: StrCpy $R0 '2' Goto lbl_done lbl_error: StrCpy $R0 '' lbl_done: Exch $R0 FunctionEnd