blob: 8a3ebe1676ae5165ef1154b61696694cb055cb93 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
|
; w32installer.nsi - W32 Installer definition -*- lisp -*-
; Copyright (C) 2005 Free Software Foundation, Inc.
;
; This file is free software; as a special exception the author gives
; unlimited permission to copy and/or distribute it, with or without
; modifications, as long as this notice is preserved.
;
; This program is distributed in the hope that it will be useful, but
; WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
;----------------------------------------------------------------------
; This is an installer script used to create a W32 installer "exe" file
; using NSIS. It is usually used by the mk-w32-dist script.
;----------------------------------------------------------------------
; TODO:
; - Display credit for the installer
; - Provide the location of the corresponding source
; - Check for iconv.dll and optionalkly install or download it.
; - Allow inclusion of the source into the installer.
; - Translate all strings
; - Setup the home directory and check for old (c:/gnupg located)
; versions of the program
; We use the modern UI.
!include "MUI.nsh"
; -------------
; General stuff
; -------------
Name "GNU Privacy Guard"
OutFile "gnupg-w32cli-${VERSION}.exe"
InstallDir "$PROGRAMFILES\GNU\GnuPG"
InstallDirRegKey HKCU "Software\GNU\GnuPG" ""
SetCompressor lzma
ReserveFile "COPYING.txt"
; ------------------
; Interface Settings
; ------------------
!define MUI_ABORTWARNING
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
; Remember the installer language
!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
!define MUI_LANGDLL_REGISTRY_KEY "Software\GNU\GnuPG"
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
; -----
; Pages
; -----
!define MUI_WELCOMEPAGE_TEXT "$(T_About)"
!insertmacro MUI_PAGE_WELCOME
!define MUI_PAGE_HEADER_SUBTEXT \
"This software is licensed under the terms of the GNU General Public \
License (GPL) which guarantees your freedom to share and change Free \
Software."
!define MUI_LICENSEPAGE_TEXT_BOTTOM \
"In short: You are allowed to run this software for any purpose. \
You may distribute it as long as you give the recipients the same \
rights you have received."
!define MUI_LICENSEPAGE_BUTTON "$(^NextBtn)"
!insertmacro MUI_PAGE_LICENSE "COPYING.txt"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_SHOWREADME "README.txt"
!define MUI_FINISHPAGE_SHOWREADME_TEXT "$(T_ShowReadme)"
!define MUI_FINISHPAGE_LINK "Goto the GnuPG website"
!define MUI_FINISHPAGE_LINK_LOCATION "http://www.gnupg.org"
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
; -----------------
; i18n Declarations
; -----------------
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "German"
; ------------------
; Installer Sections
; ------------------
;InstType "full"
;InstType "minimal"
;----------------------
Section "Base" SecBase
; SectionIn 1 2 RO
SectionIn RO
SetOutPath "$INSTDIR"
File "README.txt"
File "README.W32"
File "COPYING.txt"
File "gpg.exe"
File "gpgkeys_finger.exe"
File "gpgkeys_hkp.exe"
File "gpgkeys_http.exe"
File "gpgkeys_ldap.exe"
File "*.mo"
WriteRegStr HKCU "Software\GNU\GnuPG" "" $INSTDIR
WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd ; Section Base
;------------------------
Section "Tools" SecTools
; SectionIn 1
File "gpgsplit.exe"
File "gpgv.exe"
SectionEnd ; Section Tools
;----------------------
Section "Documentation" SecDoc
; SectionIn 1
File "gnupg.man"
File "gpg.man"
File "gpgv.man"
File "NEWS.txt"
File "FAQ.txt"
SectionEnd ; Section Documentation
;------------------
!ifdef WITH_SOURCE
Section "Source" SecSource
; Note that we include the uncompressed tarball because this allows
; far better compression results for the distribution. We might
; want to compress it again after installation.
File "gnupg-1.4.0.tar"
SectionEnd ; Section Source
!endif
;------------------
Section "Uninstall"
Delete "$INSTDIR\README.txt"
Delete "$INSTDIR\README.W32"
Delete "$INSTDIR\COPYING.txt"
Delete "$INSTDIR\gpg.exe"
Delete "$INSTDIR\gpgkeys_finger.exe"
Delete "$INSTDIR\gpgkeys_hkp.exe"
Delete "$INSTDIR\gpgkeys_http.exe"
Delete "$INSTDIR\gpgkeys_ldap.exe"
Delete "$INSTDIR\*.mo"
Delete "$INSTDIR\gpgsplit.exe"
Delete "$INSTDIR\gpgv.exe"
Delete "$INSTDIR\gnupg.man"
Delete "$INSTDIR\gpg.man"
Delete "$INSTDIR\gpgv.man"
Delete "$INSTDIR\NEWS.txt"
Delete "$INSTDIR\FAQ.txt"
Delete "$INSTDIR\Uninstall.exe"
RMDir "$INSTDIR"
DeleteRegKey /ifempty HKCU "Software\GNU\GnuPG"
SectionEnd ; Uninstall
; ---------
; Functions
; ---------
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
FunctionEnd
; ------------
; Descriptions
; ------------
LangString T_About ${LANG_ENGLISH} \
"GnuPG is GNU's tool for secure communication and data storage. \
It can be used to encrypt data and to create digital signatures. \
It includes an advanced key management facility and is compliant \
with the proposed OpenPGP Internet standard as described in RFC2440."
LangString T_About ${LANG_GERMAN} \
"GnuPG is das Werzeug aus dem GNU Projekt zur sicheren Kommunikation \
sowie zum sicheren Speichern von Daten."
LangString T_ShowReadme ${LANG_ENGLISH} "Show the README file"
LangString T_ShowReadme ${LANG_GERMAN} "Die README Datei anzeigen"
LangString DESC_SecBase ${LANG_ENGLISH} \
"The basic files used for the standard OpenPGP protocol"
LangString DESC_SecBase ${LANG_GERMAN} \
"Die Basis Dateien zur Benutzung des OpenPGP Protokolls"
LangString DESC_SecTools ${LANG_ENGLISH} \
"Extra tools like gpgv and gpgsplit"
LangString DESC_SecTools ${LANG_GERMAN} \
"Weitere Tools wie gpgv und gpgsplit"
LangString DESC_SecDoc ${LANG_ENGLISH} \
"Manual pages and a FAQ"
LangString DESC_SecDoc ${LANG_GERMAN} \
"Handbuchseiten und eine FAQ"
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecBase} $(DESC_SecBase)
!insertmacro MUI_DESCRIPTION_TEXT ${SecTools} $(DESC_SecTools)
!insertmacro MUI_DESCRIPTION_TEXT ${SecDoc} $(DESC_SecDoc)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|