2007-08-14 Marcus Brinkmann <marcus@g10code.de>
[gpg4win.git] / src / inst-sections.nsi
1 # inst-sections.nsi - Installer for GPG4Win sections.  -*- coding: latin-1; -*-
2 # Copyright (C) 2005, 2006 g10 Code GmbH
3
4 # This file is part of GPG4Win.
5
6 # GPG4Win is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10
11 # GPG4Win is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
19 # USA.
20
21
22 # Sections
23
24 !include "inst-gpg4win.nsi"
25
26 !ifdef HAVE_PKG_GNUPG
27 !include "inst-gnupg.nsi"
28 !endif
29 !ifdef HAVE_PKG_GNUPG2
30 !include "inst-gnupg2.nsi"
31 !endif
32 !ifdef HAVE_PKG_PINENTRY
33 !include "inst-pinentry.nsi"
34 !endif
35 !ifdef HAVE_PKG_LIBGPG_ERROR
36 !include "inst-libgpg-error.nsi"
37 !endif
38 !ifdef HAVE_PKG_W32PTH
39 !include "inst-w32pth.nsi"
40 !endif
41 !ifdef HAVE_PKG_LIBASSUAN
42 !include "inst-libassuan.nsi"
43 !endif
44 !ifdef HAVE_PKG_LIBKSBA
45 !include "inst-libksba.nsi"
46 !endif
47 !ifdef HAVE_PKG_LIBGCRYPT
48 !include "inst-libgcrypt.nsi"
49 !endif
50 !ifdef HAVE_PKG_LIBICONV
51 !include "inst-libiconv.nsi"
52 !endif
53 !ifdef HAVE_PKG_PKGCONFIG
54 !include "inst-pkgconfig.nsi"
55 !endif
56 !ifdef HAVE_PKG_ZLIB
57 !include "inst-zlib.nsi"
58 !endif
59 !ifdef HAVE_PKG_CRYPT
60 !include "inst-crypt.nsi"
61 !endif
62 !ifdef HAVE_PKG_REGEX
63 !include "inst-regex.nsi"
64 !endif
65 !ifdef HAVE_PKG_DIRMNGR
66 !include "inst-dirmngr.nsi"
67 !endif
68 !ifdef HAVE_PKG_PTHREADS_W32
69 !include "inst-pthreads-w32.nsi"
70 !endif
71 !ifdef HAVE_PKG_GPGME
72 !include "inst-gpgme.nsi"
73 !endif
74 !ifdef HAVE_PKG_GETTEXT
75 !include "inst-gettext.nsi"
76 !endif
77 !ifdef HAVE_PKG_GLIB
78 !include "inst-glib.nsi"
79 !endif
80 !ifdef HAVE_PKG_LIBPNG
81 !include "inst-libpng.nsi"
82 !endif
83 !ifdef HAVE_PKG_JPEG
84 !include "inst-jpeg.nsi"
85 !endif
86 !ifdef HAVE_PKG_GPGOL
87 !include "inst-gpgol.nsi"
88 !endif
89 !ifdef HAVE_PKG_PANGO
90 !include "inst-pango.nsi"
91 !endif
92 !ifdef HAVE_PKG_CAIRO
93 !include "inst-cairo.nsi"
94 !endif
95 !ifdef HAVE_PKG_ATK
96 !include "inst-atk.nsi"
97 !endif
98 !ifdef HAVE_PKG_GTK_
99 !include "inst-gtk+.nsi"
100 !endif
101 !ifdef HAVE_PKG_GPA
102 !include "inst-gpa.nsi"
103 !endif
104 !ifdef HAVE_PKG_WINPT
105 !include "inst-winpt.nsi"
106 !endif
107 !ifdef HAVE_PKG_GPGEE
108 !include "inst-gpgee.nsi"
109 !endif
110 !ifdef HAVE_PKG_SYLPHEED_CLAWS
111 !include "inst-sylpheed-claws.nsi"
112 !endif
113 !ifdef HAVE_PKG_CLAWS_MAIL
114 !include "inst-claws-mail.nsi"
115 !endif
116 #!ifdef HAVE_PKG_EUDORAGPG
117 #!include "inst-eudoragpg.nsi"
118 #!endif
119 !ifdef HAVE_PKG_MAN_NOVICE_EN
120 !include "inst-man_novice_en.nsi"
121 !endif
122 !ifdef HAVE_PKG_MAN_ADVANCED_EN
123 !include "inst-man_advanced_en.nsi"
124 !endif
125 !ifdef HAVE_PKG_MAN_NOVICE_DE
126 !include "inst-man_novice_de.nsi"
127 !endif
128 !ifdef HAVE_PKG_MAN_ADVANCED_DE
129 !include "inst-man_advanced_de.nsi"
130 !endif
131
132 # We have to invoke the uninstallers in reverse order!
133
134 !ifdef HAVE_PKG_MAN_ADVANCED_DE
135 !include "uninst-man_advanced_de.nsi"
136 !endif
137 !ifdef HAVE_PKG_MAN_NOVICE_DE
138 !include "uninst-man_novice_de.nsi"
139 !endif
140 !ifdef HAVE_PKG_MAN_ADVANCED_EN
141 !include "uninst-man_advanced_en.nsi"
142 !endif
143 !ifdef HAVE_PKG_MAN_NOVICE_EN
144 !include "uninst-man_novice_en.nsi"
145 !endif
146 #!ifdef HAVE_PKG_EUDORAGPG
147 #!include "uninst-eudoragpg.nsi"
148 #!endif
149 !ifdef HAVE_PKG_CLAWS_MAIL
150 !include "uninst-claws-mail.nsi"
151 !endif
152 !ifdef HAVE_PKG_SYLPHEED_CLAWS
153 !include "uninst-sylpheed-claws.nsi"
154 !endif
155 !ifdef HAVE_PKG_GPGEE
156 !include "uninst-gpgee.nsi"
157 !endif
158 !ifdef HAVE_PKG_WINPT
159 !include "uninst-winpt.nsi"
160 !endif
161 !ifdef HAVE_PKG_GPA
162 !include "uninst-gpa.nsi"
163 !endif
164 !ifdef HAVE_PKG_GTK_
165 !include "uninst-gtk+.nsi"
166 !endif
167 !ifdef HAVE_PKG_ATK
168 !include "uninst-atk.nsi"
169 !endif
170 !ifdef HAVE_PKG_CAIRO
171 !include "uninst-cairo.nsi"
172 !endif
173 !ifdef HAVE_PKG_PANGO
174 !include "uninst-pango.nsi"
175 !endif
176 !ifdef HAVE_PKG_GPGOL
177 !include "uninst-gpgol.nsi"
178 !endif
179 !ifdef HAVE_PKG_LIBPNG
180 !include "uninst-libpng.nsi"
181 !endif
182 !ifdef HAVE_PKG_JPEG
183 !include "uninst-jpeg.nsi"
184 !endif
185 !ifdef HAVE_PKG_GLIB
186 !include "uninst-glib.nsi"
187 !endif
188 !ifdef HAVE_PKG_GETTEXT
189 !include "uninst-gettext.nsi"
190 !endif
191 !ifdef HAVE_PKG_GPGME
192 !include "uninst-gpgme.nsi"
193 !endif
194 !ifdef HAVE_PKG_PTHREADS_W32
195 !include "uninst-pthreads-w32.nsi"
196 !endif
197 !ifdef HAVE_PKG_DIRMNGR
198 !include "uninst-dirmngr.nsi"
199 !endif
200 !ifdef HAVE_PKG_REGEX
201 !include "uninst-regex.nsi"
202 !endif
203 !ifdef HAVE_PKG_CRYPT
204 !include "uninst-crypt.nsi"
205 !endif
206 !ifdef HAVE_PKG_ZLIB
207 !include "uninst-zlib.nsi"
208 !endif
209 !ifdef HAVE_PKG_PKGCONFIG
210 !include "uninst-pkgconfig.nsi"
211 !endif
212 !ifdef HAVE_PKG_LIBICONV
213 !include "uninst-libiconv.nsi"
214 !endif
215 !ifdef HAVE_PKG_LIBGCRYPT
216 !include "uninst-libgcrypt.nsi"
217 !endif
218 !ifdef HAVE_PKG_LIBKSBA
219 !include "uninst-libksba.nsi"
220 !endif
221 !ifdef HAVE_PKG_LIBASSUAN
222 !include "uninst-libassuan.nsi"
223 !endif
224 !ifdef HAVE_PKG_W32PTH
225 !include "uninst-w32pth.nsi"
226 !endif
227 !ifdef HAVE_PKG_LIBGPG_ERROR
228 # Note that the uninstaller of libgpg-error is supposed to remove the shareed
229 # directories.  We might want to move this to an extra section.
230 !include "uninst-libgpg-error.nsi"
231 !endif
232 !ifdef HAVE_PKG_PINENTRY
233 !include "uninst-pinentry.nsi"
234 !endif
235 !ifdef HAVE_PKG_GNUPG2
236 !include "uninst-gnupg2.nsi"
237 !endif
238 !ifdef HAVE_PKG_GNUPG
239 !include "uninst-gnupg.nsi"
240 !endif
241
242 !include "uninst-gpg4win.nsi"
243
244
245 # Dependency Management
246
247 !include "Sections.nsh"
248
249
250 Function CalcDefaults
251
252 # The defaults for the installer-options.ini file.
253 g4wihelp::config_fetch_bool "inst_start_menu"
254 StrCmp $R0 "" +2
255 !insertmacro MUI_INSTALLOPTIONS_WRITE "installer-options.ini" \
256         "Field 2" "State" $R0
257
258 g4wihelp::config_fetch_bool "inst_desktop"
259 StrCmp $R0 "" +2
260 !insertmacro MUI_INSTALLOPTIONS_WRITE "installer-options.ini" \
261         "Field 3" "State" $R0
262
263 g4wihelp::config_fetch_bool "inst_quick_launch_bar"
264 StrCmp $R0 "" +2
265 !insertmacro MUI_INSTALLOPTIONS_WRITE "installer-options.ini" \
266         "Field 4" "State" $R0
267
268
269
270 !ifdef HAVE_PKG_GNUPG2
271   g4wihelp::config_fetch_bool "inst_gnupg2"
272   StrCmp $R0 "1" 0 calc_defaults_gnupg2_not_one
273    !insertmacro SelectSection ${SEC_gnupg2}
274    Goto calc_defaults_gnupg2_done
275   calc_defaults_gnupg2_not_one:
276   StrCmp $R0 "0" 0 calc_defaults_gnupg2_done
277    !insertmacro UnselectSection ${SEC_gnupg2}
278 calc_defaults_gnupg2_done:
279 !endif
280
281 !ifdef HAVE_PKG_GPGOL
282   g4wihelp::config_fetch_bool "inst_gpgol"
283   StrCmp $R0 "1" 0 calc_defaults_gpgol_not_one
284    !insertmacro SelectSection ${SEC_gpgol}
285    Goto calc_defaults_gpgol_done
286   calc_defaults_gpgol_not_one:
287   StrCmp $R0 "0" 0 calc_defaults_gpgol_done
288    !insertmacro UnselectSection ${SEC_gpgol}
289 calc_defaults_gpgol_done:
290 !endif
291
292 !ifdef HAVE_PKG_GPA
293   g4wihelp::config_fetch_bool "inst_gpa"
294   StrCmp $R0 "1" 0 calc_defaults_gpa_not_one
295    !insertmacro SelectSection ${SEC_gpa}
296    Goto calc_defaults_gpa_done
297   calc_defaults_gpa_not_one:
298   StrCmp $R0 "0" 0 calc_defaults_gpa_done
299    !insertmacro UnselectSection ${SEC_gpa}
300 calc_defaults_gpa_done:
301 !endif
302
303 !ifdef HAVE_PKG_WINPT
304   g4wihelp::config_fetch_bool "inst_winpt"
305   StrCmp $R0 "1" 0 calc_defaults_winpt_not_one
306    !insertmacro SelectSection ${SEC_winpt}
307    Goto calc_defaults_winpt_done
308   calc_defaults_winpt_not_one:
309   StrCmp $R0 "0" 0 calc_defaults_winpt_done
310    !insertmacro UnselectSection ${SEC_winpt}
311 calc_defaults_winpt_done:
312 !endif
313
314 !ifdef HAVE_PKG_GPGEE
315   g4wihelp::config_fetch_bool "inst_gpgee"
316   StrCmp $R0 "1" 0 calc_defaults_gpgee_not_one
317    !insertmacro SelectSection ${SEC_gpgee}
318    Goto calc_defaults_gpgee_done
319   calc_defaults_gpgee_not_one:
320   StrCmp $R0 "0" 0 calc_defaults_gpgee_done
321    !insertmacro UnselectSection ${SEC_gpgee}
322 calc_defaults_gpgee_done:
323 !endif
324
325 !ifdef HAVE_PKG_CLAWS_MAIL
326   g4wihelp::config_fetch_bool "inst_claws_mail"
327   StrCmp $R0 "1" 0 calc_defaults_claws_mail_not_one
328    !insertmacro SelectSection ${SEC_claws_mail}
329    Goto calc_defaults_claws_mail_done
330   calc_defaults_claws_mail_not_one:
331   StrCmp $R0 "0" 0 calc_defaults_claws_mail_done
332    !insertmacro UnselectSection ${SEC_claws_mail}
333 calc_defaults_claws_mail_done:
334 !endif
335
336 !ifdef HAVE_PKG_MAN_NOVICE_DE
337   g4wihelp::config_fetch_bool "inst_man_novice_de"
338   StrCmp $R0 "1" 0 calc_defaults_man_novice_de_not_one
339    !insertmacro SelectSection ${SEC_man_novice_de}
340    Goto calc_defaults_man_novice_de_done
341   calc_defaults_man_novice_de_not_one:
342   StrCmp $R0 "0" 0 calc_defaults_man_novice_de_done
343    !insertmacro UnselectSection ${SEC_man_novice_de}
344 calc_defaults_man_novice_de_done:
345 !endif
346
347 !ifdef HAVE_PKG_MAN_NOVICE_EN
348   g4wihelp::config_fetch_bool "inst_man_novice_en"
349   StrCmp $R0 "1" 0 calc_defaults_man_novice_en_not_one
350    !insertmacro SelectSection ${SEC_man_novice_en}
351    Goto calc_defaults_man_novice_en_done
352   calc_defaults_man_novice_en_not_one:
353   StrCmp $R0 "0" 0 calc_defaults_man_novice_en_done
354    !insertmacro UnselectSection ${SEC_man_novice_en}
355 calc_defaults_man_novice_en_done:
356 !endif
357
358 !ifdef HAVE_PKG_MAN_ADVANCED_DE
359   g4wihelp::config_fetch_bool "inst_man_advanced_de"
360   StrCmp $R0 "1" 0 calc_defaults_man_advanced_de_not_one
361    !insertmacro SelectSection ${SEC_man_advanced_de}
362    Goto calc_defaults_man_advanced_de_done
363   calc_defaults_man_advanced_de_not_one:
364   StrCmp $R0 "0" 0 calc_defaults_man_advanced_de_done
365    !insertmacro UnselectSection ${SEC_man_advanced_de}
366 calc_defaults_man_advanced_de_done:
367 !endif
368
369 !ifdef HAVE_PKG_MAN_ADVANCED_EN
370   g4wihelp::config_fetch_bool "inst_man_advanced_en"
371   StrCmp $R0 "1" 0 calc_defaults_man_advanced_en_not_one
372    !insertmacro SelectSection ${SEC_man_advanced_en}
373    Goto calc_defaults_man_advanced_en_done
374   calc_defaults_man_advanced_en_not_one:
375   StrCmp $R0 "0" 0 calc_defaults_man_advanced_en_done
376    !insertmacro UnselectSection ${SEC_man_advanced_en}
377 calc_defaults_man_advanced_en_done:
378 !endif
379
380 FunctionEnd
381
382
383 Function CalcDepends
384   # This section could very well be autogenerated from the
385   # information in configure.ac.  Note that it doesn't hurt to have
386   # stuff here for packages that we don't include.
387
388   # First clear all indirect dependencies.
389 !ifdef HAVE_PKG_LIBICONV
390   !insertmacro UnselectSection ${SEC_libiconv}
391 !endif
392 !ifdef HAVE_PKG_GETTEXT
393   !insertmacro UnselectSection ${SEC_gettext}
394 !endif
395 !ifdef HAVE_PKG_ZLIB
396   !insertmacro UnselectSection ${SEC_zlib}
397 !endif
398 !ifdef HAVE_PKG_CRYPT
399   !insertmacro UnselectSection ${SEC_crypt}
400 !endif
401 !ifdef HAVE_PKG_REGEX
402   !insertmacro UnselectSection ${SEC_regex}
403 !endif
404 !ifdef HAVE_PKG_DIRMNGR
405   !insertmacro UnselectSection ${SEC_dirmngr}
406 !endif
407 !ifdef HAVE_PKG_PTHREADS_W32
408   !insertmacro UnselectSection ${SEC_pthreads_w32}
409 !endif
410 !ifdef HAVE_PKG_LIBPNG
411   !insertmacro UnselectSection ${SEC_libpng}
412 !endif
413 !ifdef HAVE_PKG_JPEG
414   !insertmacro UnselectSection ${SEC_jpeg}
415 !endif
416 !ifdef HAVE_PKG_PKGCONFIG
417   !insertmacro UnselectSection ${SEC_pkgconfig}
418 !endif
419 !ifdef HAVE_PKG_GLIB
420   !insertmacro UnselectSection ${SEC_glib}
421 !endif
422 !ifdef HAVE_PKG_ATK
423   !insertmacro UnselectSection ${SEC_atk}
424 !endif
425 !ifdef HAVE_PKG_CAIRO
426   !insertmacro UnselectSection ${SEC_cairo}
427 !endif
428 !ifdef HAVE_PKG_PANGO
429   !insertmacro UnselectSection ${SEC_pango}
430 !endif
431 !ifdef HAVE_PKG_GTK_
432   !insertmacro UnselectSection ${SEC_gtk_}
433 !endif
434 !ifdef HAVE_PKG_LIBGPG_ERROR
435   !insertmacro UnselectSection ${SEC_libgpg_error}
436 !endif
437 !ifdef HAVE_PKG_GPGME
438   !insertmacro UnselectSection ${SEC_gpgme}
439 !endif
440 !ifdef HAVE_PKG_LIBKSBA
441   !insertmacro UnselectSection ${SEC_libksba}
442 !endif
443 !ifdef HAVE_PKG_W32PTH
444   !insertmacro UnselectSection ${SEC_w32pth}
445 !endif
446 !ifdef HAVE_PKG_LIBASSUAN
447   !insertmacro UnselectSection ${SEC_libassuan}
448 !endif
449 !ifdef HAVE_PKG_LIBGCRYPT
450   !insertmacro UnselectSection ${SEC_libgcrypt}
451 !endif
452 !ifdef HAVE_PKG_PINENTRY
453   !insertmacro UnselectSection ${SEC_pinentry}
454 !endif
455
456   # Then enable all dependencies in reverse build list order!
457
458 !ifdef HAVE_PKG_GNUPG2
459   !insertmacro SectionFlagIsSet ${SEC_gnupg2} ${SF_SELECTED} have_gnupg2 skip_gnupg2
460   have_gnupg2:
461   !insertmacro SelectSection ${SEC_libiconv}
462   !insertmacro SelectSection ${SEC_libgcrypt}
463   !insertmacro SelectSection ${SEC_libksba}
464   !insertmacro SelectSection ${SEC_libassuan}
465   !insertmacro SelectSection ${SEC_libgpg_error}
466   !insertmacro SelectSection ${SEC_w32pth}
467   !insertmacro SelectSection ${SEC_zlib}
468   !insertmacro SelectSection ${SEC_pinentry}
469   !insertmacro SelectSection ${SEC_dirmngr}
470   skip_gnupg2:
471 !endif
472
473 !ifdef HAVE_PKG_GPGEE
474   !insertmacro SectionFlagIsSet ${SEC_gpgee} ${SF_SELECTED} have_gpgee skip_gpgee
475   have_gpgee:
476   !insertmacro SelectSection ${SEC_gpgme}
477   !insertmacro SelectSection ${SEC_gnupg}
478   skip_gpgee:
479 !endif
480
481 !ifdef HAVE_PKG_WINPT
482   !insertmacro SectionFlagIsSet ${SEC_winpt} ${SF_SELECTED} have_winpt skip_winpt
483   have_winpt:
484   !insertmacro SelectSection ${SEC_gpgme}
485   !insertmacro SelectSection ${SEC_gnupg}
486   skip_winpt:
487 !endif
488
489 !ifdef HAVE_PKG_GPA
490   !insertmacro SectionFlagIsSet ${SEC_gpa} ${SF_SELECTED} have_gpa skip_gpa
491   have_gpa:
492   !insertmacro SelectSection ${SEC_zlib}
493   !insertmacro SelectSection ${SEC_gtk_}
494   !insertmacro SelectSection ${SEC_libpng}
495   !insertmacro SelectSection ${SEC_glib}
496   !insertmacro SelectSection ${SEC_gpgme}
497   !insertmacro SelectSection ${SEC_gnupg}
498   skip_gpa:
499 !endif
500
501 !ifdef HAVE_PKG_SYLPHEED_CLAWS
502   !insertmacro SectionFlagIsSet ${SEC_sylpheed} ${SF_SELECTED} have_sylpheed skip_sylpheed
503   have_sylpheed:
504   !insertmacro SelectSection ${SEC_zlib}
505   !insertmacro SelectSection ${SEC_gtk_}
506   !insertmacro SelectSection ${SEC_libpng}
507   !insertmacro SelectSection ${SEC_jpeg}
508   !insertmacro SelectSection ${SEC_glib}
509   !insertmacro SelectSection ${SEC_gpgme}
510   !insertmacro SelectSection ${SEC_gnupg}
511   !insertmacro SelectSection ${SEC_pthreads_w32}
512   !insertmacro SelectSection ${SEC_crypt}
513   !insertmacro SelectSection ${SEC_regex}
514   skip_sylpheed:
515 !endif
516
517
518 !ifdef HAVE_PKG_CLAWS_MAIL
519   !insertmacro SectionFlagIsSet ${SEC_claws_mail} ${SF_SELECTED} have_claws_mail skip_claws_mail
520   have_claws_mail:
521   !insertmacro SelectSection ${SEC_zlib}
522   !insertmacro SelectSection ${SEC_gtk_}
523   !insertmacro SelectSection ${SEC_libpng}
524   !insertmacro SelectSection ${SEC_jpeg}
525   !insertmacro SelectSection ${SEC_glib}
526   !insertmacro SelectSection ${SEC_gpgme}
527   !insertmacro SelectSection ${SEC_gnupg}
528   !insertmacro SelectSection ${SEC_pthreads_w32}
529   !insertmacro SelectSection ${SEC_crypt}
530   !insertmacro SelectSection ${SEC_regex}
531   skip_claws_mail:
532 !endif
533
534
535 !ifdef HAVE_PKG_GTK_
536   !insertmacro SectionFlagIsSet ${SEC_gtk_} \
537                 ${SF_SELECTED} have_gtk_ skip_gtk_
538   have_gtk_:
539   !insertmacro SelectSection ${SEC_atk}
540   !insertmacro SelectSection ${SEC_cairo}
541   !insertmacro SelectSection ${SEC_pango}
542   !insertmacro SelectSection ${SEC_glib}
543   !insertmacro SelectSection ${SEC_libiconv}
544   !insertmacro SelectSection ${SEC_gettext}
545   !insertmacro SelectSection ${SEC_pkgconfig}
546   skip_gtk_:
547 !endif
548
549 !ifdef HAVE_PKG_ATK
550   !insertmacro SectionFlagIsSet ${SEC_atk} \
551                 ${SF_SELECTED} have_atk skip_atk
552   have_atk:
553   !insertmacro SelectSection ${SEC_glib}
554   !insertmacro SelectSection ${SEC_pkgconfig}
555   skip_atk:
556 !endif
557
558 !ifdef HAVE_PKG_CAIRO
559   !insertmacro SectionFlagIsSet ${SEC_cairo} \
560                 ${SF_SELECTED} have_cairo skip_cairo
561   have_cairo:
562   !insertmacro SelectSection ${SEC_glib}
563   !insertmacro SelectSection ${SEC_pkgconfig}
564   skip_cairo:
565 !endif
566
567 !ifdef HAVE_PKG_PANGO
568   !insertmacro SectionFlagIsSet ${SEC_pango} \
569                 ${SF_SELECTED} have_pango skip_pango
570   have_pango:
571   !insertmacro SelectSection ${SEC_glib}
572   !insertmacro SelectSection ${SEC_pkgconfig}
573   skip_pango:
574 !endif
575
576 !ifdef HAVE_PKG_GPGOL
577   !insertmacro SectionFlagIsSet ${SEC_gpgol} \
578                 ${SF_SELECTED} have_gpgol skip_gpgol
579   have_gpgol:
580   !insertmacro SelectSection ${SEC_gpgme}
581   !insertmacro SelectSection ${SEC_gnupg}
582   skip_gpgol:
583 !endif
584
585 !ifdef HAVE_PKG_LIBPNG
586   !insertmacro SectionFlagIsSet ${SEC_libpng} \
587                 ${SF_SELECTED} have_libpng skip_libpng
588   have_libpng:
589   !insertmacro SelectSection ${SEC_pkgconfig}
590   skip_libpng:
591 !endif
592
593 !ifdef HAVE_PKG_DIRMNGR
594   !insertmacro SectionFlagIsSet ${SEC_dirmngr} ${SF_SELECTED} have_dirmngr skip_dirmngr
595   have_dirmngr:
596   !insertmacro SelectSection ${SEC_libgcrypt}
597   !insertmacro SelectSection ${SEC_libksba}
598   !insertmacro SelectSection ${SEC_libassuan}
599   !insertmacro SelectSection ${SEC_libgpg_error}
600   !insertmacro SelectSection ${SEC_w32pth}
601   skip_dirmngr:
602 !endif
603
604 !ifdef HAVE_PKG_GLIB
605   !insertmacro SectionFlagIsSet ${SEC_glib} \
606                 ${SF_SELECTED} have_glib skip_glib
607   have_glib:
608   !insertmacro SelectSection ${SEC_pkgconfig}
609   skip_glib:
610 !endif
611
612 !ifdef HAVE_PKG_GETTEXT
613   !insertmacro SectionFlagIsSet ${SEC_gettext} \
614                 ${SF_SELECTED} have_gettext skip_gettext
615   have_gettext:
616   !insertmacro SelectSection ${SEC_libiconv}
617   skip_gettext:
618 !endif
619
620 !ifdef HAVE_PKG_GPGME
621   !insertmacro SectionFlagIsSet ${SEC_gpgme} \
622                 ${SF_SELECTED} have_gpgme skip_gpgme
623   have_gpgme:
624   !insertmacro SelectSection ${SEC_libgpg_error}
625   skip_gpgme:
626 !endif
627
628   # Package "zlib" has no dependencies.
629   # Package "pkgconfig" has no dependencies.
630   # Package "libgpg-error" has no dependencies.
631
632 !ifdef HAVE_PKG_GNUPG
633   !insertmacro SectionFlagIsSet ${SEC_gnupg} ${SF_SELECTED} have_gnupg skip_gnupg
634   have_gnupg:
635   !insertmacro SelectSection ${SEC_libiconv}
636   skip_gnupg:
637 !endif
638
639   # Package "libiconv" has no dependencies.
640
641 FunctionEnd
642
643
644 Function .onInit
645 Call G4wRunOnce
646
647   SetOutPath $TEMP
648 !ifdef SOURCES
649   File /oname=gpgspltmp.bmp "${TOP_SRCDIR}/doc/logo/gpg4win-logo-400px.bmp"
650   # We play the tune only for the source installer
651   File /oname=gpgspltmp.wav "${TOP_SRCDIR}/src/gpg4win-splash.wav"
652   g4wihelp::playsound $TEMP\gpgspltmp.wav
653   g4wihelp::showsplash 2500 $TEMP\gpgspltmp.bmp
654
655   Delete $TEMP\gpgspltmp.bmp
656   # Note that we delete gpgspltmp.wav in .onInst{Failed,Success}
657 !endif
658
659   # We can't use TOP_SRCDIR dir as the name of the file needs to be
660   # the same while building and running the installer.  Thus we
661   # generate the file from a template.
662   !insertmacro MUI_INSTALLOPTIONS_EXTRACT "installer-options.ini"
663
664   Call CalcDefaults
665   Call CalcDepends
666   Call CheckOtherGnuPGApps
667 FunctionEnd
668
669
670 Function .onInstFailed
671   Delete $TEMP\gpgspltmp.wav
672 FunctionEnd
673
674 Function .onInstSuccess
675   Delete $TEMP\gpgspltmp.wav
676 FunctionEnd
677
678 Function .onSelChange
679   Call CalcDepends
680 FunctionEnd
681
682
683 # Note used anymore:
684 # This function is run from the finish page.
685 #Function RunOnFinish
686 #!ifdef HAVE_PKG_GPA
687 #    SectionGetFlags ${SEC_gpa} $R0 
688 #    IntOp $R0 $R0 & ${SF_SELECTED} 
689 #    IntCmp $R0 ${SF_SELECTED} 0 no_gpa_avail
690 #       Exec "$INSTDIR\gpa.exe"
691 #       Return
692 #   no_gpa_avail:
693 #!endif
694 #!ifdef HAVE_PKG_WINPT
695 #    SectionGetFlags ${SEC_winpt} $R0 
696 #    IntOp $R0 $R0 & ${SF_SELECTED} 
697 #    IntCmp $R0 ${SF_SELECTED} 0 no_winpt_avail
698 #       Exec "$INSTDIR\WinPT.exe --keymanager"
699 #       Return
700 #   no_winpt_avail:
701 #!endif
702 #  MessageBox MB_OK "$(T_NoKeyManager)"
703 #FunctionEnd
704
705
706 # This must be in a central place.  Urgs.
707
708 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
709 !ifdef HAVE_PKG_GNUPG
710   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gnupg} $(DESC_SEC_gnupg)
711 !endif
712 !ifdef HAVE_PKG_GNUPG2
713   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gnupg2} $(DESC_SEC_gnupg2)
714 !endif
715 !ifdef HAVE_PKG_GPGOL
716   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gpgol} $(DESC_SEC_gpgol)
717 !endif
718 !ifdef HAVE_PKG_GPA
719   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gpa} $(DESC_SEC_gpa)
720 !endif
721 !ifdef HAVE_PKG_WINPT
722   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_winpt} $(DESC_SEC_winpt)
723 !endif
724 !ifdef HAVE_PKG_GPGEE
725   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gpgee} $(DESC_SEC_gpgee)
726 !endif
727 !ifdef HAVE_PKG_SYLPHEED_CLAWS
728   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_sylpheed} $(DESC_SEC_sylpheed)
729 !endif
730 !ifdef HAVE_PKG_CLAWS_MAIL
731   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_claws_mail} $(DESC_SEC_claws_mail)
732 !endif
733 #!ifdef HAVE_PKG_EUDORAGPG
734 #  !insertmacro MUI_DESCRIPTION_TEXT ${SEC_eudoragpg} $(DESC_SEC_eudoragpg)
735 #!endif
736 !ifdef HAVE_PKG_MAN_NOVICE_EN
737   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_man_novice_en} $(DESC_SEC_man_novice_en)
738 !endif
739 !ifdef HAVE_PKG_MAN_ADVANCED_EN
740   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_man_advanced_en} $(DESC_SEC_man_advanced_en)
741 !endif
742 !ifdef HAVE_PKG_MAN_NOVICE_DE
743   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_man_novice_de} $(DESC_SEC_man_novice_de)
744 !endif
745 !ifdef HAVE_PKG_MAN_ADVANCED_DE
746   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_man_advanced_de} $(DESC_SEC_man_advanced_de)
747 !endif
748 !insertmacro MUI_FUNCTION_DESCRIPTION_END
749
750
751 # This also must be in a central place.  Also Urgs.
752
753 Section "-startmenu"
754
755 !ifdef HAVE_STARTMENU
756   # Make sure that the context of the automatic variables has been set to
757   # the "all users" shell folder.  This guarantees that the menu gets written
758   # for all users.  We have already checked that we are running as Admin; or
759   # we printed a warning that installation will not succeed.
760   SetShellVarContext all
761
762   # Check if the start menu entries where requested.
763   !insertmacro MUI_INSTALLOPTIONS_READ $R0 "installer-options.ini" \
764         "Field 2" "State"
765   IntCmp $R0 0 no_start_menu
766
767 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
768     CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
769
770 !ifdef HAVE_PKG_WINPT
771     SectionGetFlags ${SEC_winpt} $R0 
772     IntOp $R0 $R0 & ${SF_SELECTED} 
773     IntCmp $R0 ${SF_SELECTED} 0 no_winpt_menu 
774     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\WinPT.lnk" \
775         "$INSTDIR\winpt.exe" \
776         "" "$INSTDIR\winpt.exe" "" SW_SHOWNORMAL "" $(DESC_Menu_winpt)
777    no_winpt_menu:
778 !endif
779
780 !ifdef HAVE_PKG_GPA
781     SectionGetFlags ${SEC_gpa} $R0 
782     IntOp $R0 $R0 & ${SF_SELECTED} 
783     IntCmp $R0 ${SF_SELECTED} 0 no_gpa_menu 
784     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\GPA.lnk" \
785         "$INSTDIR\gpa.exe" \
786         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_gpa)
787   no_gpa_menu:
788 !endif
789
790 !ifdef HAVE_PKG_SYLPHEED_CLAWS
791     SectionGetFlags ${SEC_sylpheed} $R0 
792     IntOp $R0 $R0 & ${SF_SELECTED} 
793     IntCmp $R0 ${SF_SELECTED} 0 no_sylpheed_menu 
794     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Sylpheed-Claws.lnk" \
795         "$INSTDIR\sylpheed-claws.exe" \
796         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_sylpheed)
797 !ifndef GPG4WIN_LIGHT
798     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Sylpheed-Claws Manual.lnk" \
799         "$INSTDIR\sylpheed-claws-manual.pdf" \
800         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_sylpheed_pdf)
801 !endif
802   no_sylpheed_menu:
803 !endif
804
805 !ifdef HAVE_PKG_CLAWS_MAIL
806     SectionGetFlags ${SEC_claws_mail} $R0 
807     IntOp $R0 $R0 & ${SF_SELECTED} 
808     IntCmp $R0 ${SF_SELECTED} 0 no_claws_mail_menu 
809     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Claws-Mail.lnk" \
810         "$INSTDIR\claws-mail.exe" \
811         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_claws_mail)
812 !ifndef GPG4WIN_LIGHT
813     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Claws-Mail Manual.lnk" \
814         "$INSTDIR\claws-mail-manual.pdf" \
815         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_claws_mail_pdf)
816 !endif
817   no_claws_mail_menu:
818 !endif
819
820 #!ifdef HAVE_PKG_EUDORAGPG
821 #    SectionGetFlags ${SEC_eudoragpg} $R0 
822 #    IntOp $R0 $R0 & ${SF_SELECTED} 
823 #    IntCmp $R0 ${SF_SELECTED} 0 no_eudoragpg_menu 
824 #    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\EudoraGPG Plugin.lnk" \
825 #       "$INSTDIR\share\eudoragpg\eudoragpg.html" \
826 #        "" "" "" SW_SHOWNORMAL "" ""
827 #  no_eudoragpg_menu:
828 #!endif
829
830 !ifdef HAVE_PKG_MAN_NOVICE_EN
831     SectionGetFlags ${SEC_man_novice_en} $R0 
832     IntOp $R0 $R0 & ${SF_SELECTED} 
833     IntCmp $R0 ${SF_SELECTED} 0 no_man_novice_en_menu 
834     CreateShortCut \
835         "$SMPROGRAMS\$STARTMENU_FOLDER\$(DESC_Name_man_novice_en).lnk" \
836         "$INSTDIR\share\gpg4win\novices.pdf" \
837         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_man_novice_en)
838   no_man_novice_en_menu:
839 !endif
840
841 !ifdef HAVE_PKG_MAN_ADVANCED_EN
842     SectionGetFlags ${SEC_man_advanced_en} $R0 
843     IntOp $R0 $R0 & ${SF_SELECTED} 
844     IntCmp $R0 ${SF_SELECTED} 0 no_man_advanced_en_menu 
845     CreateShortCut \
846         "$SMPROGRAMS\$STARTMENU_FOLDER\$(DESC_Name_man_advanced_en).lnk" \
847         "$INSTDIR\share\gpg4win\advanced.pdf" \
848         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_man_advanced_en)
849   no_man_advanced_en_menu:
850 !endif
851
852 !ifdef HAVE_PKG_MAN_NOVICE_DE
853     SectionGetFlags ${SEC_man_novice_de} $R0 
854     IntOp $R0 $R0 & ${SF_SELECTED} 
855     IntCmp $R0 ${SF_SELECTED} 0 no_man_novice_de_menu 
856     CreateShortCut \
857         "$SMPROGRAMS\$STARTMENU_FOLDER\$(DESC_Name_man_novice_de).lnk" \
858         "$INSTDIR\share\gpg4win\einsteiger.pdf" \
859         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_man_novice_de)
860   no_man_novice_de_menu:
861 !endif
862
863 !ifdef HAVE_PKG_MAN_ADVANCED_DE
864     SectionGetFlags ${SEC_man_advanced_de} $R0 
865     IntOp $R0 $R0 & ${SF_SELECTED} 
866     IntCmp $R0 ${SF_SELECTED} 0 no_man_advanced_de_menu 
867     CreateShortCut \
868         "$SMPROGRAMS\$STARTMENU_FOLDER\$(DESC_Name_man_advanced_de).lnk" \
869         "$INSTDIR\share\gpg4win\durchblicker.pdf" \
870         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_man_advanced_de)
871   no_man_advanced_de_menu:
872 !endif
873
874 !ifdef HAVE_PKG_GPGEE
875     SectionGetFlags ${SEC_gpgee} $R0 
876     IntOp $R0 $R0 & ${SF_SELECTED} 
877     IntCmp $R0 ${SF_SELECTED} 0 no_gpgee_menu 
878     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\GPGee Manual.lnk" \
879         "$INSTDIR\GPGee.hlp" "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_gpgee_hlp)
880   no_gpgee_menu:
881 !endif
882
883     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\GnuPG FAQ.lnk" \
884                    "$INSTDIR\share\gnupg\faq.html" \
885                    "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_gnupg_faq)
886
887     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Gpg4Win README.lnk" \
888                    "$INSTDIR\share\gpg4win\README.$(T_LangCode).txt" \
889                    "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_gpg4win_readme)
890
891 # No more uninstall link because Windows has its own feature to call
892 #  the uninstaller.
893 #    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" \
894 #       "$INSTDIR\${PACKAGE}-uninstall.exe"
895 !insertmacro MUI_STARTMENU_WRITE_END
896
897  no_start_menu:
898
899
900
901   # Check if the desktop entries where requested.
902   !insertmacro MUI_INSTALLOPTIONS_READ $R0 "installer-options.ini" \
903         "Field 3" "State"
904   IntCmp $R0 0 no_desktop
905
906 !ifdef HAVE_PKG_WINPT
907     SectionGetFlags ${SEC_winpt} $R0 
908     IntOp $R0 $R0 & ${SF_SELECTED}
909     IntCmp $R0 ${SF_SELECTED} 0 no_winpt_desktop
910     # Create link which directly starts the WinPT key manager
911     CreateShortCut "$DESKTOP\WinPT.lnk" \
912         "$INSTDIR\winpt.exe" \
913         "--keymanager" "$INSTDIR\winpt.exe" "" \
914         SW_SHOWNORMAL "" $(DESC_Menu_winpt)
915    no_winpt_desktop:
916 !endif
917
918 !ifdef HAVE_PKG_GPA
919     SectionGetFlags ${SEC_gpa} $R0 
920     IntOp $R0 $R0 & ${SF_SELECTED} 
921     IntCmp $R0 ${SF_SELECTED} 0 no_gpa_desktop
922     CreateShortCut "$DESKTOP\GPA.lnk" \
923         "$INSTDIR\gpa.exe" \
924         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_gpa)
925   no_gpa_desktop:
926 !endif
927
928 !ifdef HAVE_PKG_SYLPHEED_CLAWS
929     SectionGetFlags ${SEC_sylpheed} $R0 
930     IntOp $R0 $R0 & ${SF_SELECTED} 
931     IntCmp $R0 ${SF_SELECTED} 0 no_sylpheed_desktop
932     CreateShortCut "$DESKTOP\Sylpheed-Claws.lnk" \
933         "$INSTDIR\sylpheed-claws.exe" \
934         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_sylpheed)
935 !ifndef GPG4WIN_LIGHT
936     CreateShortCut "$DESKTOP\Sylpheed-Claws Manual.lnk" \
937         "$INSTDIR\sylpheed-claws-manual.pdf" \
938         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_sylpheed_pdf)
939 !endif
940   no_sylpheed_desktop:
941 !endif
942
943 !ifdef HAVE_PKG_CLAWS_MAIL
944     SectionGetFlags ${SEC_claws_mail} $R0 
945     IntOp $R0 $R0 & ${SF_SELECTED} 
946     IntCmp $R0 ${SF_SELECTED} 0 no_claws_mail_desktop
947     CreateShortCut "$DESKTOP\Claws-Mail.lnk" \
948         "$INSTDIR\claws-mail.exe" \
949         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_claws_mail)
950 !ifndef GPG4WIN_LIGHT
951     CreateShortCut "$DESKTOP\Claws-Mail Manual.lnk" \
952         "$INSTDIR\claws-mail-manual.pdf" \
953         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_claws_mail_pdf)
954 !endif
955   no_claws_mail_desktop:
956 !endif
957
958 !ifdef HAVE_PKG_MAN_NOVICE_EN
959     SectionGetFlags ${SEC_man_novice_en} $R0 
960     IntOp $R0 $R0 & ${SF_SELECTED} 
961     IntCmp $R0 ${SF_SELECTED} 0 no_man_novice_en_desktop
962     CreateShortCut \
963         "$DESKTOP\$(DESC_Name_man_novice_en).lnk" \
964         "$INSTDIR\share\gpg4win\novices.pdf" \
965         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_man_novice_en)
966   no_man_novice_en_desktop:
967 !endif
968
969 !ifdef HAVE_PKG_MAN_ADVANCED_EN
970     SectionGetFlags ${SEC_man_advanced_en} $R0 
971     IntOp $R0 $R0 & ${SF_SELECTED} 
972     IntCmp $R0 ${SF_SELECTED} 0 no_man_advanced_en_desktop
973     CreateShortCut \
974         "$DESKTOP\$(DESC_Name_man_advanced_en).lnk" \
975         "$INSTDIR\share\gpg4win\advanced.pdf" \
976         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_man_advanced_en)
977   no_man_advanced_en_desktop:
978 !endif
979
980 !ifdef HAVE_PKG_MAN_NOVICE_DE
981     SectionGetFlags ${SEC_man_novice_de} $R0 
982     IntOp $R0 $R0 & ${SF_SELECTED} 
983     IntCmp $R0 ${SF_SELECTED} 0 no_man_novice_de_desktop
984     CreateShortCut \
985         "$DESKTOP\$(DESC_Name_man_novice_de).lnk" \
986         "$INSTDIR\share\gpg4win\einsteiger.pdf" \
987         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_man_novice_de)
988   no_man_novice_de_desktop:
989 !endif
990
991 !ifdef HAVE_PKG_MAN_ADVANCED_DE
992     SectionGetFlags ${SEC_man_advanced_de} $R0 
993     IntOp $R0 $R0 & ${SF_SELECTED} 
994     IntCmp $R0 ${SF_SELECTED} 0 no_man_advanced_de_desktop
995     CreateShortCut \
996         "$DESKTOP\$(DESC_Name_man_advanced_de).lnk" \
997         "$INSTDIR\share\gpg4win\durchblicker.pdf" \
998         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_man_advanced_de)
999   no_man_advanced_de_desktop:
1000 !endif
1001
1002 !ifdef HAVE_PKG_GPGEE
1003     SectionGetFlags ${SEC_gpgee} $R0 
1004     IntOp $R0 $R0 & ${SF_SELECTED} 
1005     IntCmp $R0 ${SF_SELECTED} 0 no_gpgee_desktop
1006     CreateShortCut "$DESKTOP\GPGee Manual.lnk" \
1007         "$INSTDIR\GPGee.hlp" "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_gpgee_hlp)
1008   no_gpgee_desktop:
1009 !endif
1010
1011     CreateShortCut "$DESKTOP\GnuPG FAQ.lnk" \
1012                    "$INSTDIR\share\gnupg\faq.html" \
1013                    "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_gnupg_faq)
1014
1015 no_desktop:
1016
1017         
1018   # Check if the quick launch bar entries where requested.
1019   !insertmacro MUI_INSTALLOPTIONS_READ $R0 "installer-options.ini" \
1020         "Field 4" "State"
1021   IntCmp $R0 0 no_quick_launch
1022   StrCmp $QUICKLAUNCH $TEMP no_quick_launch
1023
1024 !ifdef HAVE_PKG_WINPT
1025     SectionGetFlags ${SEC_winpt} $R0 
1026     IntOp $R0 $R0 & ${SF_SELECTED}
1027     IntCmp $R0 ${SF_SELECTED} 0 no_winpt_quicklaunch 
1028     CreateShortCut "$QUICKLAUNCH\WinPT.lnk" \
1029         "$INSTDIR\winpt.exe" \
1030         "" "$INSTDIR\winpt.exe" "" SW_SHOWNORMAL "" $(DESC_Menu_winpt)
1031    no_winpt_quicklaunch:
1032 !endif
1033
1034 !ifdef HAVE_PKG_GPA
1035     SectionGetFlags ${SEC_gpa} $R0 
1036     IntOp $R0 $R0 & ${SF_SELECTED} 
1037     IntCmp $R0 ${SF_SELECTED} 0 no_gpa_quicklaunch
1038     CreateShortCut "$QUICKLAUNCH\GPA.lnk" \
1039         "$INSTDIR\gpa.exe" \
1040         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_gpa)
1041   no_gpa_quicklaunch:
1042 !endif
1043
1044 !ifdef HAVE_PKG_SYLPHEED_CLAWS
1045     SectionGetFlags ${SEC_sylpheed} $R0 
1046     IntOp $R0 $R0 & ${SF_SELECTED} 
1047     IntCmp $R0 ${SF_SELECTED} 0 no_sylpheed_quicklaunch
1048     CreateShortCut "$QUICKLAUNCH\Sylpheed-Claws.lnk" \
1049         "$INSTDIR\sylpheed-claws.exe" \
1050         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_sylpheed)
1051   no_sylpheed_quicklaunch:
1052 !endif
1053
1054 !ifdef HAVE_PKG_CLAWS_MAIL
1055     SectionGetFlags ${SEC_claws_mail} $R0 
1056     IntOp $R0 $R0 & ${SF_SELECTED} 
1057     IntCmp $R0 ${SF_SELECTED} 0 no_claws_mail_quicklaunch
1058     CreateShortCut "$QUICKLAUNCH\Claws-Mail.lnk" \
1059         "$INSTDIR\claws-mail.exe" \
1060         "" "" "" SW_SHOWNORMAL "" $(DESC_Menu_claws_mail)
1061   no_claws_mail_quicklaunch:
1062 !endif
1063
1064
1065 no_quick_launch:
1066
1067
1068 !endif
1069 SectionEnd
1070
1071
1072 # FIXME: Now write desktop and quick launch bar.
1073 # Don't forget to delete the corr. entries in installer-finish. Uninstall.
1074