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