Last change
on this file since 34801 was 31634, checked in by vboxsync, 14 years ago |
Windows Additions: export shared folders and installer to OSE
|
-
Property svn:eol-style
set to
native
-
Property svn:keywords
set to
Author Date Id Revision
|
File size:
1.7 KB
|
Line | |
---|
1 | ; GetWindowsVersion
|
---|
2 | ;
|
---|
3 | ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
|
---|
4 | ; Updated by Joost Verburg
|
---|
5 | ;
|
---|
6 | ; Returns on top of stack
|
---|
7 | ;
|
---|
8 | ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003, Vista)
|
---|
9 | ; or
|
---|
10 | ; '' (Unknown Windows Version)
|
---|
11 | ;
|
---|
12 | ; Usage:
|
---|
13 | ; Call GetWindowsVersion
|
---|
14 | ; Pop $R0
|
---|
15 | ; ; at this point $R0 is "NT 4.0" or whatnot
|
---|
16 |
|
---|
17 | !macro GetWindowsVersion un
|
---|
18 | Function ${un}GetWindowsVersion
|
---|
19 |
|
---|
20 | Push $R0
|
---|
21 | Push $R1
|
---|
22 |
|
---|
23 | ClearErrors
|
---|
24 |
|
---|
25 | ReadRegStr $R0 HKLM \
|
---|
26 | "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
|
---|
27 |
|
---|
28 | IfErrors 0 lbl_winnt
|
---|
29 |
|
---|
30 | ; we are not NT
|
---|
31 | ReadRegStr $R0 HKLM \
|
---|
32 | "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
|
---|
33 |
|
---|
34 | StrCpy $R1 $R0 1
|
---|
35 | StrCmp $R1 '4' 0 lbl_error
|
---|
36 |
|
---|
37 | StrCpy $R1 $R0 3
|
---|
38 |
|
---|
39 | StrCmp $R1 '4.0' lbl_win32_95
|
---|
40 | StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
|
---|
41 |
|
---|
42 | lbl_win32_95:
|
---|
43 | StrCpy $R0 '95'
|
---|
44 | Goto lbl_done
|
---|
45 |
|
---|
46 | lbl_win32_98:
|
---|
47 | StrCpy $R0 '98'
|
---|
48 | Goto lbl_done
|
---|
49 |
|
---|
50 | lbl_win32_ME:
|
---|
51 | StrCpy $R0 'ME'
|
---|
52 | Goto lbl_done
|
---|
53 |
|
---|
54 | lbl_winnt:
|
---|
55 |
|
---|
56 | StrCpy $R1 $R0 1
|
---|
57 |
|
---|
58 | StrCmp $R1 '3' lbl_winnt_x
|
---|
59 | StrCmp $R1 '4' lbl_winnt_x
|
---|
60 |
|
---|
61 | StrCpy $R1 $R0 3
|
---|
62 |
|
---|
63 | StrCmp $R1 '5.0' lbl_winnt_2000
|
---|
64 | StrCmp $R1 '5.1' lbl_winnt_XP
|
---|
65 | StrCmp $R1 '5.2' lbl_winnt_2003
|
---|
66 | StrCmp $R1 '6.0' lbl_winnt_vista
|
---|
67 | StrCmp $R1 '6.1' lbl_winnt_7 lbl_error
|
---|
68 |
|
---|
69 | lbl_winnt_x:
|
---|
70 | StrCpy $R0 "NT $R0" 6
|
---|
71 | Goto lbl_done
|
---|
72 |
|
---|
73 | lbl_winnt_2000:
|
---|
74 | Strcpy $R0 '2000'
|
---|
75 | Goto lbl_done
|
---|
76 |
|
---|
77 | lbl_winnt_XP:
|
---|
78 | Strcpy $R0 'XP'
|
---|
79 | Goto lbl_done
|
---|
80 |
|
---|
81 | lbl_winnt_2003:
|
---|
82 | Strcpy $R0 '2003'
|
---|
83 | Goto lbl_done
|
---|
84 |
|
---|
85 | lbl_winnt_vista:
|
---|
86 | Strcpy $R0 'Vista'
|
---|
87 | Goto lbl_done
|
---|
88 |
|
---|
89 | lbl_winnt_7:
|
---|
90 | Strcpy $R0 '7'
|
---|
91 | Goto lbl_done
|
---|
92 |
|
---|
93 | lbl_error:
|
---|
94 | Strcpy $R0 ''
|
---|
95 | lbl_done:
|
---|
96 |
|
---|
97 | Pop $R1
|
---|
98 | Exch $R0
|
---|
99 |
|
---|
100 | FunctionEnd
|
---|
101 | !macroend
|
---|
102 | !insertmacro GetWindowsVersion ""
|
---|
103 | !insertmacro GetWindowsVersion "un."
|
---|
Note:
See
TracBrowser
for help on using the repository browser.