opensim – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | eva | 1 | !verbose 3 |
2 | |||
3 | !define PRODUCT_NAME "Prebuild" |
||
4 | !define PRODUCT_VERSION "1.3.1" |
||
5 | !define PRODUCT_PUBLISHER "Prebuild" |
||
6 | !define PRODUCT_PACKAGE "prebuild" |
||
7 | !define PRODUCT_WEB_SITE "http://dnpb.sourceforge.net" |
||
8 | !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Prebuild" |
||
9 | !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\Prebuild" |
||
10 | !define PRODUCT_UNINST_ROOT_KEY "HKLM" |
||
11 | !define PRODUCT_PATH ".." |
||
12 | |||
13 | ;!define MUI_WELCOMEFINISHPAGE_BITMAP "PrebuildLogo.bmp" |
||
14 | ;!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH |
||
15 | ;!define MUI_UNWELCOMEFINISHPAGE_BITMAP "PrebuildLogo.bmp" |
||
16 | ;!define MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH |
||
17 | |||
18 | BrandingText "© 2003-2006 David Hudson, http://dnpb.sourceforge.net/" |
||
19 | SetCompressor lzma |
||
20 | CRCCheck on |
||
21 | |||
22 | ; File Association defines |
||
23 | ;!include "fileassoc.nsh" |
||
24 | |||
25 | ; MUI 1.67 compatible ------ |
||
26 | !include "MUI.nsh" |
||
27 | |||
28 | ; MUI Settings |
||
29 | !define MUI_ABORTWARNING |
||
30 | !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" |
||
31 | !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" |
||
32 | |||
33 | ;-------------------------------- |
||
34 | ;Variables |
||
35 | |||
36 | ;-------------------------------- |
||
37 | ;Installer Pages |
||
38 | |||
39 | ; Welcome page |
||
40 | !insertmacro MUI_PAGE_WELCOME |
||
41 | ; License page |
||
42 | !insertmacro MUI_PAGE_LICENSE "..\doc\license.txt" |
||
43 | ; Directory page |
||
44 | !insertmacro MUI_PAGE_DIRECTORY |
||
45 | |||
46 | ; Instfiles page |
||
47 | !insertmacro MUI_PAGE_INSTFILES |
||
48 | |||
49 | ; Finish page |
||
50 | !insertmacro MUI_PAGE_FINISH |
||
51 | |||
52 | ;------------------------------------ |
||
53 | ; Uninstaller pages |
||
54 | !insertmacro MUI_UNPAGE_CONFIRM |
||
55 | !insertmacro MUI_UNPAGE_INSTFILES |
||
56 | !insertmacro MUI_UNPAGE_FINISH |
||
57 | ;------------------------------------ |
||
58 | |||
59 | ; Language files |
||
60 | !insertmacro MUI_LANGUAGE "English" |
||
61 | |||
62 | ; Reserve files |
||
63 | !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS |
||
64 | |||
65 | ; MUI end ------ |
||
66 | |||
67 | Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" |
||
68 | OutFile "..\${PRODUCT_PACKAGE}-${PRODUCT_VERSION}-setup.exe" |
||
69 | InstallDir "$PROGRAMFILES\Prebuild" |
||
70 | InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" |
||
71 | ShowInstDetails show |
||
72 | ShowUnInstDetails show |
||
73 | |||
74 | ; .NET Framework check |
||
75 | ; http://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dnnetdep/html/redistdeploy1_1.asp |
||
76 | ; Section "Detecting that the .NET Framework 1.1 is installed" |
||
77 | Function .onInit |
||
78 | ReadRegDWORD $R0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322" Install |
||
79 | StrCmp $R0 "" 0 CheckPreviousVersion |
||
80 | MessageBox MB_OK "Microsoft .NET Framework 1.1 was not found on this system.$\r$\n$\r$\nUnable to continue this installation." |
||
81 | Abort |
||
82 | |||
83 | CheckPreviousVersion: |
||
84 | ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" |
||
85 | StrCmp $R0 "" CheckOSVersion 0 |
||
86 | MessageBox MB_OK "An old version of Prebuild is installed on this computer, please uninstall first.$\r$\n$\r$\nUnable to continue this installation." |
||
87 | Abort |
||
88 | |||
89 | CheckOSVersion: |
||
90 | Call IsSupportedWindowsVersion |
||
91 | Pop $R0 |
||
92 | StrCmp $R0 "False" NoAbort 0 |
||
93 | MessageBox MB_OK "The operating system you are using is not supported by Prebuild (95/98/ME/NT3.x/NT4.x)." |
||
94 | Abort |
||
95 | |||
96 | NoAbort: |
||
97 | FunctionEnd |
||
98 | |||
99 | Section "Source" SecSource |
||
100 | SetOverwrite ifnewer |
||
101 | SetOutPath "$INSTDIR\src" |
||
102 | File /r /x *.swp /x .svn /x *.xml /x *.csproj /x *.user /x *.build /x *.prjx /x *.mdp /x bin /x obj /x *.nsi ${PRODUCT_PATH}\src\*.* |
||
103 | |||
104 | ;Store installation folder |
||
105 | WriteRegStr HKCU "Software\Prebuild" "" $INSTDIR |
||
106 | |||
107 | SectionEnd |
||
108 | |||
109 | Section "Runtime" SecRuntime |
||
110 | SetOverwrite ifnewer |
||
111 | SetOutPath "$INSTDIR" |
||
112 | File /r /x *.swp /x .svn /x *.nsi /x src /x *.sln /x *.cmbx /x *.mds ${PRODUCT_PATH}\Prebuild.exe ${PRODUCT_PATH}\prebuild.xml |
||
113 | |||
114 | ;Store installation folder |
||
115 | WriteRegStr HKCU "Software\Prebuild" "" $INSTDIR |
||
116 | |||
117 | SectionEnd |
||
118 | |||
119 | Section "Documentation" SecDocs |
||
120 | SetOverwrite ifnewer |
||
121 | SetOutPath "$INSTDIR\doc" |
||
122 | File /r /x *.swp /x .svn /x *.exe ${PRODUCT_PATH}\doc\*.* |
||
123 | |||
124 | ;Store installation folder |
||
125 | WriteRegStr HKCU "Software\Prebuild" "" $INSTDIR |
||
126 | SectionEnd |
||
127 | |||
128 | Section "Scripts" SecScripts |
||
129 | SetOverwrite ifnewer |
||
130 | SetOutPath "$INSTDIR\scripts" |
||
131 | File /r /x *.swp /x .svn /x *.nsi /x *.exe ${PRODUCT_PATH}\scripts\*.* |
||
132 | |||
133 | ;Store installation folder |
||
134 | WriteRegStr HKCU "Software\Prebuild" "" $INSTDIR |
||
135 | SectionEnd |
||
136 | |||
137 | ;Language strings |
||
138 | |||
139 | Section -AdditionalIcons |
||
140 | WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" |
||
141 | SectionEnd |
||
142 | |||
143 | Section -Post |
||
144 | WriteUninstaller "$INSTDIR\uninst.exe" |
||
145 | WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" |
||
146 | WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" |
||
147 | WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" |
||
148 | WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" |
||
149 | WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" |
||
150 | SectionEnd |
||
151 | |||
152 | Section Uninstall |
||
153 | |||
154 | DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" |
||
155 | DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" |
||
156 | RMDir /r "$INSTDIR" |
||
157 | |||
158 | SectionEnd |
||
159 | |||
160 | ; GetWindowsVersion, taken from NSIS help, modified for our purposes |
||
161 | Function IsSupportedWindowsVersion |
||
162 | |||
163 | Push $R0 |
||
164 | Push $R1 |
||
165 | |||
166 | ReadRegStr $R0 HKLM \ |
||
167 | "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion |
||
168 | |||
169 | IfErrors 0 lbl_winnt |
||
170 | |||
171 | ; we are not NT |
||
172 | ReadRegStr $R0 HKLM \ |
||
173 | "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber |
||
174 | |||
175 | StrCpy $R1 $R0 1 |
||
176 | StrCmp $R1 '4' 0 lbl_error |
||
177 | |||
178 | StrCpy $R1 $R0 3 |
||
179 | |||
180 | StrCmp $R1 '4.0' lbl_win32_95 |
||
181 | StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98 |
||
182 | |||
183 | lbl_win32_95: |
||
184 | StrCpy $R0 'False' |
||
185 | Goto lbl_done |
||
186 | |||
187 | lbl_win32_98: |
||
188 | StrCpy $R0 'False' |
||
189 | Goto lbl_done |
||
190 | |||
191 | lbl_win32_ME: |
||
192 | StrCpy $R0 'False' |
||
193 | Goto lbl_done |
||
194 | |||
195 | lbl_winnt: |
||
196 | |||
197 | StrCpy $R1 $R0 1 |
||
198 | |||
199 | StrCmp $R1 '3' lbl_winnt_x |
||
200 | StrCmp $R1 '4' lbl_winnt_x |
||
201 | |||
202 | StrCpy $R1 $R0 3 |
||
203 | |||
204 | StrCmp $R1 '5.0' lbl_winnt_2000 |
||
205 | StrCmp $R1 '5.1' lbl_winnt_XP |
||
206 | StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error |
||
207 | |||
208 | lbl_winnt_x: |
||
209 | StrCpy $R0 'False' |
||
210 | Goto lbl_done |
||
211 | |||
212 | lbl_winnt_2000: |
||
213 | Strcpy $R0 'True' |
||
214 | Goto lbl_done |
||
215 | |||
216 | lbl_winnt_XP: |
||
217 | Strcpy $R0 'True' |
||
218 | Goto lbl_done |
||
219 | |||
220 | lbl_winnt_2003: |
||
221 | Strcpy $R0 'True' |
||
222 | Goto lbl_done |
||
223 | |||
224 | lbl_error: |
||
225 | Strcpy $R0 'False' |
||
226 | lbl_done: |
||
227 | |||
228 | Pop $R1 |
||
229 | Exch $R0 |
||
230 | |||
231 | FunctionEnd |