diff options
Diffstat (limited to 'linden/indra/newview/installers/windows/installer_template.nsi')
-rw-r--r-- | linden/indra/newview/installers/windows/installer_template.nsi | 361 |
1 files changed, 217 insertions, 144 deletions
diff --git a/linden/indra/newview/installers/windows/installer_template.nsi b/linden/indra/newview/installers/windows/installer_template.nsi index 8ab7c4f..1b5226c 100644 --- a/linden/indra/newview/installers/windows/installer_template.nsi +++ b/linden/indra/newview/installers/windows/installer_template.nsi | |||
@@ -1,63 +1,70 @@ | |||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;;; @file viewer_manifest.py | 2 | ;; secondlife setup.nsi |
3 | ;;; @author James Cook, Don Kjer | 3 | ;; Copyright 2004-2007, Linden Research, Inc. |
4 | ;;; @brief NSIS script for creating a Windows installer. | 4 | ;; For info, see http://www.nullsoft.com/free/nsis/ |
5 | ;;; This file has variables expanded by viewer_manifest.py | 5 | ;; |
6 | ;;; to produce the complete nsi script file. | 6 | ;; NSIS 2.22 or higher required |
7 | ;;; For info, see http://www.nullsoft.com/free/nsis/ | 7 | ;; Author: James Cook, Don Kjer, Callum Prentice |
8 | ;;; NSIS 2.02 or higher required | 8 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
9 | ;;; | 9 | |
10 | ;;; Copyright (c) 2006-$CurrentYear$, Linden Research, Inc. | 10 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
11 | ;;; $License$ | ||
12 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
13 | |||
14 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
15 | ;;; Compiler flags | ||
16 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
17 | |||
18 | ;;; Detect NSIS compiler version | 11 | ;;; Detect NSIS compiler version |
19 | !define "NSIS${NSIS_VERSION}" | 12 | !define "NSIS${NSIS_VERSION}" |
20 | !ifdef "NSISv2.02" | "NSISv2.03" | "NSISv2.04" | "NSISv2.05" | "NSISv2.06" | 13 | !ifdef "NSISv2.02" | "NSISv2.03" | "NSISv2.04" | "NSISv2.05" | "NSISv2.06" |
21 | ;;; before 2.07 defaulted lzma to solid (whole file) | 14 | ;; before 2.07 defaulted lzma to solid (whole file) |
22 | SetCompressor lzma | 15 | SetCompressor lzma |
23 | !else | 16 | !else |
24 | ;;; after 2.07 required /solid for whole file compression | 17 | ;; after 2.07 required /solid for whole file compression |
25 | SetCompressor /solid lzma | 18 | SetCompressor /solid lzma |
26 | !endif | 19 | !endif |
27 | 20 | ||
21 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
22 | ;; Compiler flags | ||
23 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
28 | SetOverwrite on ; overwrite files | 24 | SetOverwrite on ; overwrite files |
29 | SetCompress auto ; compress iff saves space | 25 | SetCompress auto ; compress iff saves space |
30 | SetDatablockOptimize off ; only saves us 0.1%, not worth it | 26 | SetDatablockOptimize off ; only saves us 0.1%, not worth it |
31 | XPStyle on ; add an XP manifest to the installer | 27 | XPStyle on ; add an XP manifest to the installer |
32 | 28 | ||
33 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 29 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
34 | ;;; Project flags | 30 | ;;; Project flags |
35 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 31 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
36 | 32 | ||
37 | %%VERSION%% | 33 | %%VERSION%% |
38 | 34 | ||
39 | ;;; Tweak for different servers/builds (this placeholder is replaced by viewer_manifest.py) | 35 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
36 | ;; - language files - one for each language (or flavor thereof) | ||
37 | ;; (these files are in the same place as the nsi template but the python script generates a new nsi file in the | ||
38 | ;; application directory so we have to add a path to these include files) | ||
39 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
40 | #!include "installers\windows\lang_de.nsi" | ||
41 | !include "installers\windows\lang_en-us.nsi" | ||
42 | #!include "installers\windows\lang_ja.nsi" | ||
43 | !include "installers\windows\lang_ko.nsi" | ||
44 | |||
45 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
46 | ;; Tweak for different servers/builds (this placeholder is replaced by viewer_manifest.py) | ||
40 | %%GRID_VARS%% | 47 | %%GRID_VARS%% |
41 | 48 | ||
42 | Name ${INSTNAME} | 49 | Name ${INSTNAME} |
43 | 50 | ||
44 | SubCaption 0 " Setup" ; override "license agreement" text | 51 | SubCaption 0 $(LicenseSubTitleSetup) ; override "license agreement" text |
45 | 52 | ||
46 | BrandingText " " ; bottom of window text | 53 | BrandingText " " ; bottom of window text |
47 | Icon res\install_icon.ico ; our custom icon | 54 | Icon res\install_icon.ico ; our custom icon |
48 | UninstallIcon res\uninstall_icon.ico ; our custom icon | 55 | UninstallIcon res\uninstall_icon.ico ; our custom icon |
49 | WindowIcon on ; show our icon in left corner | 56 | WindowIcon on ; show our icon in left corner |
50 | BGGradient off ; no big background window | 57 | BGGradient off ; no big background window |
51 | CRCCheck on ; make sure CRC is OK | 58 | CRCCheck on ; make sure CRC is OK |
52 | InstProgressFlags smooth colored ; new colored smooth look | 59 | InstProgressFlags smooth colored ; new colored smooth look |
53 | ShowInstDetails nevershow ; no details, no "show" button | 60 | ShowInstDetails nevershow ; no details, no "show" button |
54 | SetOverwrite on ; stomp files by default | 61 | SetOverwrite on ; stomp files by default |
55 | AutoCloseWindow true ; after all files install, close window | 62 | AutoCloseWindow true ; after all files install, close window |
56 | 63 | ||
57 | !ifdef UPDATE | 64 | !ifdef UPDATE |
58 | LicenseText "This package will update Second Life to version ${VERSION_LONG}." "Next >" | 65 | LicenseText $(LicenseDescUpdate) $(LicenseDescNext) |
59 | !else | 66 | !else |
60 | LicenseText "This package will install Second Life on your computer." "Next >" | 67 | LicenseText $(LicenseDescSetup) $(LicenseDescNext) |
61 | !endif | 68 | !endif |
62 | 69 | ||
63 | LicenseData "releasenotes.txt" | 70 | LicenseData "releasenotes.txt" |
@@ -65,30 +72,30 @@ LicenseData "releasenotes.txt" | |||
65 | InstallDir "$PROGRAMFILES\${INSTNAME}" | 72 | InstallDir "$PROGRAMFILES\${INSTNAME}" |
66 | InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "" | 73 | InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "" |
67 | !ifdef UPDATE | 74 | !ifdef UPDATE |
68 | DirText "Installation Directory" "Select the Second Life directory to update:" | 75 | DirText $(DirectoryChooseTitle) $(DirectoryChooseUpdate) |
69 | !else | 76 | !else |
70 | DirText "Installation Directory" "Select the directory to install Second Life in:" | 77 | DirText $(DirectoryChooseTitle) $(DirectoryChooseSetup) |
71 | !endif | 78 | !endif |
72 | 79 | ||
73 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 80 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
74 | ;;; Variables | 81 | ;;; Variables |
75 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 82 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
76 | Var INSTPROG | 83 | Var INSTPROG |
77 | Var INSTEXE | 84 | Var INSTEXE |
78 | Var INSTFLAGS | 85 | Var INSTFLAGS |
86 | Var LANGFLAGS | ||
79 | Var INSTSHORTCUT | 87 | Var INSTSHORTCUT |
80 | 88 | ||
81 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 89 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
82 | ;;; Sections | 90 | ;;; Sections |
83 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 91 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
84 | |||
85 | Section "" ; (default section) | 92 | Section "" ; (default section) |
86 | 93 | ||
87 | SetShellVarContext all ; install for all users (if you change this, change it in the uninstall as well) | 94 | SetShellVarContext all ; install for all users (if you change this, change it in the uninstall as well) |
88 | 95 | ||
89 | |||
90 | ; Start with some default values. | 96 | ; Start with some default values. |
91 | StrCpy $INSTFLAGS "${INSTFLAGS}" | 97 | StrCpy $INSTFLAGS "${INSTFLAGS}" |
98 | StrCpy $INSTFLAGS "$INSTFLAGS $LANGFLAGS" | ||
92 | StrCpy $INSTPROG "${INSTNAME}" | 99 | StrCpy $INSTPROG "${INSTNAME}" |
93 | StrCpy $INSTEXE "${INSTEXE}" | 100 | StrCpy $INSTEXE "${INSTEXE}" |
94 | StrCpy $INSTSHORTCUT "${SHORTCUT}" | 101 | StrCpy $INSTSHORTCUT "${SHORTCUT}" |
@@ -103,21 +110,22 @@ Call CheckIfAlreadyCurrent ; Make sure that we haven't already installed this v | |||
103 | Call CloseSecondLife ; Make sure we're not running | 110 | Call CloseSecondLife ; Make sure we're not running |
104 | Call RemoveNSIS ; Check for old NSIS install to remove | 111 | Call RemoveNSIS ; Check for old NSIS install to remove |
105 | 112 | ||
113 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
106 | ;;; Don't remove cache files during a regular install, removing the inventory cache on upgrades results in lots of damage to the servers. | 114 | ;;; Don't remove cache files during a regular install, removing the inventory cache on upgrades results in lots of damage to the servers. |
107 | ;Call RemoveCacheFiles ; Installing over removes potentially corrupted | 115 | ;Call RemoveCacheFiles ; Installing over removes potentially corrupted |
108 | ; VFS and cache files. | 116 | ; VFS and cache files. |
109 | 117 | ||
110 | 118 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
111 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
112 | ;;; Files | 119 | ;;; Files |
113 | ;;; | 120 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
114 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
115 | ;; This placeholder is replaced by the complete list of all the files in the installer, by viewer_manifest.py | 121 | ;; This placeholder is replaced by the complete list of all the files in the installer, by viewer_manifest.py |
116 | %%INSTALL_FILES%% | 122 | %%INSTALL_FILES%% |
117 | 123 | ||
124 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
118 | ; If this is a silent update, we don't need to re-create these shortcuts or registry entries. | 125 | ; If this is a silent update, we don't need to re-create these shortcuts or registry entries. |
119 | IfSilent POST_INSTALL | 126 | IfSilent POST_INSTALL |
120 | 127 | ||
128 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
121 | ; Shortcuts in start menu | 129 | ; Shortcuts in start menu |
122 | CreateDirectory "$SMPROGRAMS\$INSTSHORTCUT" | 130 | CreateDirectory "$SMPROGRAMS\$INSTSHORTCUT" |
123 | SetOutPath "$INSTDIR" | 131 | SetOutPath "$INSTDIR" |
@@ -146,6 +154,7 @@ CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\SL Scripting Language Help.lnk" \ | |||
146 | CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\Uninstall $INSTSHORTCUT.lnk" \ | 154 | CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\Uninstall $INSTSHORTCUT.lnk" \ |
147 | '"$INSTDIR\uninst.exe"' '/P="$INSTPROG"' | 155 | '"$INSTDIR\uninst.exe"' '/P="$INSTPROG"' |
148 | 156 | ||
157 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
149 | ; Other shortcuts | 158 | ; Other shortcuts |
150 | SetOutPath "$INSTDIR" | 159 | SetOutPath "$INSTDIR" |
151 | CreateShortCut "$DESKTOP\$INSTSHORTCUT.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS" | 160 | CreateShortCut "$DESKTOP\$INSTSHORTCUT.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS" |
@@ -164,6 +173,7 @@ CreateShortCut "$INSTDIR\$INSTSHORTCUT Museum Spanish.lnk" "$INSTDIR\$INSTEXE" " | |||
164 | 173 | ||
165 | !endif | 174 | !endif |
166 | 175 | ||
176 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
167 | ; Write registry | 177 | ; Write registry |
168 | WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" "$INSTDIR" | 178 | WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" "$INSTDIR" |
169 | WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" "${VERSION_LONG}" | 179 | WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" "${VERSION_LONG}" |
@@ -173,6 +183,7 @@ WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Exe" | |||
173 | WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "DisplayName" "$INSTPROG (remove only)" | 183 | WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "DisplayName" "$INSTPROG (remove only)" |
174 | WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "UninstallString" '"$INSTDIR\uninst.exe" /P="$INSTPROG"' | 184 | WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "UninstallString" '"$INSTDIR\uninst.exe" /P="$INSTPROG"' |
175 | 185 | ||
186 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
176 | ; Write URL registry info | 187 | ; Write URL registry info |
177 | WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "(default)" "URL:Second Life" | 188 | WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "(default)" "URL:Second Life" |
178 | WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "URL Protocol" "" | 189 | WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "URL Protocol" "" |
@@ -192,10 +203,10 @@ WriteUninstaller "$INSTDIR\uninst.exe" | |||
192 | ; end of default section | 203 | ; end of default section |
193 | SectionEnd | 204 | SectionEnd |
194 | 205 | ||
195 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 206 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
196 | ; PostInstallExe | 207 | ; PostInstallExe |
197 | ; This just runs any post installation scripts. | 208 | ; This just runs any post installation scripts. |
198 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 209 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
199 | Function PostInstallExe | 210 | Function PostInstallExe |
200 | push $0 | 211 | push $0 |
201 | ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "PostInstallExe" | 212 | ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "PostInstallExe" |
@@ -204,11 +215,10 @@ push $0 | |||
204 | pop $0 | 215 | pop $0 |
205 | FunctionEnd | 216 | FunctionEnd |
206 | 217 | ||
207 | 218 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
208 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
209 | ; CheckStartupParameters | 219 | ; CheckStartupParameters |
210 | ; Sets INSTFLAGS, INSTPROG, and INSTEXE. | 220 | ; Sets INSTFLAGS, INSTPROG, and INSTEXE. |
211 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 221 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
212 | Function CheckStartupParams | 222 | Function CheckStartupParams |
213 | push $0 | 223 | push $0 |
214 | push $R0 | 224 | push $R0 |
@@ -237,7 +247,7 @@ push $R0 | |||
237 | Goto FINISHED | 247 | Goto FINISHED |
238 | 248 | ||
239 | ABORT: | 249 | ABORT: |
240 | MessageBox MB_OK "Could not find the program '$INSTPROG'. Silent update failed." | 250 | MessageBox MB_OK $(CheckStartupParamsMB) |
241 | Quit | 251 | Quit |
242 | 252 | ||
243 | FINISHED: | 253 | FINISHED: |
@@ -246,6 +256,9 @@ pop $R0 | |||
246 | pop $0 | 256 | pop $0 |
247 | FunctionEnd | 257 | FunctionEnd |
248 | 258 | ||
259 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
260 | ;; | ||
261 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
249 | Function un.CheckStartupParams | 262 | Function un.CheckStartupParams |
250 | push $0 | 263 | push $0 |
251 | push $R0 | 264 | push $R0 |
@@ -274,7 +287,7 @@ push $R0 | |||
274 | Goto FINISHED | 287 | Goto FINISHED |
275 | 288 | ||
276 | ABORT: | 289 | ABORT: |
277 | MessageBox MB_OK "Could not find the program '$INSTPROG'. Silent update failed." | 290 | MessageBox MB_OK $(CheckStartupParamsMB) |
278 | Quit | 291 | Quit |
279 | 292 | ||
280 | FINISHED: | 293 | FINISHED: |
@@ -283,26 +296,26 @@ pop $R0 | |||
283 | pop $0 | 296 | pop $0 |
284 | FunctionEnd | 297 | FunctionEnd |
285 | 298 | ||
286 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 299 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
287 | ;;; After install completes, offer readme file | 300 | ;;; After install completes, offer readme file |
288 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 301 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
289 | Function .onInstSuccess | 302 | Function .onInstSuccess |
290 | MessageBox MB_YESNO \ | 303 | MessageBox MB_YESNO \ |
291 | "Start Second Life now?" /SD IDYES IDNO NoReadme | 304 | $(InstSuccesssQuestion) /SD IDYES IDNO NoReadme |
292 | ; Assumes SetOutPath $INSTDIR | 305 | ; Assumes SetOutPath $INSTDIR |
293 | Exec '"$INSTDIR\$INSTEXE" $INSTFLAGS' | 306 | Exec '"$INSTDIR\$INSTEXE" $INSTFLAGS' |
294 | NoReadme: | 307 | NoReadme: |
295 | FunctionEnd | 308 | FunctionEnd |
296 | 309 | ||
297 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 310 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
298 | ; Remove old NSIS version. Modifies no variables. | 311 | ; Remove old NSIS version. Modifies no variables. |
299 | ; Does NOT delete the LindenWorld directory, or any | 312 | ; Does NOT delete the LindenWorld directory, or any |
300 | ; user files in that directory. | 313 | ; user files in that directory. |
301 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 314 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
302 | Function RemoveNSIS | 315 | Function RemoveNSIS |
303 | Push $0 | 316 | Push $0 |
304 | ; Grab the installation directory of the old version | 317 | ; Grab the installation directory of the old version |
305 | DetailPrint "Checking for old version..." | 318 | DetailPrint $(RemoveOldNSISVersion) |
306 | ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" | 319 | ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" |
307 | 320 | ||
308 | ; If key doesn't exist, skip uninstall | 321 | ; If key doesn't exist, skip uninstall |
@@ -323,9 +336,9 @@ Function RemoveNSIS | |||
323 | Pop $0 | 336 | Pop $0 |
324 | FunctionEnd | 337 | FunctionEnd |
325 | 338 | ||
326 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 339 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
327 | ; Make sure we're not on Windows 98 / ME | 340 | ; Make sure we're not on Windows 98 / ME |
328 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 341 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
329 | Function CheckWindowsVersion | 342 | Function CheckWindowsVersion |
330 | DetailPrint "Checking Windows version..." | 343 | DetailPrint "Checking Windows version..." |
331 | Call GetWindowsVersion | 344 | Call GetWindowsVersion |
@@ -339,46 +352,49 @@ Function CheckWindowsVersion | |||
339 | StrCmp $R0 "NT" win_ver_bad | 352 | StrCmp $R0 "NT" win_ver_bad |
340 | Return | 353 | Return |
341 | win_ver_bad: | 354 | win_ver_bad: |
342 | MessageBox MB_YESNO 'Second Life only supports Windows XP, Windows 2000, and Mac OS X.$\n$\nAttempting to install on Windows $R0 can result in crashes and data loss.$\n$\nInstall anyway?' IDNO win_ver_abort | 355 | MessageBox MB_YESNO $(CheckWindowsVersionMB) IDNO win_ver_abort |
343 | Return | 356 | Return |
344 | win_ver_abort: | 357 | win_ver_abort: |
345 | Quit | 358 | Quit |
346 | FunctionEnd | 359 | FunctionEnd |
347 | 360 | ||
348 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 361 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
349 | ; Make sure the user can install/uninstall | 362 | ; Make sure the user can install/uninstall |
350 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 363 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
351 | Function CheckIfAdministrator | 364 | Function CheckIfAdministrator |
352 | DetailPrint "Checking for permission to install..." | 365 | DetailPrint $(CheckAdministratorInstDP) |
353 | UserInfo::GetAccountType | 366 | UserInfo::GetAccountType |
354 | Pop $R0 | 367 | Pop $R0 |
355 | StrCmp $R0 "Admin" is_admin | 368 | StrCmp $R0 "Admin" is_admin |
356 | MessageBox MB_OK 'You appear to be using a "limited" account.$\nYou must be an "administrator" to install Second Life.' | 369 | MessageBox MB_OK $(CheckAdministratorInstMB) |
357 | Quit | 370 | Quit |
358 | is_admin: | 371 | is_admin: |
359 | Return | 372 | Return |
360 | FunctionEnd | 373 | FunctionEnd |
361 | 374 | ||
375 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
376 | ;; | ||
377 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
362 | Function un.CheckIfAdministrator | 378 | Function un.CheckIfAdministrator |
363 | DetailPrint "Checking for permission to uninstall..." | 379 | DetailPrint $(CheckAdministratorUnInstDP) |
364 | UserInfo::GetAccountType | 380 | UserInfo::GetAccountType |
365 | Pop $R0 | 381 | Pop $R0 |
366 | StrCmp $R0 "Admin" is_admin | 382 | StrCmp $R0 "Admin" is_admin |
367 | MessageBox MB_OK 'You appear to be using a "limited" account.$\nYou must be an "administrator" to uninstall Second Life.' | 383 | MessageBox MB_OK $(CheckAdministratorUnInstMB) |
368 | Quit | 384 | Quit |
369 | is_admin: | 385 | is_admin: |
370 | Return | 386 | Return |
371 | FunctionEnd | 387 | FunctionEnd |
372 | 388 | ||
373 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 389 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
374 | ; Checks to see if the current version has already been installed (according to the registry). | 390 | ; Checks to see if the current version has already been installed (according to the registry). |
375 | ; If it has, allow user to bail out of install process. | 391 | ; If it has, allow user to bail out of install process. |
376 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 392 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
377 | Function CheckIfAlreadyCurrent | 393 | Function CheckIfAlreadyCurrent |
378 | Push $0 | 394 | Push $0 |
379 | ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" | 395 | ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" |
380 | StrCmp $0 ${VERSION_LONG} 0 DONE | 396 | StrCmp $0 ${VERSION_LONG} 0 DONE |
381 | MessageBox MB_OKCANCEL "It appears that Second Life ${VERSION_LONG} is already installed.$\n$\nWould you like to install it again?" /SD IDOK IDOK DONE | 397 | MessageBox MB_OKCANCEL $(CheckIfCurrentMB) /SD IDOK IDOK DONE |
382 | Quit | 398 | Quit |
383 | 399 | ||
384 | DONE: | 400 | DONE: |
@@ -386,22 +402,21 @@ Function CheckIfAlreadyCurrent | |||
386 | Return | 402 | Return |
387 | FunctionEnd | 403 | FunctionEnd |
388 | 404 | ||
389 | 405 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
390 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
391 | ; Close the program, if running. Modifies no variables. | 406 | ; Close the program, if running. Modifies no variables. |
392 | ; Allows user to bail out of install process. | 407 | ; Allows user to bail out of install process. |
393 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 408 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
394 | Function CloseSecondLife | 409 | Function CloseSecondLife |
395 | Push $0 | 410 | Push $0 |
396 | FindWindow $0 "Second Life" "" | 411 | FindWindow $0 "Second Life" "" |
397 | IntCmp $0 0 DONE | 412 | IntCmp $0 0 DONE |
398 | MessageBox MB_OKCANCEL "Second Life can't be installed while it is already running.$\n$\nFinish what you're doing then select OK to close Second Life and continue.$\nSelect CANCEL to cancel installation." IDOK CLOSE IDCANCEL CANCEL_INSTALL | 413 | MessageBox MB_OKCANCEL $(CloseSecondLifeInstMB) IDOK CLOSE IDCANCEL CANCEL_INSTALL |
399 | 414 | ||
400 | CANCEL_INSTALL: | 415 | CANCEL_INSTALL: |
401 | Quit | 416 | Quit |
402 | 417 | ||
403 | CLOSE: | 418 | CLOSE: |
404 | DetailPrint "Waiting for Second Life to shut down..." | 419 | DetailPrint $(CloseSecondLifeInstDP) |
405 | SendMessage $0 16 0 0 | 420 | SendMessage $0 16 0 0 |
406 | 421 | ||
407 | LOOP: | 422 | LOOP: |
@@ -416,59 +431,59 @@ Function CloseSecondLife | |||
416 | FunctionEnd | 431 | FunctionEnd |
417 | 432 | ||
418 | 433 | ||
419 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 434 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
420 | ; Delete files in Documents and Settings\<user>\SecondLife\cache | 435 | ; Delete files in Documents and Settings\<user>\SecondLife\cache |
421 | ; Delete files in Documents and Settings\All Users\SecondLife\cache | 436 | ; Delete files in Documents and Settings\All Users\SecondLife\cache |
422 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 437 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
423 | Function RemoveCacheFiles | 438 | ;Function RemoveCacheFiles |
424 | 439 | ; | |
425 | ; Delete files in Documents and Settings\<user>\SecondLife | 440 | ;; Delete files in Documents and Settings\<user>\SecondLife |
426 | Push $0 | 441 | ;Push $0 |
427 | Push $1 | 442 | ;Push $1 |
428 | Push $2 | 443 | ;Push $2 |
429 | DetailPrint "Deleting cache files in Documents and Settings folder" | 444 | ; DetailPrint $(RemoveCacheFilesDP) |
430 | 445 | ; | |
431 | StrCpy $0 0 ; Index number used to iterate via EnumRegKey | 446 | ; StrCpy $0 0 ; Index number used to iterate via EnumRegKey |
432 | 447 | ; | |
433 | LOOP: | 448 | ; LOOP: |
434 | EnumRegKey $1 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" $0 | 449 | ; EnumRegKey $1 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" $0 |
435 | StrCmp $1 "" DONE ; no more users | 450 | ; StrCmp $1 "" DONE ; no more users |
436 | 451 | ; | |
437 | ReadRegStr $2 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$1" "ProfileImagePath" | 452 | ; ReadRegStr $2 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$1" "ProfileImagePath" |
438 | StrCmp $2 "" CONTINUE 0 ; "ProfileImagePath" value is missing | 453 | ; StrCmp $2 "" CONTINUE 0 ; "ProfileImagePath" value is missing |
439 | 454 | ; | |
440 | ; Required since ProfileImagePath is of type REG_EXPAND_SZ | 455 | ; ; Required since ProfileImagePath is of type REG_EXPAND_SZ |
441 | ExpandEnvStrings $2 $2 | 456 | ; ExpandEnvStrings $2 $2 |
442 | 457 | ; | |
443 | ; When explicitly uninstalling, everything goes away | 458 | ; ; When explicitly uninstalling, everything goes away |
444 | RMDir /r "$2\Application Data\SecondLife\cache" | 459 | ; RMDir /r "$2\Application Data\SecondLife\cache" |
445 | 460 | ; | |
446 | CONTINUE: | 461 | ; CONTINUE: |
447 | IntOp $0 $0 + 1 | 462 | ; IntOp $0 $0 + 1 |
448 | Goto LOOP | 463 | ; Goto LOOP |
449 | DONE: | 464 | ; DONE: |
450 | Pop $2 | 465 | ;Pop $2 |
451 | Pop $1 | 466 | ;Pop $1 |
452 | Pop $0 | 467 | ;Pop $0 |
453 | 468 | ; | |
454 | ; Delete files in Documents and Settings\All Users\SecondLife | 469 | ;; Delete files in Documents and Settings\All Users\SecondLife |
455 | Push $0 | 470 | ;Push $0 |
456 | ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Common AppData" | 471 | ; ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Common AppData" |
457 | StrCmp $0 "" +2 | 472 | ; StrCmp $0 "" +2 |
458 | RMDir /r "$0\SecondLife\cache" | 473 | ; RMDir /r "$0\SecondLife\cache" |
459 | Pop $0 | 474 | ;Pop $0 |
460 | 475 | ; | |
461 | ; Delete filse in C:\Windows\Application Data\SecondLife | 476 | ;; Delete filse in C:\Windows\Application Data\SecondLife |
462 | ; If the user is running on a pre-NT system, Application Data lives here instead of | 477 | ;; If the user is running on a pre-NT system, Application Data lives here instead of |
463 | ; in Documents and Settings. | 478 | ;; in Documents and Settings. |
464 | RMDir /r "$WINDIR\Application Data\SecondLife\cache" | 479 | ;RMDir /r "$WINDIR\Application Data\SecondLife\cache" |
465 | 480 | ; | |
466 | FunctionEnd | 481 | ;FunctionEnd |
467 | 482 | ||
468 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 483 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
469 | ; Delete files in Documents and Settings\<user>\SecondLife | 484 | ; Delete files in Documents and Settings\<user>\SecondLife |
470 | ; Delete files in Documents and Settings\All Users\SecondLife | 485 | ; Delete files in Documents and Settings\All Users\SecondLife |
471 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 486 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
472 | Function un.DocumentsAndSettingsFolder | 487 | Function un.DocumentsAndSettingsFolder |
473 | 488 | ||
474 | ; Delete files in Documents and Settings\<user>\SecondLife | 489 | ; Delete files in Documents and Settings\<user>\SecondLife |
@@ -522,21 +537,21 @@ RMDir /r "$WINDIR\Application Data\SecondLife" | |||
522 | 537 | ||
523 | FunctionEnd | 538 | FunctionEnd |
524 | 539 | ||
525 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 540 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
526 | ; Close the program, if running. Modifies no variables. | 541 | ; Close the program, if running. Modifies no variables. |
527 | ; Allows user to bail out of uninstall process. | 542 | ; Allows user to bail out of uninstall process. |
528 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 543 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
529 | Function un.CloseSecondLife | 544 | Function un.CloseSecondLife |
530 | Push $0 | 545 | Push $0 |
531 | FindWindow $0 "Second Life" "" | 546 | FindWindow $0 "Second Life" "" |
532 | IntCmp $0 0 DONE | 547 | IntCmp $0 0 DONE |
533 | MessageBox MB_OKCANCEL "Second Life can't be uninstalled while it is already running.$\n$\nFinish what you're doing then select OK to close Second Life and continue.$\nSelect CANCEL to cancel installation." IDOK CLOSE IDCANCEL CANCEL_UNINSTALL | 548 | MessageBox MB_OKCANCEL $(CloseSecondLifeUnInstMB) IDOK CLOSE IDCANCEL CANCEL_UNINSTALL |
534 | 549 | ||
535 | CANCEL_UNINSTALL: | 550 | CANCEL_UNINSTALL: |
536 | Quit | 551 | Quit |
537 | 552 | ||
538 | CLOSE: | 553 | CLOSE: |
539 | DetailPrint "Waiting for Second Life to shut down..." | 554 | DetailPrint $(CloseSecondLifeUnInstDP) |
540 | SendMessage $0 16 0 0 | 555 | SendMessage $0 16 0 0 |
541 | 556 | ||
542 | LOOP: | 557 | LOOP: |
@@ -550,7 +565,7 @@ Function un.CloseSecondLife | |||
550 | Return | 565 | Return |
551 | FunctionEnd | 566 | FunctionEnd |
552 | 567 | ||
553 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 568 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
554 | ;;; Delete the installed files | 569 | ;;; Delete the installed files |
555 | ;;; This deletes the uninstall executable, but it works | 570 | ;;; This deletes the uninstall executable, but it works |
556 | ;;; because it is copied to temp directory before running | 571 | ;;; because it is copied to temp directory before running |
@@ -558,7 +573,7 @@ FunctionEnd | |||
558 | ;;; Note: You must list all files here, because we only | 573 | ;;; Note: You must list all files here, because we only |
559 | ;;; want to delete our files, not things users left in the | 574 | ;;; want to delete our files, not things users left in the |
560 | ;;; application directories. | 575 | ;;; application directories. |
561 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 576 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
562 | Function un.ProgramFiles | 577 | Function un.ProgramFiles |
563 | 578 | ||
564 | ;; Remove mozilla file first so recursive directory deletion doesn't get hung up | 579 | ;; Remove mozilla file first so recursive directory deletion doesn't get hung up |
@@ -597,26 +612,26 @@ RMDir "$INSTDIR" | |||
597 | IfFileExists "$INSTDIR" FOLDERFOUND NOFOLDER | 612 | IfFileExists "$INSTDIR" FOLDERFOUND NOFOLDER |
598 | 613 | ||
599 | FOLDERFOUND: | 614 | FOLDERFOUND: |
600 | MessageBox MB_YESNO "There are still files in your SecondLife program directory.$\n$\nThese are possibly files you created or moved to:$\n$INSTDIR$\n$\nDo you want to remove them?" IDNO NOFOLDER | 615 | MessageBox MB_YESNO $(DeleteProgramFilesMB) IDNO NOFOLDER |
601 | RMDir /r "$INSTDIR" | 616 | RMDir /r "$INSTDIR" |
602 | 617 | ||
603 | NOFOLDER: | 618 | NOFOLDER: |
604 | 619 | ||
605 | FunctionEnd | 620 | FunctionEnd |
606 | 621 | ||
607 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 622 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
608 | ;;; Uninstall settings | 623 | ;;; Uninstall settings |
609 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 624 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
610 | UninstallText "This will uninstall Second Life ${VERSION_LONG} from your system." | 625 | UninstallText $(UninstallTextMsg) |
611 | ShowUninstDetails show | 626 | ShowUninstDetails show |
612 | 627 | ||
613 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 628 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
614 | ;;; Uninstall section | 629 | ;;; Uninstall section |
615 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 630 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
616 | Section Uninstall | 631 | Section Uninstall |
617 | 632 | ||
618 | ; Start with some default values. | 633 | ; Start with some default values. |
619 | StrCpy $INSTFLAGS "${INSTFLAGS}" | 634 | StrCpy $INSTFLAGS "" |
620 | StrCpy $INSTPROG "${INSTNAME}" | 635 | StrCpy $INSTPROG "${INSTNAME}" |
621 | StrCpy $INSTEXE "${INSTEXE}" | 636 | StrCpy $INSTEXE "${INSTEXE}" |
622 | StrCpy $INSTSHORTCUT "${SHORTCUT}" | 637 | StrCpy $INSTSHORTCUT "${SHORTCUT}" |
@@ -629,9 +644,10 @@ SetShellVarContext all | |||
629 | ; Make sure we're not running | 644 | ; Make sure we're not running |
630 | Call un.CloseSecondLife | 645 | Call un.CloseSecondLife |
631 | 646 | ||
632 | ; Clean up registry keys | 647 | ; Clean up registry keys (these should all be !defines somewhere) |
633 | DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" | 648 | DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" |
634 | DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" | 649 | DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" |
650 | DeleteRegKey HKEY_LOCAL_MACHINE "Software\Linden Research, Inc.\Installer Language" | ||
635 | 651 | ||
636 | ; Clean up shortcuts | 652 | ; Clean up shortcuts |
637 | Delete "$SMPROGRAMS\$INSTSHORTCUT\*.*" | 653 | Delete "$SMPROGRAMS\$INSTSHORTCUT\*.*" |
@@ -652,7 +668,7 @@ Call un.ProgramFiles | |||
652 | 668 | ||
653 | SectionEnd ; end of uninstall section | 669 | SectionEnd ; end of uninstall section |
654 | 670 | ||
655 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 671 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
656 | ; (From the NSIS wiki, DK) | 672 | ; (From the NSIS wiki, DK) |
657 | ; GetParameterValue | 673 | ; GetParameterValue |
658 | ; | 674 | ; |
@@ -667,7 +683,7 @@ SectionEnd ; end of uninstall section | |||
667 | ; or: | 683 | ; or: |
668 | ; foo.exe /S "/L=1033" /D="C:\Program Files\Foo" | 684 | ; foo.exe /S "/L=1033" /D="C:\Program Files\Foo" |
669 | ; gpv "/L=" "1033" | 685 | ; gpv "/L=" "1033" |
670 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 686 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
671 | 687 | ||
672 | !macro GetParameterValue SWITCH DEFAULT | 688 | !macro GetParameterValue SWITCH DEFAULT |
673 | Push $0 | 689 | Push $0 |
@@ -770,7 +786,7 @@ Function un.GetProgramName | |||
770 | !insertmacro GetParameterValue "/P=" "SecondLife" | 786 | !insertmacro GetParameterValue "/P=" "SecondLife" |
771 | FunctionEnd | 787 | FunctionEnd |
772 | 788 | ||
773 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 789 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
774 | ; (From the NSIS documentation, JC) | 790 | ; (From the NSIS documentation, JC) |
775 | ; GetWindowsVersion | 791 | ; GetWindowsVersion |
776 | ; | 792 | ; |
@@ -787,8 +803,7 @@ FunctionEnd | |||
787 | ; Call GetWindowsVersion | 803 | ; Call GetWindowsVersion |
788 | ; Pop $R0 | 804 | ; Pop $R0 |
789 | ; ; at this point $R0 is "NT 4.0" or whatnot | 805 | ; ; at this point $R0 is "NT 4.0" or whatnot |
790 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 806 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
791 | |||
792 | Function GetWindowsVersion | 807 | Function GetWindowsVersion |
793 | 808 | ||
794 | Push $R0 | 809 | Push $R0 |
@@ -860,3 +875,61 @@ Function GetWindowsVersion | |||
860 | Exch $R0 | 875 | Exch $R0 |
861 | 876 | ||
862 | FunctionEnd | 877 | FunctionEnd |
878 | |||
879 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
880 | ;; Note: to add new languages, add a language file include to the list | ||
881 | ;; at the top of this file, add an entry to the menu and then add an | ||
882 | ;; entry to the language ID selector below | ||
883 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
884 | Function .onInit | ||
885 | |||
886 | ; read the language from registry (ok if not there) and set langauge menu | ||
887 | ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "InstallerLanguage" | ||
888 | StrCpy $LANGUAGE $0 | ||
889 | |||
890 | Push "" | ||
891 | Push ${LANG_ENGLISH} | ||
892 | Push English | ||
893 | # Push ${LANG_GERMAN} | ||
894 | # Push German | ||
895 | # Push ${LANG_JAPANESE} | ||
896 | # Push Japanese | ||
897 | Push ${LANG_KOREAN} | ||
898 | Push Korean | ||
899 | Push A ; A means auto count languages for the auto count to work the first empty push (Push "") must remain | ||
900 | LangDLL::LangDialog "Installer Language" "Please select the language of the installer" | ||
901 | Pop $LANGUAGE | ||
902 | StrCmp $LANGUAGE "cancel" 0 +2 | ||
903 | Abort | ||
904 | |||
905 | ; save language in registry | ||
906 | WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "InstallerLanguage" $LANGUAGE | ||
907 | |||
908 | ; generate language ID that will be used as a command line arg | ||
909 | StrCmp $LANGUAGE "1042" 0 +3 | ||
910 | StrCpy $LANGFLAGS " -set SystemLanguage ko" | ||
911 | Goto EndOfFunc | ||
912 | # StrCmp $LANGUAGE "1041" 0 +3 | ||
913 | # StrCpy $LANGFLAGS " -set SystemLanguage ja" | ||
914 | # Goto EndOfFunc | ||
915 | # StrCmp $LANGUAGE "1031" 0 +3 | ||
916 | # StrCpy $LANGFLAGS " -set SystemLanguage de" | ||
917 | # Goto EndOfFunc | ||
918 | StrCmp $LANGUAGE "1033" 0 +3 | ||
919 | StrCpy $LANGFLAGS " -set SystemLanguage en-us" | ||
920 | Goto EndOfFunc | ||
921 | |||
922 | EndOfFunc: | ||
923 | |||
924 | FunctionEnd | ||
925 | |||
926 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
927 | Function un.onInit | ||
928 | |||
929 | ; read language from registry and set for ininstaller | ||
930 | ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "InstallerLanguage" | ||
931 | StrCpy $LANGUAGE $0 | ||
932 | |||
933 | FunctionEnd | ||
934 | |||
935 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; EOF ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; \ No newline at end of file | ||