summaryrefslogtreecommitdiffstats
path: root/install-win32/GetWindowsVersion.nsi
diff options
context:
space:
mode:
authorjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2007-02-27 23:29:17 +0000
committerjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2007-02-27 23:29:17 +0000
commitee313a978f7aa9eff8163e3f6be3a59b12e03fe0 (patch)
treeac35ef74779ebc991174737eea15b8f9cb3a7333 /install-win32/GetWindowsVersion.nsi
parent9696719a37c16879c5fc9336767bad699b05e744 (diff)
downloadopenvpn-ee313a978f7aa9eff8163e3f6be3a59b12e03fe0.tar.gz
openvpn-ee313a978f7aa9eff8163e3f6be3a59b12e03fe0.tar.xz
openvpn-ee313a978f7aa9eff8163e3f6be3a59b12e03fe0.zip
Renamed TAP-Win32 driver from tap0801.sys to tap0901.sys
to reflect the fact that Vista has blacklisted the tap0801.sys file name due to previous compatibility issues which have now been resolved. TAP-Win32 major/minor version number is now 9/1. Windows installer will delete a previously installed tap0801.sys TAP driver before installing tap0901.sys. Added code to Windows installer to fail gracefully on 64 bit installs until 64-bit TAP driver issues can be resolved. Added code to Windows installer to fail gracefully on versions of Windows which are not explicitly supported. git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@1746 e7ae566f-a301-0410-adde-c780ea21d3b5
Diffstat (limited to 'install-win32/GetWindowsVersion.nsi')
-rw-r--r--install-win32/GetWindowsVersion.nsi109
1 files changed, 109 insertions, 0 deletions
diff --git a/install-win32/GetWindowsVersion.nsi b/install-win32/GetWindowsVersion.nsi
new file mode 100644
index 0000000..103caff
--- /dev/null
+++ b/install-win32/GetWindowsVersion.nsi
@@ -0,0 +1,109 @@
+; Turn off old selected section
+; GetWindowsVersion
+;
+; Based on Yazno's function
+; Updated by Joost Verburg
+; Updated for Windows 98 SE by Matthew Win Tibbals 5-21-03
+; Updated for Vista by Joe Cincotta 12-2-07
+;
+; Returns on top of stack
+;
+; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003, VISTA)
+; 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:
+;;beginning of additions to support win 98 SE
+ push $R0
+ push "."
+ call strstr
+ pop $R0
+ StrCpy $R0 $R0 "" 1
+ StrCmp $R0 "10.2222" lbl_win32_98SE
+ StrCpy $R0 '98' ;;this line was not added
+ Goto lbl_done ;;this line was not added either
+
+ lbl_win32_98SE:
+ StrCpy $R0 '98 SE'
+ Goto lbl_done
+;;end of additions to support win 98 SE
+ 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
+ StrCmp $R1 '6.0' lbl_winnt_VISTA 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_winnt_VISTA:
+ Strcpy $R0 'VISTA'
+ Goto lbl_done
+
+ lbl_error:
+ Strcpy $R0 ''
+ lbl_done:
+
+ Pop $R1
+ Exch $R0
+
+FunctionEnd
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;