aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/installers/windows/installer_template.nsi
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/installers/windows/installer_template.nsi256
1 files changed, 131 insertions, 125 deletions
diff --git a/linden/indra/newview/installers/windows/installer_template.nsi b/linden/indra/newview/installers/windows/installer_template.nsi
index 9da45dc..53c607c 100644
--- a/linden/indra/newview/installers/windows/installer_template.nsi
+++ b/linden/indra/newview/installers/windows/installer_template.nsi
@@ -69,6 +69,7 @@ DirText $(DirectoryChooseTitle) $(DirectoryChooseUpdate)
69DirText $(DirectoryChooseTitle) $(DirectoryChooseSetup) 69DirText $(DirectoryChooseTitle) $(DirectoryChooseSetup)
70!endif 70!endif
71 71
72
72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
73;;; Variables 74;;; Variables
74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -78,131 +79,9 @@ Var INSTFLAGS
78Var LANGFLAGS 79Var LANGFLAGS
79Var INSTSHORTCUT 80Var INSTSHORTCUT
80 81
81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 82;;; Function definitions should go before file includes, because the NSIS package
82;;; Sections 83;;; is a single stream of bytecodes + file data. So if your function definitions are at
83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 84;;; the end of the file it has to decompress the whole thing before it can call a function. JC
84Section "" ; (default section)
85
86SetShellVarContext all ; install for all users (if you change this, change it in the uninstall as well)
87
88; Start with some default values.
89StrCpy $INSTFLAGS "${INSTFLAGS}"
90StrCpy $INSTPROG "${INSTNAME}"
91StrCpy $INSTEXE "${INSTEXE}"
92StrCpy $INSTSHORTCUT "${SHORTCUT}"
93
94IfSilent +2
95Goto NOT_SILENT
96 Call CheckStartupParams ; Figure out where, what and how to install.
97NOT_SILENT:
98Call CheckWindowsVersion ; warn if on Windows 98/ME
99Call CheckIfAdministrator ; Make sure the user can install/uninstall
100Call CheckIfAlreadyCurrent ; Make sure that we haven't already installed this version
101Call CloseSecondLife ; Make sure we're not running
102Call RemoveNSIS ; Check for old NSIS install to remove
103
104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
105;;; Don't remove cache files during a regular install, removing the inventory cache on upgrades results in lots of damage to the servers.
106;Call RemoveCacheFiles ; Installing over removes potentially corrupted
107 ; VFS and cache files.
108
109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
110;;; Need to clean out shader files from previous installs to fix DEV-5663
111Call RemoveOldShaders
112
113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
114;;; Need to clean out old XUI files that predate skinning
115Call RemoveOldXUI
116
117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
118;;; Clear out old releasenotes.txt files. These are now on the public wiki.
119Call RemoveOldReleaseNotes
120
121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
122;;; Files
123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
124;; This placeholder is replaced by the complete list of all the files in the installer, by viewer_manifest.py
125%%INSTALL_FILES%%
126
127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
128; If this is a silent update, we don't need to re-create these shortcuts or registry entries.
129IfSilent POST_INSTALL
130
131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
132; Shortcuts in start menu
133CreateDirectory "$SMPROGRAMS\$INSTSHORTCUT"
134SetOutPath "$INSTDIR"
135CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT.lnk" \
136 "$INSTDIR\$INSTEXE" "$INSTFLAGS"
137
138!ifdef MUSEUM
139CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT Museum.lnk" \
140
141 "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple"
142CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT Museum Spanish.lnk" \
143
144 "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple -spanish"
145!endif
146
147WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Create Trial Account.url" \
148 "InternetShortcut" "URL" \
149 "http://www.secondlife.com/registration/"
150WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Your Account.url" \
151 "InternetShortcut" "URL" \
152 "http://www.secondlife.com/account/"
153CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\SL Scripting Language Help.lnk" \
154 "$INSTDIR\lsl_guide.html"
155CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\Uninstall $INSTSHORTCUT.lnk" \
156 '"$INSTDIR\uninst.exe"' '/P="$INSTPROG"'
157
158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
159; Other shortcuts
160SetOutPath "$INSTDIR"
161CreateShortCut "$DESKTOP\$INSTSHORTCUT.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS"
162CreateShortCut "$INSTDIR\$INSTSHORTCUT.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS"
163CreateShortCut "$INSTDIR\Uninstall $INSTSHORTCUT.lnk" \
164 '"$INSTDIR\uninst.exe"' '/P="$INSTPROG"'
165
166!ifdef MUSEUM
167CreateShortCut "$DESKTOP\$INSTSHORTCUT Museum.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple"
168
169CreateShortCut "$DESKTOP\$INSTSHORTCUT Museum Spanish.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple -spanish"
170
171CreateShortCut "$INSTDIR\$INSTSHORTCUT Museum.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple"
172
173CreateShortCut "$INSTDIR\$INSTSHORTCUT Museum Spanish.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple -spanish"
174
175!endif
176
177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
178; Write registry
179WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" "$INSTDIR"
180WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" "${VERSION_LONG}"
181WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Flags" "$INSTFLAGS"
182WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Shortcut" "$INSTSHORTCUT"
183WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Exe" "$INSTEXE"
184WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "DisplayName" "$INSTPROG (remove only)"
185WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "UninstallString" '"$INSTDIR\uninst.exe" /P="$INSTPROG"'
186
187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
188; Write URL registry info
189WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "(default)" "URL:Second Life"
190WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "URL Protocol" ""
191WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}\DefaultIcon" "" '"$INSTDIR\$INSTEXE"'
192WriteRegExpandStr HKEY_CLASSES_ROOT "${URLNAME}\shell\open\command" "" '"$INSTDIR\$INSTEXE" $INSTFLAGS -url "%1"'
193
194Goto WRITE_UNINST
195
196POST_INSTALL:
197; Run a post-executable script if necessary.
198Call PostInstallExe
199
200WRITE_UNINST:
201; write out uninstaller
202WriteUninstaller "$INSTDIR\uninst.exe"
203
204; end of default section
205SectionEnd
206 85
207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
208; PostInstallExe 87; PostInstallExe
@@ -981,4 +860,131 @@ Function un.onInit
981 860
982FunctionEnd 861FunctionEnd
983 862
863
864;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
865;;; Sections
866;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
867Section "" ; (default section)
868
869SetShellVarContext all ; install for all users (if you change this, change it in the uninstall as well)
870
871; Start with some default values.
872StrCpy $INSTFLAGS "${INSTFLAGS}"
873StrCpy $INSTPROG "${INSTNAME}"
874StrCpy $INSTEXE "${INSTEXE}"
875StrCpy $INSTSHORTCUT "${SHORTCUT}"
876
877IfSilent +2
878Goto NOT_SILENT
879 Call CheckStartupParams ; Figure out where, what and how to install.
880NOT_SILENT:
881Call CheckWindowsVersion ; warn if on Windows 98/ME
882Call CheckIfAdministrator ; Make sure the user can install/uninstall
883Call CheckIfAlreadyCurrent ; Make sure that we haven't already installed this version
884Call CloseSecondLife ; Make sure we're not running
885Call RemoveNSIS ; Check for old NSIS install to remove
886
887;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
888;;; Don't remove cache files during a regular install, removing the inventory cache on upgrades results in lots of damage to the servers.
889;Call RemoveCacheFiles ; Installing over removes potentially corrupted
890 ; VFS and cache files.
891
892;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
893;;; Need to clean out shader files from previous installs to fix DEV-5663
894Call RemoveOldShaders
895
896;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
897;;; Need to clean out old XUI files that predate skinning
898Call RemoveOldXUI
899
900;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
901;;; Clear out old releasenotes.txt files. These are now on the public wiki.
902Call RemoveOldReleaseNotes
903
904;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
905;;; Files
906;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
907;; This placeholder is replaced by the complete list of all the files in the installer, by viewer_manifest.py
908%%INSTALL_FILES%%
909
910;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
911; If this is a silent update, we don't need to re-create these shortcuts or registry entries.
912IfSilent POST_INSTALL
913
914;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
915; Shortcuts in start menu
916CreateDirectory "$SMPROGRAMS\$INSTSHORTCUT"
917SetOutPath "$INSTDIR"
918CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT.lnk" \
919 "$INSTDIR\$INSTEXE" "$INSTFLAGS"
920
921!ifdef MUSEUM
922CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT Museum.lnk" \
923
924 "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple"
925CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT Museum Spanish.lnk" \
926
927 "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple -spanish"
928!endif
929
930WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Create Trial Account.url" \
931 "InternetShortcut" "URL" \
932 "http://www.secondlife.com/registration/"
933WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Your Account.url" \
934 "InternetShortcut" "URL" \
935 "http://www.secondlife.com/account/"
936CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\SL Scripting Language Help.lnk" \
937 "$INSTDIR\lsl_guide.html"
938CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\Uninstall $INSTSHORTCUT.lnk" \
939 '"$INSTDIR\uninst.exe"' '/P="$INSTPROG"'
940
941;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
942; Other shortcuts
943SetOutPath "$INSTDIR"
944CreateShortCut "$DESKTOP\$INSTSHORTCUT.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS"
945CreateShortCut "$INSTDIR\$INSTSHORTCUT.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS"
946CreateShortCut "$INSTDIR\Uninstall $INSTSHORTCUT.lnk" \
947 '"$INSTDIR\uninst.exe"' '/P="$INSTPROG"'
948
949!ifdef MUSEUM
950CreateShortCut "$DESKTOP\$INSTSHORTCUT Museum.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple"
951
952CreateShortCut "$DESKTOP\$INSTSHORTCUT Museum Spanish.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple -spanish"
953
954CreateShortCut "$INSTDIR\$INSTSHORTCUT Museum.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple"
955
956CreateShortCut "$INSTDIR\$INSTSHORTCUT Museum Spanish.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple -spanish"
957
958!endif
959
960;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
961; Write registry
962WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" "$INSTDIR"
963WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" "${VERSION_LONG}"
964WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Flags" "$INSTFLAGS"
965WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Shortcut" "$INSTSHORTCUT"
966WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Exe" "$INSTEXE"
967WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "DisplayName" "$INSTPROG (remove only)"
968WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "UninstallString" '"$INSTDIR\uninst.exe" /P="$INSTPROG"'
969
970;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
971; Write URL registry info
972WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "(default)" "URL:Second Life"
973WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "URL Protocol" ""
974WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}\DefaultIcon" "" '"$INSTDIR\$INSTEXE"'
975WriteRegExpandStr HKEY_CLASSES_ROOT "${URLNAME}\shell\open\command" "" '"$INSTDIR\$INSTEXE" $INSTFLAGS -url "%1"'
976
977Goto WRITE_UNINST
978
979POST_INSTALL:
980; Run a post-executable script if necessary.
981Call PostInstallExe
982
983WRITE_UNINST:
984; write out uninstaller
985WriteUninstaller "$INSTDIR\uninst.exe"
986
987; end of default section
988SectionEnd
989
984;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; EOF ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 990;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; EOF ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;