e2f6260588cb3d94446d31ff7d08f697600b43d3
[xboard.git] / winboard / install / installer / wb440.nsi
1 ; WinBoard-4.4.0 MUI\r
2 ;\r
3 ;\r
4 \r
5 !define FILES "..\..\"\r
6 !define ROOT "${FILES}Chess\"\r
7 !define FNTDIR "${FILES}Chess\RePackage\"\r
8 \r
9 ; grab the FontName plugin from NSIS for these\r
10 !include FontRegAdv.nsh\r
11 !include FontName.nsh\r
12 \r
13 ;--------------------------------\r
14 ;Include Modern UI\r
15 !include "MUI.nsh"\r
16 \r
17 ;--------------------------------\r
18 \r
19 !define InstName "WinBoard"\r
20 !define InstVersion "4.4.0beta2"\r
21 !define InstBaseDir "WinBoard-4.4.0"\r
22 \r
23 ;--------------------------------\r
24 ; General\r
25 ;\r
26 \r
27 Name "${InstName} ${InstVersion}"\r
28 Caption "WinBoard - Chessboard For Windows"\r
29 OutFile "WinBoard-4.4.0beta2.exe"\r
30 InstallDir $PROGRAMFILES\${InstBaseDir}\r
31 \r
32 SetCompressor lzma\r
33 SetDateSave on\r
34 SetDatablockOptimize on\r
35 CRCCheck on\r
36 SilentInstall normal\r
37 ;BGGradient 000000 4682b4 FFFFFF\r
38 ;XPStyle on\r
39 \r
40 ;--------------------------------\r
41 ;Variables\r
42 \r
43   Var INI_VALUE\r
44   Var START_MENU_FOLDER\r
45   Var MUI_TEMP\r
46 \r
47 ;--------------------------------\r
48 \r
49 \r
50 ;!define MUI_ICON "knight.ico"\r
51 ;!define MUI_UNICON "wc_uninst.ico"\r
52 !define MUI_WELCOMEFINISHPAGE_BITMAP "welcome_chess.bmp"\r
53 \r
54 ;--------------------------------\r
55 ;Interface Settings\r
56 \r
57     !define MUI_ABORTWARNING\r
58     ;!define MUI_COMPONENTSPAGE_NODESC\r
59     !define MUI_COMPONENTSPAGE_SMALLDESC\r
60     !define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of ${InstName} ${InstVersion}.\n\n\n\n\nClick Next to continue."\r
61     !define MUI_LICENSEPAGE_TEXT_BOTTOM "$\nPress Continue to proceed with the installation."\r
62     !define MUI_LICENSEPAGE_BUTTON "Continue"\r
63 \r
64 ;--------------------------------\r
65 \r
66 ;--------------------------------\r
67 ; Pages\r
68 \r
69     ; Install Section\r
70     ;--------------------------------------------------------------------\r
71     !insertmacro MUI_PAGE_WELCOME\r
72     !insertmacro MUI_PAGE_LICENSE "${ROOT}WinBoard\doc\COPYRIGHTS.txt"\r
73     !insertmacro MUI_PAGE_COMPONENTS\r
74     Page custom FileAssoc\r
75     !insertmacro MUI_PAGE_DIRECTORY\r
76 \r
77     ;Start Menu Folder Page Configuration\r
78         !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"\r
79         !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\WinBoard"\r
80         !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"\r
81     !insertmacro MUI_PAGE_STARTMENU Application $START_MENU_FOLDER\r
82 \r
83     !insertmacro MUI_PAGE_INSTFILES\r
84     !insertmacro MUI_PAGE_FINISH\r
85     ;--------------------------------------------------------------------\r
86 \r
87     ; Uninstall Section\r
88     ;\r
89     ;!define MUI_WELCOMEPAGE_TEXT "WARNING! THIS UNINSTALLER WILL COMPLETELY DELETE THE INSTALLATION DIRECTORY\n\n$INSTDIR !!!\n\nIF THERE ARE ANY FILES YOU WISH TO SAVE, MOVE THEM FROM THE INSTALLATION DIRECTORY FIRST!\n\n\n\nPress Next to Continue."\r
90     !define MUI_WELCOMEPAGE_TEXT "This will uninstall WinBoard from directory:\n\n$INSTDIR\n\n\n\nPress Next to Continue."\r
91     !insertmacro MUI_UNPAGE_WELCOME\r
92     !insertmacro MUI_UNPAGE_CONFIRM\r
93     !insertmacro MUI_UNPAGE_INSTFILES\r
94     !insertmacro MUI_UNPAGE_FINISH\r
95 \r
96 ;--------------------------------\r
97 ;Languages\r
98 \r
99   !insertmacro MUI_LANGUAGE "English"\r
100 \r
101 ;--------------------------------\r
102 \r
103 ;--------------------------------\r
104 ;Reserve Files\r
105 \r
106   ;These files should be inserted before other files in the data block\r
107   ;Keep these lines before any File command\r
108   ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)\r
109 \r
110   ReserveFile "FA.ini"\r
111   !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS\r
112 \r
113 ;--------------------------------\r
114 \r
115 Section "WinBoard Core Components" Core\r
116 \r
117 SectionIn 1 RO\r
118 \r
119 \r
120     SetOutPath "$INSTDIR\WinBoard\doc"\r
121     File "${ROOT}WinBoard\doc\fonts.html"\r
122     File "${ROOT}WinBoard\doc\manual.html"\r
123     File "${ROOT}WinBoard\doc\UCIconfig.html"\r
124     File "${ROOT}WinBoard\doc\shortcuts.html"\r
125     File "${ROOT}WinBoard\doc\texture.html"\r
126     File "${ROOT}WinBoard\doc\engine-intf.html"\r
127     File "${ROOT}WinBoard\doc\FAQ.html"\r
128     File "${ROOT}WinBoard\doc\mini.gif"\r
129     File "${ROOT}WinBoard\doc\PG2fruit.png"\r
130     File "${ROOT}WinBoard\doc\zippy.README"\r
131     File "${ROOT}WinBoard\doc\README.html"\r
132     File "${ROOT}WinBoard\doc\COPYRIGHTS.txt"\r
133     File "${ROOT}WinBoard\doc\COPYRIGHT.txt"\r
134     File "${ROOT}WinBoard\doc\COPYING.txt"\r
135 \r
136     ; logo bitmaps for ICS and users\r
137     SetOutPath "$INSTDIR\WinBoard\logos"\r
138     File "${ROOT}WinBoard\logos\chessclub.com.bmp"\r
139     File "${ROOT}WinBoard\logos\freechess.org.bmp"\r
140     File "${ROOT}WinBoard\logos\administrator.bmp"\r
141     File "${ROOT}WinBoard\logos\user.bmp"\r
142     File "${ROOT}WinBoard\logos\guest.bmp"\r
143     File "${ROOT}WinBoard\logos\README.txt"\r
144 \r
145     ; Polyglot ini files; fruit.ini always supplied (even if Fruit not installed) as example\r
146     SetOutPath "$INSTDIR\WinBoard\PG"\r
147     File "${ROOT}WinBoard\PG\fruit.ini"\r
148 \r
149     ; bitmaps for board squares; xqboard is an entire (even-colored) board grid\r
150     SetOutPath "$INSTDIR\Winboard\textures"\r
151     File "${ROOT}WinBoard\textures\marble_d.bmp"\r
152     File "${ROOT}WinBoard\textures\marble_l.bmp"\r
153     File "${ROOT}WinBoard\textures\wood_d.bmp"\r
154     File "${ROOT}WinBoard\textures\wood_l.bmp"\r
155     File "${ROOT}WinBoard\textures\xqboard.bmp"\r
156 \r
157     StrCpy $FONT_DIR $FONTS\r
158     !insertmacro InstallTTF '${FNTDIR}MARKFONT.TTF'\r
159     SendMessage ${HWND_BROADCAST} ${WM_FONTCHANGE} 0 0 /TIMEOUT=5000\r
160 \r
161     ; the small ini files contain the command-line options used by the shortcuts\r
162     SetOutPath "$INSTDIR\Winboard"\r
163     File "${ROOT}Winboard\winboard.ini"\r
164     File "${ROOT}Winboard\wood.ini"\r
165     File "${ROOT}Winboard\marble.ini"\r
166     File "${ROOT}WinBoard\ChessMark.ini"\r
167     File "${ROOT}Winboard\fairy.ini"\r
168     File "${ROOT}Winboard\FICS.ini"\r
169     File "${ROOT}Winboard\fruit.ini"\r
170     File "${ROOT}Winboard\Gothic.ini"\r
171     File "${ROOT}Winboard\ICC.ini"\r
172     File "${ROOT}Winboard\ICSbot.ini"\r
173     File "${ROOT}Winboard\viewer.ini"\r
174     File "${ROOT}Winboard\winboard.exe"\r
175     File "${ROOT}Winboard\polyglot.exe"\r
176     File "${ROOT}Winboard\timeseal.exe"\r
177     File "${ROOT}Winboard\timestamp.exe"\r
178     File "${ROOT}Winboard\winboard.chm"\r
179     File "${ROOT}Winboard\winboard.hlp"\r
180     File "${ROOT}Winboard\default_book.bin"\r
181 \r
182     ;Create uninstaller\r
183     WriteUninstaller "$INSTDIR\UnInstall.exe"\r
184 \r
185       ; create some shortcuts in the WinBoard folder\r
186         CreateShortCut "$INSTDIR\WinBoard\PGN Viewer.lnk" "$INSTDIR\WinBoard\winboard.exe" "@viewer" "$INSTDIR\WinBoard\winboard.exe" 0\r
187         CreateShortCut "$INSTDIR\WinBoard\ICC.lnk" "$INSTDIR\WinBoard\winboard.exe" "@ICC" "$INSTDIR\WinBoard\winboard.exe" 0\r
188         CreateShortCut "$INSTDIR\WinBoard\FICS.lnk" "$INSTDIR\WinBoard\winboard.exe" "@FICS" "$INSTDIR\WinBoard\winboard.exe" 0\r
189         CreateShortCut "$INSTDIR\WinBoard\Fairy-Max ICS bot.lnk" "$INSTDIR\WinBoard\winboard.exe" "@ICSbot" "$INSTDIR\WinBoard\winboard.exe" 0\r
190         CreateShortCut "$INSTDIR\WinBoard\my WinBoard.lnk" "$INSTDIR\WinBoard\winboard.exe" "@marble @ChessMark" "$INSTDIR\WinBoard\winboard.exe" 0\r
191         CreateShortCut "$INSTDIR\WinBoard\Fruit.lnk" "$INSTDIR\WinBoard\winboard.exe" "@fruit" "$INSTDIR\WinBoard\winboard.exe" 0\r
192         CreateShortCut "$INSTDIR\WinBoard\Fairy-Max.lnk" "$INSTDIR\WinBoard\winboard.exe" "@fairy" "$INSTDIR\WinBoard\winboard.exe" 0\r
193 \r
194         !insertmacro MUI_STARTMENU_WRITE_BEGIN Application\r
195         CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER"\r
196         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Game Viewer.lnk" "$INSTDIR\WinBoard\winboard.exe" "@viewer" "$INSTDIR\WinBoard\winboard.exe" 1\r
197         ;CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\WinBoard Help.lnk" "$INSTDIR\WinBoard\winboard.hlp"\r
198         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Frequently Asked Questions.lnk" "$INSTDIR\WinBoard\doc\FAQ.html"\r
199         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\WinBoard Gold Pack README.lnk" "$INSTDIR\WinBoard\doc\README.html"\r
200         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\WinBoard UnInstall.lnk" "$INSTDIR\UnInstall.exe"\r
201         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\WinBoard Files.lnk" "$INSTDIR\WinBoard"\r
202         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Server - chessclub.com.lnk" "$INSTDIR\WinBoard\winboard.exe"  "@ICC" "$INSTDIR\WinBoard\winboard.exe" 0\r
203         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Server - freechess.org.lnk" "$INSTDIR\WinBoard\winboard.exe"  "@FICS" "$INSTDIR\WinBoard\winboard.exe" 0\r
204         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Fancy-Look WinBoard.lnk" "$INSTDIR\WinBoard\winboard.exe" "@marble @ChessMark" "$INSTDIR\WinBoard\winboard.exe" 2\r
205         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\WinBoard Startup Dialog.lnk" "$INSTDIR\WinBoard\winboard.exe" "" "$INSTDIR\WinBoard\winboard.exe" 2\r
206         !insertmacro MUI_STARTMENU_WRITE_END\r
207 \r
208 SectionEnd\r
209 \r
210 SectionGroup /e "Auxiliary Components and Engines" Profiles\r
211 \r
212     Section "Fairy-Max Demo Engine" fmax\r
213         SectionIn 1 RO\r
214         ; Fairy-Max is so small it can always be included, to have at least one working engine\r
215         SetOutPath "$INSTDIR\Fairy-Max"\r
216         File "${ROOT}Fairy-Max\fmax.exe"\r
217         File "${ROOT}Fairy-Max\MaxQi.exe"\r
218         File "${ROOT}Fairy-Max\fmax.ini"\r
219         File "${ROOT}Fairy-Max\qmax.ini"\r
220         File "${ROOT}Fairy-Max\logo.bmp"\r
221 \r
222         ; also create a menu item to play Xiangqi with MaxQi. It is put with the Chess Engines becase it uses western-style board\r
223           SetOutPath $INSTDIR\WinBoard\r
224         CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines"\r
225         !insertmacro MUI_STARTMENU_WRITE_BEGIN Application\r
226         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\Fairy-Max.lnk" "$INSTDIR\WinBoard\winboard.exe" "@fairy" "$INSTDIR\Fairy-Max\fmax.exe" 0\r
227         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\MaxQi (XQ).lnk" "$INSTDIR\WinBoard\winboard.exe" "@fairy -fcp MaxQi -scp MaxQi -variant xiangqi" "$INSTDIR\Fairy-Max\MaxQi.exe" 0\r
228         !insertmacro MUI_STARTMENU_WRITE_END\r
229     SectionEnd\r
230 \r
231     Section "Fruit 2.1" Fruit\r
232         ; we include no separate book for Fruit, as it can use the GUI book. It is mostly included to provide a UCI example\r
233         SetOutPath "$INSTDIR\Fruit"\r
234         File "${ROOT}Fruit\copying.txt"\r
235         File "${ROOT}Fruit\fruit_21.exe"\r
236         File "${ROOT}Fruit\logo.bmp"\r
237         File "${ROOT}Fruit\readme.txt"\r
238         File "${ROOT}Fruit\technical_10.txt"\r
239 \r
240           SetOutPath $INSTDIR\WinBoard\r
241         CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines"\r
242         !insertmacro MUI_STARTMENU_WRITE_BEGIN Application\r
243         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\Fruit 2.1.lnk" "$INSTDIR\WinBoard\winboard.exe" "@fruit" "$INSTDIR\WinBoard\winboard.exe" 2\r
244         !insertmacro MUI_STARTMENU_WRITE_END\r
245     SectionEnd\r
246 \r
247   Section "Tournament Manager" Tournaments\r
248     SetOutPath "$INSTDIR\PSWBTM\doc"\r
249     File "${ROOT}PSWBTM\doc\configure.html"\r
250     File "${ROOT}PSWBTM\doc\install.html"\r
251     File "${ROOT}PSWBTM\doc\running.html"\r
252     File "${ROOT}PSWBTM\doc\tourney.html"\r
253     File "${ROOT}PSWBTM\doc\menu.png"\r
254     File "${ROOT}PSWBTM\doc\conf.png"\r
255     File "${ROOT}PSWBTM\doc\eman.png"\r
256     File "${ROOT}PSWBTM\doc\pswbtm.png"\r
257     File "${ROOT}PSWBTM\doc\tour.png"\r
258 \r
259     CreateDirectory "$INSTDIR\PSWBTM\games"\r
260 \r
261     SetOutPath "$INSTDIR\PSWBTM\start positions"\r
262     File "${ROOT}PSWBTM\start positions\nunn.pgn"\r
263     File "${ROOT}PSWBTM\start positions\silver.epd"\r
264 \r
265     SetOutPath "$INSTDIR\PSWBTM"\r
266     File "${ROOT}PSWBTM\config.pswbtm"\r
267     File "${ROOT}PSWBTM\engines.pswbtm"\r
268     File "${ROOT}PSWBTM\ntls.pswbtm"\r
269     File "${ROOT}PSWBTM\PSWBTM.exe"\r
270     File "${ROOT}PSWBTM\README.txt"\r
271   SectionEnd\r
272 \r
273     SubSection "Xiangqi" Xiangqi\r
274 \r
275       Section "Graphics (required!)" XQgraphics\r
276         ; the large bitmap of the wooden XQ board is optional, as is the XQ opening book\r
277         SetOutPath "$INSTDIR\WinBoard\textures"\r
278         File "${ROOT}WinBoard\textures\xqwood.bmp"\r
279         \r
280         StrCpy $FONT_DIR $FONTS\r
281         !insertmacro InstallTTF '${FNTDIR}XIANGQI.TTF'\r
282         SendMessage ${HWND_BROADCAST} ${WM_FONTCHANGE} 0 0 /TIMEOUT=5000\r
283 \r
284         SetOutPath "$INSTDIR\WinBoard"\r
285         File "${ROOT}Winboard\xq.ini"\r
286         File "${ROOT}Winboard\xq_book.bin"\r
287         File "${ROOT}Winboard\UCCI2WB.exe"\r
288         File "${ROOT}Winboard\QH2WB.exe"\r
289 \r
290         CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER\Xiangqi Engines"\r
291         !insertmacro MUI_STARTMENU_WRITE_BEGIN Application\r
292         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\WinBoard\Xiangqi.lnk" "$INSTDIR\WinBoard\winboard.exe" "@xq" "$INSTDIR\WinBoard\UCCI2WB.exe" 0\r
293         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Xiangqi Engines\MaxQi.lnk" "$INSTDIR\WinBoard\winboard.exe" "@fairy @xq -fcp MaxQi -scp MaxQi" "$INSTDIR\Fairy-Max\MaxQi.exe" 0\r
294         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\WinBoard XQ Startup (oriental).lnk" "$INSTDIR\WinBoard\winboard.exe" "@xq" "$INSTDIR\WinBoard\winboard.exe" 2\r
295         !insertmacro MUI_STARTMENU_WRITE_END\r
296       SectionEnd\r
297 \r
298       Section "HaQiKi D XQ-Engine" HaQi\r
299         SetOutPath "$INSTDIR\HaQi"\r
300         File "${ROOT}HaQi\haqikid.exe"\r
301         File "${ROOT}HaQi\logo.bmp"\r
302         CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER\Xiangqi Engines"\r
303 \r
304         SetOutPath $INSTDIR\WinBoard\r
305         CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER\Xiangqi Engines"\r
306         !insertmacro MUI_STARTMENU_WRITE_BEGIN Application\r
307         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Xiangqi Engines\HaQiKi D.lnk" "$INSTDIR\WinBoard\winboard.exe" "@fairy @xq -fcp haqikid -fd ..\HaQi -scp haqikid -sd ..\HaQi" "$INSTDIR\HaQi\haqikid.exe" 0\r
308         !insertmacro MUI_STARTMENU_WRITE_END\r
309       SectionEnd\r
310 \r
311       Section "Elephant Eye XQ-Engine" EleEye\r
312         SetOutPath "$INSTDIR\EleEye"\r
313         File "${ROOT}EleEye\ATOM.DLL"\r
314         File "${ROOT}EleEye\BOOK.DAT"\r
315         File "${ROOT}EleEye\CCHESS.DLL"\r
316         File "${ROOT}EleEye\ELEEYE.EXE"\r
317         File "${ROOT}EleEye\EVALUATE.DLL"\r
318         File "${ROOT}EleEye\logo.bmp"\r
319 \r
320         SetOutPath "$INSTDIR\WinBoard\QH"\r
321         File "${ROOT}WinBoard\QH\eleeye.ini"\r
322 \r
323         CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER\Xiangqi Engines"\r
324         SetOutPath $INSTDIR\WinBoard\r
325         !insertmacro MUI_STARTMENU_WRITE_BEGIN Application\r
326         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Xiangqi Engines\Elephant Eye.lnk" "$INSTDIR\WinBoard\winboard.exe" '@xq -cp -fcp "UCCI2WB QH\eleeye.ini" -firstLogo ..\EleEye\logo.bmp -scp "UCCI2WB QH\eleeye.ini -secondLogo ..\EleEye\logo.bmp"' "$INSTDIR\EleEye\ELEEYE.exe" 0\r
327         !insertmacro MUI_STARTMENU_WRITE_END\r
328       SectionEnd\r
329 \r
330     SubSectionEnd\r
331 \r
332 \r
333     SubSection "Chess Variants" Variants\r
334 \r
335       Section "Pulsar Variant Engine (Mike Adams)" Pulsar\r
336         SetOutPath "$INSTDIR\Pulsar"\r
337         File "${ROOT}Pulsar\pulsar2009-9b.exe"\r
338         File "${ROOT}Pulsar\bigbook.txt"\r
339         File "${ROOT}Pulsar\openbk.txt"\r
340         File "${ROOT}Pulsar\atomicBookBlack.txt"\r
341         File "${ROOT}Pulsar\atomicBookWhite.txt"\r
342         File "${ROOT}Pulsar\kingsBookBlack.txt"\r
343         File "${ROOT}Pulsar\kingsBookWhite.txt"\r
344         File "${ROOT}Pulsar\losersBlack.txt"\r
345         File "${ROOT}Pulsar\losersWhite.txt"\r
346         File "${ROOT}Pulsar\pulsarCrazyBlack.txt"\r
347         File "${ROOT}Pulsar\pulsarCrazyWhite.txt"\r
348         File "${ROOT}Pulsar\pulsarShatranjBlack.txt"\r
349         File "${ROOT}Pulsar\pulsarShatranjWhite.txt"\r
350         File "${ROOT}Pulsar\suicideBookBlack.txt"\r
351         File "${ROOT}Pulsar\suicideBookWhite.txt"\r
352         File "${ROOT}Pulsar\threeBookBlack.txt"\r
353         File "${ROOT}Pulsar\threeBookWhite.txt"\r
354         File "${ROOT}Pulsar\logo.bmp"\r
355 \r
356         SetOutPath $INSTDIR\WinBoard\r
357         CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines"\r
358         !insertmacro MUI_STARTMENU_WRITE_BEGIN Application\r
359         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\Pulsar.lnk" "$INSTDIR\WinBoard\winboard.exe" '@fairy -fcp "pulsar2009-9b 2" -fd ..\Pulsar -scp "pulsar2009-9b 2" -sd ..\Pulsar -usePolyglotBook false -variant atomic' "$INSTDIR\WinBoard\winboard.exe" 2\r
360         !insertmacro MUI_STARTMENU_WRITE_END\r
361       SectionEnd\r
362 \r
363       Section "Joker80 Variant Engine" Joker\r
364         SetOutPath "$INSTDIR\Joker"\r
365         File "${ROOT}Joker\joker80.exe"\r
366         File "${ROOT}Joker\jokerKM.exe"\r
367         File "${ROOT}Joker\logo.bmp"\r
368 \r
369         SetOutPath $INSTDIR\WinBoard\r
370         CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines"\r
371         !insertmacro MUI_STARTMENU_WRITE_BEGIN Application\r
372         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\Joker80 (Gothic).lnk" "$INSTDIR\WinBoard\winboard.exe" "@fairy -fcp Joker80.exe -fd ..\Joker -variant gothic" "$INSTDIR\Joker\Joker80.exe" 0\r
373         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\Joker Knightmate.lnk" "$INSTDIR\WinBoard\winboard.exe" "@fairy -fcp JokerKM.exe -fd ..\Joker -variant knightmate" "$INSTDIR\Joker\JokerKM.exe" 0\r
374         !insertmacro MUI_STARTMENU_WRITE_END\r
375       SectionEnd\r
376 \r
377       Section "Adapter for SMIRF Engine" Smirf\r
378         SetOutPath $INSTDIR\SMIRF\r
379         File "${ROOT}SMIRF\Smirfoglot.exe"\r
380         File "${ROOT}SMIRF\logo.bmp"\r
381 \r
382         SetOutPath $INSTDIR\WinBoard\r
383         CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines"\r
384         !insertmacro MUI_STARTMENU_WRITE_BEGIN Application\r
385         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\SMIRF.lnk" "$INSTDIR\WinBoard\winboard.exe" "@fairy -fcp Smirfoglot.exe -fd ..\SMIRF" "$INSTDIR\SMIRF\Smirfoglot.exe" 0\r
386         !insertmacro MUI_STARTMENU_WRITE_END\r
387       SectionEnd\r
388 \r
389       Section "ShaMax Shatranj Engine" ShaMax\r
390         SetOutPath $INSTDIR\Fairy-Max\r
391         File ${ROOT}Fairy-Max\ShaMax.exe\r
392 \r
393         SetOutPath $INSTDIR\WinBoard\r
394         !insertmacro MUI_STARTMENU_WRITE_BEGIN Application\r
395         CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\ShaMax.lnk" "$INSTDIR\WinBoard\winboard.exe" "@fairy -fcp ShaMax.exe -variant shatranj" "$INSTDIR\Fairy-Max\ShaMax.exe" 0\r
396         !insertmacro MUI_STARTMENU_WRITE_END\r
397       SectionEnd                \r
398 \r
399     SubSectionEnd\r
400 SectionGroupEnd\r
401 \r
402 ;Section "un.Fonts"\r
403 ;    StrCpy $FONT_DIR $FONTS\r
404 ;    !insertmacro RemoveTTF 'MARKFONT.TTF'\r
405 ;    !insertmacro RemoveTTF 'XIANGI.TTF'\r
406 ;    SendMessage ${HWND_BROADCAST} ${WM_FONTCHANGE} 0 0 /TIMEOUT=5000\r
407 ;SectionEnd\r
408 \r
409 ;--------------------------------\r
410 ;Installer Functions\r
411 Function .onInit\r
412 \r
413   ;Extract InstallOptions INI files\r
414   !insertmacro MUI_INSTALLOPTIONS_EXTRACT "FA.ini"\r
415 \r
416 FunctionEnd\r
417 \r
418 Function FileAssoc\r
419 \r
420     !insertmacro MUI_HEADER_TEXT "Windows File Associations" "Do you want to use Winboard as your viewer for the following file types?"\r
421     !insertmacro MUI_INSTALLOPTIONS_DISPLAY "FA.ini"\r
422 \r
423 \r
424     ;Read a value from an InstallOptions INI file\r
425 \r
426     !insertmacro MUI_INSTALLOPTIONS_READ $INI_VALUE "FA.ini" "Field 2" "State"\r
427 \r
428     ;Display a messagebox if check box was checked\r
429     StrCmp $INI_VALUE "1" "" CheckFEN\r
430     WriteRegStr HKCR ".pgn" "" "WinBoard.PGN"\r
431     WriteRegStr HKCR ".pgn" "Content Type" "application/x-chess-pgn"\r
432     WriteRegStr HKCR "WinBoard.PGN" "" "Chess Game"\r
433     WriteRegStr HKCR "WinBoard.PGN\DefaultIcon" "" "$INSTDIR\WinBoard\WinBoard.exe,1"\r
434     WriteRegStr HKCR "WinBoard.PGN\Shell\Open" "" "Open"\r
435     WriteRegStr HKCR "WinBoard.PGN\Shell\Open\command" "" '"$INSTDIR\WinBoard\WinBoard.exe" -ini "$INSTDIR\WinBoard\WinBoard.ini" @viewer -lgf "%1"'\r
436 \r
437     CheckFEN:\r
438     !insertmacro MUI_INSTALLOPTIONS_READ $INI_VALUE "FA.ini" "Field 3" "State"\r
439 \r
440     ;Display a messagebox if check box was checked\r
441     StrCmp $INI_VALUE "1" "" Continue\r
442     WriteRegStr HKCR ".fen" "" "WinBoard.FEN"\r
443     WriteRegStr HKCR ".fen" "Content Type" "application/x-chess-fen"\r
444     WriteRegStr HKCR "WinBoard.FEN" "" "Chess Position"\r
445     WriteRegStr HKCR "WinBoard.FEN\DefaultIcon" "" "$INSTDIR\WinBoard\WinBoard.exe,1"\r
446     WriteRegStr HKCR "WinBoard.FEN\Shell\Open" "" "Open"\r
447     WriteRegStr HKCR "WinBoard.FEN\Shell\Open\command" "" '"$INSTDIR\WinBoard\WinBoard.exe" -ini "$INSTDIR\WinBoard\WinBoard.ini" @viewer -lpf "%1"'\r
448 \r
449     Continue:\r
450 \r
451 FunctionEnd\r
452 \r
453 ;--------------------------------\r
454 ;Descriptions\r
455 \r
456   ;Language strings\r
457 \r
458         LangString DESC_Core ${LANG_ENGLISH} "Winboard Core Components - Executable, Help Files, Protocol Adapters, Settings Files and Graphics"\r
459         LangString DESC_Profiles ${LANG_ENGLISH} "Components only of Interest to Specific User Profiles"\r
460         LangString DESC_Xiangqi ${LANG_ENGLISH} "Xiangqi (Chinese Chess) Engines and Graphics"\r
461         LangString DESC_fmax ${LANG_ENGLISH} "Small Chess engine, also plays Gothic, Cylinder, Berolina, Capablanca, Superchess, Knightmate, Great Shatranj"\r
462         LangString DESC_Fruit ${LANG_ENGLISH} "Very strong Chess engine suitable for analysis, by Fabien Letouzy"\r
463         LangString DESC_Variants ${LANG_ENGLISH} "Engines for Chess-Variant Afficionados (e.g. Crazyhouse, Chess960, Gothic Chess)"\r
464         LangString DESC_Tournaments ${LANG_ENGLISH} "PSWBTM Tournament Manager for running automated engine-engine tournaments with WinBoard"\r
465         LangString DESC_XQgraphics ${LANG_ENGLISH} "Oriental-style board and pieces for WinBoard (the XQ-engine shortcuts won't work without it!)"\r
466         LangString DESC_HaQi ${LANG_ENGLISH} "HaQiKi D 0.8, a strong Xiangqi engine by H.G. Muller"\r
467         LangString DESC_EleEye ${LANG_ENGLISH} "Elephant Eye 3.1, a very strong Xiangqi engine by Morning Yellow"\r
468         LangString DESC_Joker ${LANG_ENGLISH} "Joker80 Gothic-Chess engine and JokerKM Knightmate engine by H.G.Muller"\r
469         LangString DESC_Pulsar ${LANG_ENGLISH} "Plays Chess960, Crazyhouse, Losers, Suicide, Giveway, Atomic, 3Check, TwoKings, Shatranj and standard Chess"\r
470         LangString DESC_ShaMax ${LANG_ENGLISH} "A derivative of the Fairy-Max engine dedicated to playing Shatranj"\r
471         LangString DESC_Smirf ${LANG_ENGLISH} "Smirfoglot adapter for Reinhard Scharnagl's SMIRF 10x8 and 8x8 Chess engine"\r
472 \r
473 \r
474   ;Assign language strings to sections\r
475 \r
476   !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN\r
477         !insertmacro MUI_DESCRIPTION_TEXT ${Core} $(DESC_Core)\r
478         !insertmacro MUI_DESCRIPTION_TEXT ${Profiles} $(DESC_Profiles)\r
479         !insertmacro MUI_DESCRIPTION_TEXT ${Xiangqi} $(DESC_Xiangqi)\r
480         !insertmacro MUI_DESCRIPTION_TEXT ${fmax} $(DESC_fmax)\r
481         !insertmacro MUI_DESCRIPTION_TEXT ${Fruit} $(DESC_Fruit)\r
482         !insertmacro MUI_DESCRIPTION_TEXT ${Variants} $(DESC_Variants)\r
483         !insertmacro MUI_DESCRIPTION_TEXT ${Tournaments} $(DESC_Tournaments)\r
484         !insertmacro MUI_DESCRIPTION_TEXT ${XQgraphics} $(DESC_XQgraphics)\r
485         !insertmacro MUI_DESCRIPTION_TEXT ${HaQi} $(DESC_HaQi)\r
486         !insertmacro MUI_DESCRIPTION_TEXT ${EleEye} $(DESC_EleEye)\r
487         !insertmacro MUI_DESCRIPTION_TEXT ${Joker} $(DESC_Joker)\r
488         !insertmacro MUI_DESCRIPTION_TEXT ${Pulsar} $(DESC_Pulsar)\r
489         !insertmacro MUI_DESCRIPTION_TEXT ${ShaMax} $(DESC_ShaMax)\r
490         !insertmacro MUI_DESCRIPTION_TEXT ${Smirf} $(DESC_Smirf)\r
491   !insertmacro MUI_FUNCTION_DESCRIPTION_END\r
492 \r
493 ;--------------------------------\r
494 \r
495 ;--------------------------------\r
496 ;Uninstaller Section\r
497 \r
498 ; Function to delete install directory if non-empty on user request\r
499 Function un.ForceDirectoryDelete\r
500 \r
501          MessageBox MB_YESNO "The uninstaller was unable to delete the directory '$INSTDIR'. This is usually$\r$\ndue to user-created files such as WinBoard.ini, or other configuration files. If$\r$\nyou wish to keep your old configuration files, select No.$\r$\n$\r$\nForce deletion of install directory and all files in it?" IDNO End\r
502 \r
503          RMDir /r "$INSTDIR"\r
504 \r
505          End:\r
506 \r
507 FunctionEnd\r
508 \r
509 \r
510 Section "Uninstall"\r
511 \r
512         Delete "$INSTDIR\WinBoard\PG\fruit.ini"\r
513         Delete "$INSTDIR\WinBoard\logos\chessclub.com.bmp"\r
514         Delete "$INSTDIR\WinBoard\logos\freechess.org.bmp"\r
515         Delete "$INSTDIR\WinBoard\logos\administrator.bmp"\r
516         Delete "$INSTDIR\WinBoard\logos\guest.bmp"\r
517         Delete "$INSTDIR\WinBoard\logos\user.bmp"\r
518         Delete "$INSTDIR\WinBoard\logos\README.txt"\r
519         Delete "$INSTDIR\WinBoard\textures\marble_l.bmp"\r
520         Delete "$INSTDIR\WinBoard\textures\marble_d.bmp"\r
521         Delete "$INSTDIR\WinBoard\textures\wood_l.bmp"\r
522         Delete "$INSTDIR\WinBoard\textures\wood_d.bmp"\r
523         Delete "$INSTDIR\WinBoard\textures\xqboard.bmp"\r
524         Delete "$INSTDIR\Fairy-Max\fmax.exe"\r
525         Delete "$INSTDIR\Fairy-Max\MaxQi.exe"\r
526         Delete "$INSTDIR\Fairy-Max\fmax.ini"\r
527         Delete "$INSTDIR\Fairy-Max\qmax.ini"\r
528         Delete "$INSTDIR\Fairy-Max\logo.bmp"\r
529         Delete "$INSTDIR\WinBoard\doc\engine-intf.html"\r
530         Delete "$INSTDIR\WinBoard\doc\FAQ.html"\r
531         Delete "$INSTDIR\WinBoard\doc\fonts.html"\r
532         Delete "$INSTDIR\WinBoard\doc\manual.html"\r
533         Delete "$INSTDIR\WinBoard\doc\UCIconfig.html"\r
534         Delete "$INSTDIR\WinBoard\doc\shortcuts.html"\r
535         Delete "$INSTDIR\WinBoard\doc\texture.html"\r
536         Delete "$INSTDIR\WinBoard\doc\mini.gif"\r
537         Delete "$INSTDIR\WinBoard\doc\PG2fruit.png"\r
538         Delete "$INSTDIR\WinBoard\doc\zippy.README"\r
539         Delete "$INSTDIR\WinBoard\doc\COPYING.txt"\r
540         Delete "$INSTDIR\WinBoard\doc\COPYRIGHT.txt"\r
541         Delete "$INSTDIR\WinBoard\doc\COPYRIGHTS.txt"\r
542         Delete "$INSTDIR\WinBoard\doc\README.html"\r
543         ;Delete "$FONTS\ChessMark.ttf"\r
544         Delete "$INSTDIR\WinBoard\polyglot.exe"\r
545         Delete "$INSTDIR\WinBoard\UCCI2WB.exe"\r
546         Delete "$INSTDIR\WinBoard\timeseal.exe"\r
547         Delete "$INSTDIR\WinBoard\timestamp.exe"\r
548         Delete "$INSTDIR\WinBoard\winboard.exe"\r
549         Delete "$INSTDIR\WinBoard\winboard.hlp"\r
550         Delete "$INSTDIR\WinBoard\winboard.chm"\r
551         Delete "$INSTDIR\WinBoard\FICS.ini"\r
552         Delete "$INSTDIR\WinBoard\ICC.ini"\r
553         Delete "$INSTDIR\WinBoard\fairy.ini"\r
554         Delete "$INSTDIR\WinBoard\Gothic.ini"\r
555         Delete "$INSTDIR\WinBoard\viewer.ini"\r
556         Delete "$INSTDIR\WinBoard\marble.ini"\r
557         Delete "$INSTDIR\WinBoard\wood.ini"\r
558         Delete "$INSTDIR\WinBoard\ICSbot.ini"\r
559         Delete "$INSTDIR\WinBoard\fruit.ini"\r
560         Delete "$INSTDIR\WinBoard\winboard.ini"\r
561         Delete "$INSTDIR\WinBoard\ChessMark.ini"\r
562         Delete "$INSTDIR\WinBoard\default_book.bin"\r
563         Delete "$INSTDIR\WinBoard\zippy.lines"\r
564         Delete "$INSTDIR\WinBoard\textures\xqwood.bmp"\r
565         Delete "$INSTDIR\WinBoard\FICS.lnk"\r
566         Delete "$INSTDIR\WinBoard\ICC.lnk"\r
567         Delete "$INSTDIR\WinBoard\Fairy-Max.lnk"\r
568         Delete "$INSTDIR\WinBoard\PGN Viewer.lnk"\r
569         Delete "$INSTDIR\WinBoard\my WinBoard.lnk"\r
570         Delete "$INSTDIR\WinBoard\Fairy-Max ICS bot.lnk"\r
571         Delete "$INSTDIR\WinBoard\Fruit.lnk"\r
572         Delete "$INSTDIR\WinBoard\polyglot_1st.ini"\r
573         Delete "$INSTDIR\WinBoard\polyglot_2nd.ini"\r
574 \r
575         Delete "$INSTDIR\Fruit\fruit_21.exe"\r
576         Delete "$INSTDIR\Fruit\copying.txt"\r
577         Delete "$INSTDIR\Fruit\readme.txt"\r
578         Delete "$INSTDIR\Fruit\technical_10.txt"\r
579         Delete "$INSTDIR\Fruit\logo.bmp"\r
580 \r
581         Delete "$INSTDIR\HaQi\haqikid.exe"\r
582         Delete "$INSTDIR\HaQi\logo.bmp"\r
583         Delete "$INSTDIR\EleEye\ELEEYE.exe"\r
584         Delete "$INSTDIR\EleEye\ATOM.DLL"\r
585         Delete "$INSTDIR\EleEye\CCHESS.DLL"\r
586         Delete "$INSTDIR\EleEye\EVALUATE.DLL"\r
587         Delete "$INSTDIR\EleEye\BOOK.DAT"\r
588         Delete "$INSTDIR\EleEye\logo.bmp"\r
589         Delete "$INSTDIR\WinBoard\QH\eleeye.ini"\r
590         ;Delete "$FONTS\XIANGQI.ttf"\r
591         Delete "$INSTDIR\WinBoard\xq_book.bin"\r
592         Delete "$INSTDIR\WinBoard\QH2WB.exe"\r
593         Delete "$INSTDIR\WinBoard\xq.ini"\r
594 \r
595         Delete "$INSTDIR\Pulsar\Pulsar2009-9b.exe"\r
596         Delete "$INSTDIR\Pulsar\atomicBookBlack.txt"\r
597         Delete "$INSTDIR\Pulsar\atomicBookWhite.txt"\r
598         Delete "$INSTDIR\Pulsar\kingsBookBlack.txt"\r
599         Delete "$INSTDIR\Pulsar\kingsBookWhite.txt"\r
600         Delete "$INSTDIR\Pulsar\losersBlack.txt"\r
601         Delete "$INSTDIR\Pulsar\losersWhite.txt"\r
602         Delete "$INSTDIR\Pulsar\pulsarCrazyBlack.txt"\r
603         Delete "$INSTDIR\Pulsar\pulsarCrazyWhite.txt"\r
604         Delete "$INSTDIR\Pulsar\pulsarShatranjBlack.txt"\r
605         Delete "$INSTDIR\Pulsar\pulsarShatranjWhite.txt"\r
606         Delete "$INSTDIR\Pulsar\suicideBookBlack.txt"\r
607         Delete "$INSTDIR\Pulsar\suicideBookWhite.txt"\r
608         Delete "$INSTDIR\Pulsar\threeBookBlack.txt"\r
609         Delete "$INSTDIR\Pulsar\threeBookWhite.txt"\r
610         Delete "$INSTDIR\Pulsar\bigbook.txt"\r
611         Delete "$INSTDIR\Pulsar\openbk.txt"\r
612         Delete "$INSTDIR\Pulsar\logo.bmp"\r
613         Delete "$INSTDIR\Joker\joker80.exe"\r
614         Delete "$INSTDIR\Joker\jokerKM.exe"\r
615         Delete "$INSTDIR\Joker\logo.bmp"\r
616         Delete "$INSTDIR\SMIRF\Smirfoglot.exe"\r
617         Delete "$INSTDIR\SMIRF\logo.bmp"\r
618         Delete "$INSTDIR\Fairy-Max\ShaMax.exe"\r
619 \r
620         Delete "$INSTDIR\PSWBTM\PSWBTM.exe"\r
621         Delete "$INSTDIR\PSWBTM\README.txt"\r
622         Delete "$INSTDIR\PSWBTM\config.pswbtm"\r
623         Delete "$INSTDIR\PSWBTM\engines.pswbtm"\r
624         Delete "$INSTDIR\PSWBTM\ntls.pswbtm"\r
625         Delete "$INSTDIR\PSWBTM\start positions\nunn.pgn"\r
626         Delete "$INSTDIR\PSWBTM\start positions\silver.epd"\r
627         Delete "$INSTDIR\PSWBTM\doc\configure.html"\r
628         Delete "$INSTDIR\PSWBTM\doc\install.html"\r
629         Delete "$INSTDIR\PSWBTM\doc\running.html"\r
630         Delete "$INSTDIR\PSWBTM\doc\tourney.html"\r
631         Delete "$INSTDIR\PSWBTM\doc\conf.png"\r
632         Delete "$INSTDIR\PSWBTM\doc\eman.png"\r
633         Delete "$INSTDIR\PSWBTM\doc\menu.png"\r
634         Delete "$INSTDIR\PSWBTM\doc\pswbtm.png"\r
635         Delete "$INSTDIR\PSWBTM\doc\tour.png"\r
636 \r
637         RMDir "$INSTDIR\WinBoard\doc"\r
638         RMDir "$INSTDIR\WinBoard\logos"\r
639         RMDir "$INSTDIR\WinBoard\textures"\r
640         RMDir "$INSTDIR\WinBoard\PG"\r
641         RMDir "$INSTDIR\WinBoard\QH"\r
642         RMDir "$INSTDIR\WinBoard"\r
643         RMDir "$INSTDIR\Fairy-Max"\r
644         RMDir "$INSTDIR\Pulsar"\r
645         RMDir "$INSTDIR\Joker"\r
646         RMDir "$INSTDIR\Fruit"\r
647         RMDir "$INSTDIR\PSWBTM\doc"\r
648         RMDir "$INSTDIR\PSWBTM\games"\r
649         RMDir "$INSTDIR\PSWBTM\start positions"\r
650         RMDir "$INSTDIR\PSWBTM"\r
651         RMDir "$INSTDIR\SMIRF"\r
652         RMDir "$INSTDIR\HaQi"\r
653         RMDir "$INSTDIR\EleEye"\r
654         Delete "$INSTDIR\uninstall.exe"\r
655         RMDir "$INSTDIR"\r
656 \r
657 \r
658     !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP\r
659 \r
660     RMDir /r "$SMPROGRAMS\$MUI_TEMP"\r
661 \r
662     ReadRegStr $1 HKCR ".pgn" ""\r
663     StrCmp $1 "WinBoard.PGN" "" DelFEN\r
664     ReadRegStr $1 HKCR "WinBoard.PGN\Shell\Open\command" ""\r
665     StrCmp $1 '"$INSTDIR\WinBoard\WinBoard.exe" -ini "$INSTDIR\WinBoard\WinBoard.ini" @viewer -lgf "%1"' "" DelFEN\r
666     DeleteRegKey HKCR ".pgn"\r
667     DeleteRegKey HKCR "WinBoard.PGN"\r
668 \r
669     DelFEN:\r
670 \r
671     ReadRegStr $1 HKCR ".fen" ""\r
672     StrCmp $1 "WinBoard.FEN" "" ContDelFEN\r
673     ReadRegStr $1 HKCR "WinBoard.FEN\Shell\Open\command" ""\r
674     StrCmp $1 '"$INSTDIR\WinBoard\WinBoard.exe" -ini "$INSTDIR\WinBoard\WinBoard.ini" @viewer -lpf "%1"' "" ContDelFEN\r
675     DeleteRegKey HKCR ".fen"\r
676     DeleteRegKey HKCR "WinBoard.FEN"\r
677 \r
678     ContDelFEN:\r
679 \r
680     DeleteRegKey HKCU "Software\WinBoard"\r
681 \r
682 \r
683     IfFileExists "$INSTDIR\*.*" GoDirDel Continue\r
684 \r
685     GoDirDel:\r
686     Call un.ForceDirectoryDelete\r
687 \r
688     Continue:\r
689 \r
690 \r
691 SectionEnd\r