Parse EXTCAP lines from the card.
[gnupg.git] / scripts / w32installer.nsi
1 ; w32installer.nsi                                  -*- coding: latin-1; -*-
2 ;                   W32 Installer script
3 ; Copyright (C) 2005 Free Software Foundation, Inc.
4 ;
5 ; This file is free software; as a special exception the author gives
6 ; unlimited permission to copy and/or distribute it, with or without
7 ; modifications, as long as this notice is preserved.
8 ;
9 ; This program is distributed in the hope that it will be useful, but
10 ; WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
11 ; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
13 ;----------------------------------------------------------------------
14 ; This is an installer script used to create a W32 installer "exe" file
15 ; using NSIS.  It is usually used by the mk-w32-dist script.
16 ;----------------------------------------------------------------------
17
18 ; We use the modern UI.
19 !include "MUI.nsh"
20 !include "StrFunc.nsh"
21 !include "Sections.nsh"
22
23 ; -------------
24 ; General stuff
25 ; -------------
26 Name "GNU Privacy Guard"
27
28 !ifdef WITH_WINPT
29 OutFile "gnupg-w32-${VERSION}.exe"
30 !else
31 OutFile "gnupg-w32cli-${VERSION}.exe"
32 !endif
33
34 InstallDir "$PROGRAMFILES\GNU\GnuPG"
35
36 InstallDirRegKey HKLM "Software\GNU\GnuPG" "Install Directory"
37
38 SetCompressor lzma
39
40 VIProductVersion "${PROD_VERSION}"
41 VIAddVersionKey "ProductName" "GNU Privacy Guard (${VERSION})"
42 VIAddVersionKey "Comments" \
43    "GnuPG is Free Software; you can redistribute it and/or modify  \
44     it under the terms of the GNU General Public License. You should  \
45     have received a copy of the GNU General Public License along with  \
46     this software; if not, see <http://www.gnu.org/licenses/>."
47 VIAddVersionKey "CompanyName" "Free Software Foundation"
48 VIAddVersionKey "LegalTrademarks" ""
49 VIAddVersionKey "LegalCopyright" \
50     "Copyright (C) 2007 Free Software Foundation, Inc."
51 VIAddVersionKey "FileDescription" \
52     "GnuPG: Encryption and digital signature tool"
53 VIAddVersionKey "FileVersion" "${PROD_VERSION}"
54
55 ; ----------------------
56 ; Variable declarations
57 ; ----------------------
58
59 Var MYTMP
60 Var STARTMENU_FOLDER
61
62 ; ------------------
63 ; Interface Settings
64 ; ------------------
65
66 ;;;!define MUI_ABORTWARNING
67 !define MUI_FINISHPAGE_NOAUTOCLOSE
68 !define MUI_UNFINISHPAGE_NOAUTOCLOSE
69
70 ; Remember the installer language
71 !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" 
72 !define MUI_LANGDLL_REGISTRY_KEY "Software\GNU\GnuPG" 
73 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
74
75 ; -----
76 ; Pages      
77 ; -----
78
79 !define MUI_WELCOMEPAGE_TEXT "$(T_About)"
80
81 !insertmacro MUI_PAGE_WELCOME
82
83
84 !define MUI_PAGE_HEADER_SUBTEXT "$(T_GPLHeader)"
85
86 !define MUI_LICENSEPAGE_TEXT_BOTTOM "$(T_GPLShort)"
87
88 !define MUI_LICENSEPAGE_BUTTON "$(^NextBtn)"
89
90 !insertmacro MUI_PAGE_LICENSE "COPYING.txt"
91
92 !define MUI_PAGE_CUSTOMFUNCTION_SHOW PrintNonAdminWarning
93 !insertmacro MUI_PAGE_COMPONENTS
94
95 Page custom CustomPageOptions
96
97 !insertmacro MUI_PAGE_DIRECTORY
98
99 !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" 
100 !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\GNU\GnuPG" 
101 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
102   
103 !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
104
105 !insertmacro MUI_PAGE_INSTFILES
106
107 !define MUI_FINISHPAGE_SHOWREADME "README-W32.txt"
108 !define MUI_FINISHPAGE_SHOWREADME_TEXT "$(T_ShowReadme)"
109 !define MUI_FINISHPAGE_LINK "$(T_FiniLink)"
110 !define MUI_FINISHPAGE_LINK_LOCATION "http://www.gnupg.org/"
111 !insertmacro MUI_PAGE_FINISH
112
113   
114 !insertmacro MUI_UNPAGE_CONFIRM
115 !insertmacro MUI_UNPAGE_INSTFILES
116
117
118 ; -----------------
119 ; i18n Declarations
120 ; -----------------
121
122 !insertmacro MUI_LANGUAGE "English"
123 !insertmacro MUI_LANGUAGE "German"
124
125 ; ------------------
126 ; Installer Sections
127 ; ------------------
128
129 !insertmacro MUI_RESERVEFILE_LANGDLL
130 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
131 ReserveFile "opt.ini" 
132 ReserveFile "COPYING.txt"
133 ReserveFile "README-W32.txt"
134 #ReserveFile "${NSISDIR}/Plugins/System.dll"
135 ReserveFile "${NSISDIR}/Plugins/UserInfo.dll"
136
137
138 ${StrStr} # Supportable for Install Sections and Functions
139 ${StrTok} # Supportable for Install Sections and Functions
140
141
142
143 ;InstType "full"
144 ;InstType "minimal"
145
146
147 ;----------------------
148 Section "Base" SecBase
149 ;  SectionIn 1 2 RO
150   SectionIn RO
151
152   SetOutPath "$INSTDIR"
153
154   File "gpg.exe"
155   File "gpgkeys_finger.exe"
156   File "gpgkeys_hkp.exe"
157   File "gpgkeys_curl.exe"
158   File "gpgkeys_ldap.exe"
159
160   SetOutPath "$INSTDIR\Doc"
161
162   File "README.txt"
163   File "README-W32.txt"
164   File "COPYING.txt"
165
166   Call InstallIconv
167
168   WriteRegStr HKLM "Software\GNU\GnuPG" "Install Directory" $INSTDIR
169
170 SectionEnd ; Section Base
171
172 ;----------------------
173 Section "NLS" SecNLS
174 ;  SectionIn 1
175
176   SetOutPath "$INSTDIR\gnupg.nls"
177
178   File "*.mo"
179
180 SectionEnd ; Section NLS
181
182 ;------------------------
183 Section "Tools" SecTools
184 ;  SectionIn 1
185
186   SetOutPath "$INSTDIR"
187   File "gpgsplit.exe"
188   File "gpgv.exe"
189
190 SectionEnd ; Section Tools
191
192 ;------------------
193 !ifdef WITH_WINPT
194 Section "WinPT" SecWinPT
195 ;  SectionIn 1
196
197   SetOutPath "$INSTDIR"
198
199   File "WinPT.exe"
200   File "PTD.dll"
201   File "keyserver.conf"
202
203   SetOutPath "$INSTDIR\Doc"
204
205   File "README.winpt.txt"
206
207   WriteRegStr HKCU "Software\GNU\GnuPG" "gpgProgram" "$INSTDIR\gpg.exe"
208
209 SectionEnd ; Section WinPT
210 !endif
211
212
213 ;----------------------
214 Section "Documentation" SecDoc
215 ;  SectionIn 1
216
217   SetOutPath "$INSTDIR\Doc"
218
219   File "gnupg.man"
220   File "gpg.man"
221   File "gpgv.man"
222   File "NEWS.txt"
223   File "FAQ.txt"
224
225 !ifdef WITH_WINPT
226   File "NEWS.winpt.txt"
227 !endif ; WITH_WINPT
228
229 !ifdef WITH_PATCHES
230   SetOutPath "$INSTDIR\Src"
231   File '*.diff'
232 !endif
233
234 SectionEnd ; Section Documentation
235
236
237 ;------------------
238 !ifdef WITH_SOURCE
239 Section /o "Source" SecSource
240
241   SetOutPath "$INSTDIR\Src"
242
243   ; Note that we include the uncompressed tarballs because this allows
244   ; far better compression results for the distribution.  We might
245   ; want to compress it again after installation.
246
247   File "gnupg-${VERSION}.tar"
248
249   File "libiconv-${LIBICONV_VERSION}.tar"
250
251 !ifdef WITH_WINPT
252   File "winpt-${WINPT_VERSION}.tar"
253 !endif ; WITH_WINPT
254
255 SectionEnd ; Section Source
256 !endif
257
258
259 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
260 ;;
261 ;; The last section is a hidden one; used to finish up things.
262 ;;
263 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
264 Section "-Finish"
265
266   ;;--------------------------
267   ;;  Create the uninstaller
268   ;;--------------------------
269   WriteUninstaller "$INSTDIR\uninst-gnupg.exe"
270
271   StrCpy $MYTMP "Software\Microsoft\Windows\CurrentVersion\Uninstall\GnuPG"
272   WriteRegExpandStr HKLM $MYTMP "UninstallString" '"$INSTDIR\uninst-gnupg.exe"'
273   WriteRegExpandStr HKLM $MYTMP "InstallLocation" "$INSTDIR"
274   WriteRegStr       HKLM $MYTMP "DisplayName"     "GNU Privacy Guard"
275   WriteRegStr       HKLM $MYTMP "DisplayIcon"     "$INSTDIR\gpg.exe,0"
276   WriteRegStr       HKLM $MYTMP "DisplayVersion"  "${VERSION}"
277   WriteRegStr       HKLM $MYTMP "Publisher"       "Free Software Foundation"
278   WriteRegStr       HKLM $MYTMP "URLInfoAbout"    "http://www.gnupg.org/"
279   WriteRegDWORD     HKLM $MYTMP "NoModify"        "1"
280   WriteRegDWORD     HKLM $MYTMP "NoRepair"        "1"
281
282
283   ;;---------------------
284   ;; Create Menu entries
285   ;;---------------------
286   !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
287     
288   CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
289
290   CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\GnuPG README.lnk" \
291                  "$INSTDIR\Doc\README.txt"
292   CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\GnuPG README.Windows.lnk" \
293                  "$INSTDIR\Doc\README-W32.txt"
294   CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\GnuPG NEWS.lnk" \
295                  "$INSTDIR\Doc\NEWS.txt"
296
297   SectionGetFlags ${SecDoc} $R0 
298   IntOp $R0 $R0 & ${SF_SELECTED} 
299   IntCmp $R0 ${SF_SELECTED} 0 +2 
300   CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\GnuPG Manual Page.lnk" \
301                  "$INSTDIR\Doc\gpg.man"
302
303
304 !ifdef WITH_WINPT
305   SectionGetFlags ${SecWinPT} $R0 
306   IntOp $R0 $R0 & ${SF_SELECTED} 
307   IntCmp $R0 ${SF_SELECTED} 0 no_winpt_menu 
308   CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\winpt.lnk" \
309                  "$INSTDIR\winpt.exe"
310   CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\WinPT README.lnk" \
311                  "$INSTDIR\Doc\README.winpt.txt"
312
313   SectionGetFlags ${SecDoc} $R0 
314   IntOp $R0 $R0 & ${SF_SELECTED} 
315   IntCmp $R0 ${SF_SELECTED} 0 +2 
316   CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\WinPT NEWS.lnk" \
317                  "$INSTDIR\Doc\NEWS.winpt.txt"
318
319  no_winpt_menu:
320 !endif
321
322   CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\uninst-gnupg.lnk" \
323                  "$INSTDIR\uninst-gnupg.exe"
324
325
326   !insertmacro MUI_STARTMENU_WRITE_END
327
328
329   ;;-----------------
330   ;; Set the language
331   ;;-----------------
332   SectionGetFlags ${SecNLS} $R0 
333   IntOp $R0 $R0 & ${SF_SELECTED} 
334   IntCmp $R0 ${SF_SELECTED} 0 lang_none
335   
336   !insertmacro MUI_INSTALLOPTIONS_READ $R0 "opt.ini" "Field 1" "ListItems"
337   DetailPrint "Available languages: $R0"
338   !insertmacro MUI_INSTALLOPTIONS_READ $R1 "opt.ini" "Field 1" "State"
339   DetailPrint "Selected language: $R1"
340
341   StrCmp $R1 "" lang_none +1
342   ${StrStr} $R2 $R0 $R1 
343   StrCmp $R2 "" lang_none +1
344   ${StrTok} $R3 $R2 " " "0" "1"
345   goto lang_set_finish
346  lang_none:
347   DetailPrint "No language selected - using default"
348   StrCpy $R3 ""
349  lang_set_finish:
350   DetailPrint "Setting language to: $R3"
351   WriteRegStr HKCU "Software\GNU\GnuPG" "Lang" $R3
352   ;;
353
354   # Set the Outpath pack so that the README file can be displayed.
355   SetOutPath "$INSTDIR"
356
357 SectionEnd ; "-Finish"
358
359
360
361 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
362 ;;
363 ;; Create the section for the uninstaller
364 ;;
365 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
366 Section "Uninstall"
367
368   ;;------------------------
369   ;; Delete files
370   ;;------------------------
371   Delete "$INSTDIR\gpg.exe"
372   Delete "$INSTDIR\gpgkeys_finger.exe"
373   Delete "$INSTDIR\gpgkeys_hkp.exe"
374   Delete "$INSTDIR\gpgkeys_curl.exe"
375   Delete "$INSTDIR\gpgkeys_ldap.exe"
376
377   Delete "$INSTDIR\Doc\README.txt"
378   Delete "$INSTDIR\Doc\README-W32.txt"
379   Delete "$INSTDIR\Doc\COPYING.txt"
380   Delete "$INSTDIR\Doc\COPYING.LIB.txt"
381   Delete "$INSTDIR\Doc\README.iconv.txt"
382
383   Delete "$INSTDIR\iconv.dll"
384
385   Delete "$INSTDIR\gnupg.nls\*.mo"
386
387   Delete "$INSTDIR\gpgsplit.exe"
388   Delete "$INSTDIR\gpgv.exe"
389
390 !ifdef WITH_WINPT
391   Delete "$INSTDIR\WinPT.exe"
392   Delete "$INSTDIR\PTD.dll"
393   Delete "$INSTDIR\Doc\README.winpt.txt"
394   Delete "$INSTDIR\Doc\NEWS.winpt.txt"
395   Delete "$INSTDIR\Doc\keyserver.conf"
396 !endif
397
398   Delete "$INSTDIR\Doc\gnupg.man"
399   Delete "$INSTDIR\Doc\gpg.man"
400   Delete "$INSTDIR\Doc\gpgv.man"
401   Delete "$INSTDIR\Doc\NEWS.txt"
402   Delete "$INSTDIR\Doc\FAQ.txt"
403
404   Delete "$INSTDIR\Src\gnupg-${VERSION}.tar"
405   Delete "$INSTDIR\Src\libiconv-${LIBICONV_VERSION}.tar"
406   Delete "$INSTDIR\Src\winpt-${WINPT_VERSION}.tar"
407   Delete "$INSTDIR\Src\*.diff"
408
409   Delete "$INSTDIR\uninst-gnupg.exe"
410
411   ;;------------------------
412   ;; Delete directories
413   ;;------------------------
414   RMDir "$INSTDIR\Doc"
415   RMDir "$INSTDIR\Src"
416   RMDir "$INSTDIR\gnupg.nls"
417   RMDir "$INSTDIR"
418
419
420   ;;---------------------------------------------------
421   ;; Delete the menu entries and any empty parent menus
422   ;;---------------------------------------------------
423   !insertmacro MUI_STARTMENU_GETFOLDER Application $MYTMP
424   Delete "$SMPROGRAMS\$MYTMP\*.lnk"
425   StrCpy $MYTMP "$SMPROGRAMS\$MYTMP"
426   startMenuDeleteLoop:
427     ClearErrors
428     RMDir $MYTMP
429     GetFullPathName $MYTMP "$MYTMP\.."
430     IfErrors startMenuDeleteLoopDone
431     StrCmp $MYTMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
432   startMenuDeleteLoopDone:
433
434
435   ;;-----------------------
436   ;;  Cleanup the registry
437   ;;-----------------------
438   DeleteRegValue HKCU "Software\GNU\GnuPG" "Start Menu Folder"
439   DeleteRegValue HKLM "Software\GNU\GnuPG" "Install Directory"
440   DeleteRegKey /ifempty HKLM "Software\GNU\GnuPG"
441   DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\GnuPG"
442
443 SectionEnd ; Uninstall
444
445
446 ; ---------
447 ; Functions
448 ; ---------
449
450 Function .onInit
451   # We can't use System.dll anymore becuase it has bee removed from
452   # Debian due to an inability to build using FS.  We should use the
453   # use our own DLL as we do with gpg4win.
454   #System::Call 'kernel32::CreateMutexA(i 0, i 0, t "GnuPGInst") i .r1 ?e'
455   #Pop $R0
456   #StrCmp $R0 0 +3
457   # MessageBox MB_OK "An instance of the installer is already running."
458   # Abort
459
460   ;;!define MUI_LANGDLL_ALWAYSSHOW
461   !insertmacro MUI_LANGDLL_DISPLAY
462
463   !insertmacro MUI_INSTALLOPTIONS_EXTRACT "opt.ini"
464
465 FunctionEnd 
466
467
468 Function un.onInit 
469
470   !insertmacro MUI_UNGETLANGUAGE
471   
472 FunctionEnd
473
474
475 ;; Check whether the current user is in the Administrator group or
476 ;; an OS version without the need for an Administrator is in use.
477 ;; Print a warning if this is not the case.
478 Function PrintNonAdminWarning
479   ClearErrors
480   UserInfo::GetName
481   IfErrors leave
482   Pop $0
483   UserInfo::GetAccountType
484   Pop $1
485   StrCmp $1 "Admin" leave +1
486   MessageBox MB_OK "$(T_AdminNeeded)"
487
488  leave:
489 FunctionEnd
490
491
492 Function CustomPageOptions  
493   SectionGetFlags ${SecNLS} $R0 
494   IntOp $R0 $R0 & ${SF_SELECTED} 
495   IntCmp $R0 ${SF_SELECTED} show 
496  
497   Abort 
498  
499  show: 
500   !insertmacro MUI_HEADER_TEXT "$(T_InstallOptions)" "$(T_SelectLanguage)"
501   !insertmacro MUI_INSTALLOPTIONS_READ $R0 "opt.ini" "Field 1" "ListItems"
502   ReadRegStr $R1 HKCU "Software\GNU\GnuPG" "Lang" 
503   StrCmp $R1 "" use_default +1
504   ${StrStr} $R2 $R0 "$R1 - " 
505   StrCmp $R2 "" +1 set_lang
506  use_default:
507   StrCpy $R2 "$(T_langid) - $(T_langname)"
508  set_lang:
509   ${StrTok} $R3 $R2 "|" "0" "1"
510   !insertmacro MUI_INSTALLOPTIONS_WRITE "opt.ini" "Field 1" "State" $R3
511
512   !insertmacro MUI_INSTALLOPTIONS_DISPLAY "opt.ini"
513
514 FunctionEnd
515
516
517 ; Install iconv.dll if it has not been installed on the system.
518 Function InstallIconv
519
520   ; First delete a iconv DLL already installed in the target directory.
521   ; This is required to detect a meanwhile globally installed dll.
522   Delete "$INSTDIR\iconv.dll"
523   ClearErrors
524   GetDllVersion "iconv.dll" $R0 $R1
525   IfErrors 0 +3
526     DetailPrint "iconv.dll is not installed."
527     goto InstallIconv
528
529   IntOp $R2 $R0 / 0x00010000
530   IntOp $R3 $R0 & 0x0000FFFF
531   IntOp $R4 $R1 / 0x00010000
532   IntOp $R5 $R1 & 0x0000FFFF
533   StrCpy $0 "$R2.$R3.$R4.$R5"
534
535   DetailPrint "iconv.dll version is $0"
536
537   IntCmp $R2 1 0 IconvTooOld
538   IntCmp $R3 9 0 IconvTooOld
539   return
540
541  IconvTooOld:
542     DetailPrint "The installed iconv.dll is too old."
543
544  InstallIconv:
545   SetOutPath "$INSTDIR"
546   File "iconv.dll"
547
548   SetOutPath "$INSTDIR\doc"
549   File "COPYING.LIB.txt"
550   File "README.iconv.txt"
551
552 FunctionEnd
553
554
555 ; ------------
556 ; Descriptions
557 ; ------------
558
559 ; The list of language IDs and corresponding Latin-1 names.  Note that
560 ; this mapping needs to match the one in the mk-w32-dist script, so
561 ; that they are usable to get a default value for then ListItems of
562 ; opt.ini.
563 LangString T_langid   ${LANG_ENGLISH} "en"
564 LangString T_langname ${LANG_ENGLISH} "English"
565 LangString T_langid   ${LANG_GERMAN}  "de"
566 LangString T_langname ${LANG_GERMAN}  "Deutsch"
567
568 ; The About string as displayed on the first page.
569 LangString T_About ${LANG_ENGLISH} \
570   "GnuPG is GNU's tool for secure communication and data storage. \
571   It can be used to encrypt data and to create digital signatures. \
572   It includes an advanced key management facility and is compliant \
573   with the proposed OpenPGP Internet standard as described in RFC4880. \
574   \r\n\r\n$_CLICK \
575   \r\n\r\n\r\n\r\n\r\nThis is GnuPG version ${VERSION}\r\n\
576   built on $%BUILDINFO%\r\n\
577   file version ${PROD_VERSION}"
578 LangString T_About ${LANG_GERMAN} \
579   "GnuPG is das Werkzeug aus dem GNU Projekt zur sicheren Kommunikation \
580    sowie zum sicheren Speichern von Daten. \
581    \r\n\r\n$_CLICK \
582    \r\n\r\n\r\n\r\n\r\nDies ist GnuPG Version ${VERSION}\r\n\
583    erstellt am $%BUILDINFO%\r\n\
584    Dateiversion ${PROD_VERSION}"
585
586 ; Startup page
587 LangString T_GPLHeader ${LANG_ENGLISH} \
588   "This software is licensed under the terms of the GNU General Public \
589    License (GPL) which guarantees your freedom to share and change Free \
590    Software."
591 LangString T_GPLHeader ${LANG_GERMAN}} \
592   "Diese Software ist unter der GNU General Public License \
593    (GPL) lizensiert; dies gibt Ihnen die Freiheit, sie \
594    zu ändern und weiterzugeben."
595
596 LangString T_GPLShort ${LANG_ENGLISH} \
597   "In short: You are allowed to run this software for any purpose. \
598    You may distribute it as long as you give the recipients the same \
599    rights you have received."
600 LangString T_GPLShort ${LANG_GERMAN} \
601   "In aller Kürze: Sie haben das Recht, die Software zu jedem Zweck \
602    einzusetzen.  Sie können die Software weitergeben, sofern Sie dem \
603    Empfänger dieselben Rechte einräumen, die auch Sie erhalten haben."
604
605
606 ; Finish page
607 LangString T_FiniLink ${LANG_ENGLISH} \
608   "Visit the GnuPG website for latest news and support"
609 LangString T_FiniLink ${LANG_GERMAN}} \
610   "Zur GnuPG Website mit Neuigkeiten und Hilfsangeboten"
611
612 ; From Function PrintNonAdminWarning
613 LangString T_AdminNeeded ${LANG_ENGLISH} \
614    "Warning: Administrator permissions required for a successful installation"
615 LangString T_AdminNeeded ${LANG_GERMAN} \
616    "Warnung: Administrator Reche werden für eine erfolgreiche \
617     Installation benötigt."
618
619
620 ; Installation options like language used for GnuPG
621 LangString T_InstallOptions ${LANG_ENGLISH} "Install Options"
622 LangString T_InstallOptions ${LANG_GERMAN}  "Installationsoptionen"
623
624 LangString T_SelectLanguage ${LANG_ENGLISH} "GnuPG Language Selection"
625 LangString T_SelectLanguage ${LANG_German}  "Auswahl der Sprache für GnuPG"
626
627 ; This text is used on the finish page.
628 LangString T_ShowReadme ${LANG_ENGLISH} "Show the README file"
629 LangString T_ShowReadme ${LANG_GERMAN} "Die README Datei anzeigen"
630
631 ; Section names
632 LangString DESC_SecBase ${LANG_ENGLISH} \
633       "The basic files used for the standard OpenPGP protocol"
634 LangString DESC_SecBase ${LANG_GERMAN} \
635       "Die Basis Dateien zur Benutzung des OpenPGP Protokolls"
636
637 Langstring DESC_SecNLS ${LANG_ENGLISH} \
638       "Support for languages other than English"
639 LangString DESC_SecNLS ${LANG_GERMAN} \
640       "Unterstützung für weitere Sprachen neben Englisch"
641
642 LangString DESC_SecTools ${LANG_ENGLISH} \
643       "Extra tools like gpgv and gpgsplit"
644 LangString DESC_SecTools ${LANG_GERMAN} \
645       "Weitere Tools wie gpgv und gpgsplit"
646
647 !ifdef WITH_WINPT
648 LangString DESC_SecWinPT ${LANG_ENGLISH} \
649       "The Windows Privacy Tray (WinPT)"
650 LangString DESC_SecWinPT ${LANG_GERMAN} \
651       "Der Windows Privacy Tray (WinPT)"
652 !endif
653
654 LangString DESC_SecDoc ${LANG_ENGLISH} \
655       "Manual pages and a FAQ"
656 LangString DESC_SecDoc ${LANG_GERMAN} \
657       "Handbuchseiten und eine FAQ"
658
659 LangString DESC_SecSource ${LANG_ENGLISH} \
660       "Quelltextdateien"
661 LangString DESC_SecSource ${LANG_GERMAN} \
662       "Source files"
663
664
665
666 ;-------------------------------------
667 ; Associate section names with strings
668 ;--------------------------------------
669 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
670   !insertmacro MUI_DESCRIPTION_TEXT ${SecBase} $(DESC_SecBase)
671   !insertmacro MUI_DESCRIPTION_TEXT ${SecNLS} $(DESC_SecNLS)
672   !insertmacro MUI_DESCRIPTION_TEXT ${SecTools} $(DESC_SecTools)
673 !ifdef WITH_WINPT
674   !insertmacro MUI_DESCRIPTION_TEXT ${SecWinPT} $(DESC_SecWinPT)
675 !endif
676   !insertmacro MUI_DESCRIPTION_TEXT ${SecDoc} $(DESC_SecDoc)
677 !insertmacro MUI_FUNCTION_DESCRIPTION_END
678