summaryrefslogtreecommitdiff
path: root/packaging
diff options
context:
space:
mode:
authorUlf Lamping <ulf.lamping@web.de>2005-02-03 02:32:48 +0000
committerUlf Lamping <ulf.lamping@web.de>2005-02-03 02:32:48 +0000
commitbac4df8970ec76f5e5cd57ee2ac3a7bded369891 (patch)
treeefc486eadd4ceef7e025b33e708d4debd7a88611 /packaging
parente86a1c6a4723541efcfe2b91c90ca7450a014dd6 (diff)
downloadwireshark-bac4df8970ec76f5e5cd57ee2ac3a7bded369891.tar.gz
Copied this file from:
http://nsis.sourceforge.net/archive/nsisweb.php?page=15&instances=0,11 Licensing question, as the NSIS homepage states: http://nsis.sourceforge.net/features/license/ so it should be ok to rerelease this file under the GPL svn path=/trunk/; revision=13253
Diffstat (limited to 'packaging')
-rw-r--r--packaging/nsis/GetWindowsVersion.nsh90
1 files changed, 90 insertions, 0 deletions
diff --git a/packaging/nsis/GetWindowsVersion.nsh b/packaging/nsis/GetWindowsVersion.nsh
new file mode 100644
index 0000000000..9d8a5e23de
--- /dev/null
+++ b/packaging/nsis/GetWindowsVersion.nsh
@@ -0,0 +1,90 @@
+
+; GetWindowsVersion
+;
+; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
+; Updated by Joost Verburg
+;
+; Returns on top of stack
+;
+; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
+; or
+; '' (Unknown Windows Version)
+;
+; Usage:
+; Call GetWindowsVersion
+; Pop $R0
+; ; at this point $R0 is "NT 4.0" or whatnot
+
+Function GetWindowsVersion
+
+ Push $R0
+ Push $R1
+
+ ClearErrors
+
+ ReadRegStr $R0 HKLM \
+ "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
+
+ IfErrors 0 lbl_winnt
+
+ ; we are not NT
+ ReadRegStr $R0 HKLM \
+ "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
+
+ StrCpy $R1 $R0 1
+ StrCmp $R1 '4' 0 lbl_error
+
+ StrCpy $R1 $R0 3
+
+ StrCmp $R1 '4.0' lbl_win32_95
+ StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
+
+ lbl_win32_95:
+ StrCpy $R0 '95'
+ Goto lbl_done
+
+ lbl_win32_98:
+ StrCpy $R0 '98'
+ Goto lbl_done
+
+ lbl_win32_ME:
+ StrCpy $R0 'ME'
+ Goto lbl_done
+
+ lbl_winnt:
+
+ StrCpy $R1 $R0 1
+
+ StrCmp $R1 '3' lbl_winnt_x
+ StrCmp $R1 '4' lbl_winnt_x
+
+ StrCpy $R1 $R0 3
+
+ StrCmp $R1 '5.0' lbl_winnt_2000
+ StrCmp $R1 '5.1' lbl_winnt_XP
+ StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
+
+ lbl_winnt_x:
+ StrCpy $R0 "NT $R0" 6
+ Goto lbl_done
+
+ lbl_winnt_2000:
+ Strcpy $R0 '2000'
+ Goto lbl_done
+
+ lbl_winnt_XP:
+ Strcpy $R0 'XP'
+ Goto lbl_done
+
+ lbl_winnt_2003:
+ Strcpy $R0 '2003'
+ Goto lbl_done
+
+ lbl_error:
+ Strcpy $R0 ''
+ lbl_done:
+
+ Pop $R1
+ Exch $R0
+
+FunctionEnd