ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/make_win32/cfserver.nsi
Revision: 1.2
Committed: Thu Sep 7 19:50:57 2006 UTC (17 years, 8 months ago) by pippijn
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -0 lines
State: FILE REMOVED
Log Message:
removed visual studio project files. native win32 will not be supported

File Contents

# Content
1 !include "MUI.nsh"
2
3 ;Title Of Your Application
4 Name "Crossfire Server 1.8.0 snapshot"
5
6 VIAddVersionKey "ProductName" "Crossfire server installer"
7 VIAddVersionKey "Comments" "Website: http://crossfire.real-time.com"
8 VIAddVersionKey "FileDescription" "Crossfire server installer"
9 VIAddVersionKey "FileVersion" "1.8.0"
10 VIAddVersionKey "LegalCopyright" "Crossfire is released under the GPL."
11 VIProductVersion "1.8.0.0"
12
13 ;Do A CRC Check
14 CRCCheck On
15 SetCompressor /SOLID lzma
16
17 ;Output File Name
18 OutFile "CrossfireServer.exe"
19
20 ;License Page Introduction
21 LicenseText "You must agree to this license before installing."
22
23 ;The Default Installation Directory
24 InstallDir "$PROGRAMFILES\Crossfire Server"
25 InstallDirRegKey HKCU "Software\Crossfire Server" ""
26
27 !define MUI_ABORTWARNING
28
29 !insertmacro MUI_PAGE_WELCOME
30 !insertmacro MUI_PAGE_LICENSE "..\COPYING"
31 !insertmacro MUI_PAGE_COMPONENTS
32 !insertmacro MUI_PAGE_DIRECTORY
33 !insertmacro MUI_PAGE_INSTFILES
34 !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\Release_notes.txt"
35 !define MUI_FINISHPAGE_SHOWREADME_TEXT "Show release notes"
36 !insertmacro MUI_PAGE_FINISH
37
38 !insertmacro MUI_UNPAGE_WELCOME
39 !insertmacro MUI_UNPAGE_COMPONENTS
40 !insertmacro MUI_UNPAGE_INSTFILES
41 !insertmacro MUI_UNPAGE_FINISH
42
43
44 !insertmacro MUI_LANGUAGE "English"
45
46 Section "Crossfire Server (required)" cf
47 SectionIn RO
48 ;Install Files
49 SetOutPath $INSTDIR
50 SetCompress Auto
51 SetOverwrite IfNewer
52 File "ReleaseLog\crossfire32.exe"
53 File "Release_notes.txt"
54 File /oname=Changelog.rtf "..\changelog"
55 SetOutPath $INSTDIR\share
56 File "..\lib\archetypes"
57 File "..\lib\artifacts"
58 File "..\lib\attackmess"
59 File "..\lib\ban_file"
60 File "..\lib\bmaps"
61 File "..\lib\bmaps.paths"
62 File "..\lib\crossfire.0"
63 File "..\lib\crossfire.1"
64 File "..\lib\def_help"
65 File "..\lib\dm_file"
66 File "..\lib\exp_table"
67 File "..\lib\faces"
68 File "..\lib\forbid"
69 File "..\lib\formulae"
70 File "..\lib\image_info"
71 File "..\lib\materials"
72 File "..\lib\messages"
73 File "..\lib\motd"
74 File "..\lib\news"
75 File "..\lib\races"
76 File "..\lib\regions"
77 File "..\lib\rules"
78 File "..\lib\settings"
79 File "..\lib\smooth"
80 File "..\lib\animations"
81 File /oname=treasures "..\lib\treasures.bld"
82 SetOutPath $INSTDIR\share\help
83 File "..\lib\help\*.*"
84 SetOutPath $INSTDIR\share\wizhelp
85 File "..\lib\wizhelp\*.*"
86
87 ; Additional directories
88 CreateDirectory $INSTDIR\tmp
89 CreateDirectory $INSTDIR\var
90 CreateDirectory $INSTDIR\var\players
91 CreateDirectory $INSTDIR\var\template-maps
92 CreateDirectory $INSTDIR\var\unique-items
93 CreateDirectory $INSTDIR\var\datafiles
94
95 ; Write the uninstall keys for Windows
96 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Crossfire Server" "DisplayName" "Crossfire Server (remove only)"
97 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Crossfire Server" "UninstallString" "$INSTDIR\Uninst.exe"
98 WriteUninstaller "Uninst.exe"
99
100 ;Ask about Windows service
101 MessageBox MB_YESNO|MB_ICONQUESTION "Register Crossfire server as a Windows service?" /SD IDYES IDNO dont_install
102
103 ;Install service
104 DetailPrint "Registering service..."
105 ExecWait '"$INSTDIR\Crossfire32.exe" -regsrv'
106 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Crossfire Server" "ServiceInstalled" "1"
107
108 dont_install:
109 SectionEnd
110
111 Section "Python plugin" py
112 DetailPrint "Checking for Python24.dll..."
113 GetDllVersion "Python24.dll" $R0 $R1
114 IntOp $R2 $R0 / 0x00010000
115 IntOp $R3 $R0 & 0x0000FFFF
116 IntCmp $R2 2 0 wrong
117 IntCmp $R3 4 0 wrong
118 DetailPrint " found"
119 Goto ok
120 wrong:
121 MessageBox MB_YESNO|MB_ICONQUESTION "Couldn't find Python24.dll. Make sure Python is installed, and that Python24.dll is in your PATH.$\rServer may fail to start if this DLL is not found.$\rInstall plugin anyway?" /SD IDNO IDNO end
122 DetailPrint " install anyway."
123 ok:
124 SetOutPath $INSTDIR\share\plugins
125 File "plugin_python\ReleaseLog\plugin_python.dll"
126 end:
127 SectionEnd
128
129 Section /o "Animator plugin" anim
130 SetOutPath $INSTDIR\share\plugins
131 File "plugin_anim\ReleaseLog\plugin_animator.dll"
132 SectionEnd
133
134 Section "Menu Shortcuts" menus
135 ;Add Shortcuts
136 SetOutPath $INSTDIR
137 CreateDirectory "$SMPROGRAMS\Crossfire Server"
138 CreateShortCut "$SMPROGRAMS\Crossfire Server\Crossfire Server.lnk" "$INSTDIR\crossfire32.exe" "" "$INSTDIR\crossfire32.exe" 0
139 CreateShortCut "$SMPROGRAMS\Crossfire Server\Install as Windows service.lnk" "$INSTDIR\crossfire32.exe" "-regsrv" "$INSTDIR\crossfire32.exe" 0
140 CreateShortCut "$SMPROGRAMS\Crossfire Server\Uninstall Windows service.lnk" "$INSTDIR\crossfire32.exe" "-unregsrv" "$INSTDIR\crossfire32.exe" 0
141 CreateShortCut "$SMPROGRAMS\Crossfire Server\Release notes.lnk" "$INSTDIR\Release_notes.txt"
142 CreateShortCut "$SMPROGRAMS\Crossfire Server\Changelog.lnk" "$INSTDIR\Changelog.rtf"
143 CreateShortCut "$SMPROGRAMS\Crossfire Server\Uninstall.lnk" "$INSTDIR\uninst.exe" "" "$INSTDIR\uninst.exe" 0
144 SectionEnd
145
146 UninstallText "This will uninstall Crossfire Server from your system"
147
148 Section "un.Crossfire Server" un_cf
149 SectionIn RO
150 ;Unregister service if it was installed
151 ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Crossfire Server" "ServiceInstalled"
152 StrCmp $0 "1" 0 +2
153 ExecWait '"$INSTDIR\Crossfire32.exe" -unregsrv'
154
155 ;Delete Files
156 Delete "$INSTDIR\crossfire32.exe"
157 Delete "$INSTDIR\Changelog.rtf"
158 Delete "$INSTDIR\Share\plugins\python21.dll"
159 Delete "$INSTDIR\Release_notes.txt"
160 Delete "$INSTDIR\Share\treasures"
161 Delete "$INSTDIR\Share\archetypes"
162 Delete "$INSTDIR\Share\artifacts"
163 Delete "$INSTDIR\Share\attackmess"
164 Delete "$INSTDIR\Share\ban_file"
165 Delete "$INSTDIR\Share\bmaps"
166 Delete "$INSTDIR\Share\bmaps.paths"
167 Delete "$INSTDIR\Share\crossfire.0"
168 Delete "$INSTDIR\Share\crossfire.1"
169 Delete "$INSTDIR\Share\def_help"
170 Delete "$INSTDIR\Share\dm_file"
171 Delete "$INSTDIR\Share\exp_table"
172 Delete "$INSTDIR\Share\faces"
173 Delete "$INSTDIR\Share\forbid"
174 Delete "$INSTDIR\Share\formulae"
175 Delete "$INSTDIR\Share\image_info"
176 Delete "$INSTDIR\Share\materials"
177 Delete "$INSTDIR\Share\messages"
178 Delete "$INSTDIR\Share\motd"
179 Delete "$INSTDIR\Share\news"
180 Delete "$INSTDIR\Share\races"
181 Delete "$INSTDIR\Share\regions"
182 Delete "$INSTDIR\Share\rules"
183 Delete "$INSTDIR\Share\settings"
184 Delete "$INSTDIR\Share\smooth"
185 Delete "$INSTDIR\Share\animations"
186
187 ;Delete help files
188 RmDir /r "$INSTDIR\Share\Help"
189 RmDir /r "$INSTDIR\Share\WizHelp"
190
191 ;Delete plugins
192 RmDir /r "$INSTDIR\Share\Plugins"
193
194 ;Remove 'temp' directory
195 rmdir /r "$INSTDIR\tmp"
196
197 ;Remove some data files
198 Delete "$INSTDIR\Var\clockdata"
199 Delete "$INSTDIR\Var\crossfire.log"
200 Delete "$INSTDIR\Var\crossfiremail"
201
202 ;Delete Start Menu Shortcuts
203 RmDir /r "$SMPROGRAMS\Crossfire Server"
204
205 ;Delete Uninstaller And Unistall Registry Entries
206 Delete "$INSTDIR\Uninst.exe"
207 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Crossfire Server"
208 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Crossfire Server"
209 SectionEnd
210
211 Section "un.Player files and unique maps data" un_pl
212 ;Remove player data section
213 MessageBox MB_YESNO|MB_ICONEXCLAMATION "Warning, this will remove all player files, player data, and template maps!$\rAre you sure?" IDNO skip
214 RmDir /r "$INSTDIR\var\players"
215 RmDir /r "$INSTDIR\var\template-maps"
216 RmDir /r "$INSTDIR\var\unique-items"
217 RmDir /r "$INSTDIR\var\datafiles"
218 skip:
219 SectionEnd
220
221
222 Section -un.final_clean
223
224 ;Let's check for map uninstaller
225 IfFileExists "$INSTDIR\UninstMaps.exe" maps no_maps
226
227 maps:
228 MessageBox MB_YESNO|MB_ICONQUESTION "Do you want to also remove the maps?" IDNO no_maps
229
230 Banner::Show /NOUNLOAD /set 76 "Please wait" "Uninstalling maps..."
231
232 ;Remove maps, let's call the uninstaller in silent mode, and no copying itself somewhere else
233 ;(else ExecWait can't wait!)
234 ExecWait '"$INSTDIR\UninstMaps.exe" /S _?=$INSTDIR'
235 ;Need to remove installer, as it couldn't remove itself
236 Delete "$INSTDIR\UninstMaps.exe"
237
238 Banner::Destroy
239
240 no_maps:
241
242 ;Delete Share directory, if empty
243 Rmdir "$INSTDIR\share"
244
245 ;Remove 'var' directory if possible (no force, since user can leave player data)
246 rmdir "$INSTDIR\var"
247
248 ;Clean main directory if possible
249 RmDir "$INSTDIR"
250
251 SectionEnd
252
253 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
254 !insertmacro MUI_DESCRIPTION_TEXT ${cf} "Crossfire Server (required)."
255 !insertmacro MUI_DESCRIPTION_TEXT ${py} "Python plugin support. Enables post office and a few goodies. Python required."
256 !insertmacro MUI_DESCRIPTION_TEXT ${anim} "Animator plugin support. Experimental, use at your own risk!"
257 !insertmacro MUI_DESCRIPTION_TEXT ${menus} "Insert icons in Start Menu."
258 !insertmacro MUI_FUNCTION_DESCRIPTION_END
259
260 !insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
261 !insertmacro MUI_DESCRIPTION_TEXT ${un_cf} "Remove Crossfire Server."
262 !insertmacro MUI_DESCRIPTION_TEXT ${un_pl} "Remove ALL player data, as well as unique maps information."
263 !insertmacro MUI_UNFUNCTION_DESCRIPTION_END
264