Updated compendium-de date
[gpg4win.git] / src / inst-dirmngr.nsi
1 # inst-dirmngr.nsi - Installer snippet.            -*- coding: latin-1; -*-
2 # Copyright (C) 2007 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,
19 # MA 02110-1301, USA.
20
21
22 !ifdef prefix
23 !undef prefix
24 !endif
25 !define prefix ${ipdir}/dirmngr-${gpg4win_pkg_dirmngr_version}
26
27 !ifdef DEBUG
28 Section "dirmngr" SEC_dirmngr
29 !else
30 Section "-dirmngr" SEC_dirmngr
31 !endif
32   SetOutPath "$INSTDIR"
33 !ifdef SOURCES
34   File "${gpg4win_pkg_dirmngr}"
35 !else
36   Var /GLOBAL DirMngrStatus
37   g4wihelp::service_query "DirMngr"
38   StrCpy $DirMngrStatus $R0
39
40   File "${prefix}/bin/dirmngr.exe"
41   File "${prefix}/bin/dirmngr-client.exe"
42   File "${prefix}/libexec/dirmngr_ldap.exe"
43
44   # Create a directory for extra certs for documentation reasons.
45   SetShellVarContext all
46   SetOutPath "$APPDATA\GNU\lib\dirmngr\extra-certs"
47
48   # Note: The make-msi.pl script ignores the following line, which is
49   # ok, because the Windows installer does not override locally
50   # modified files.
51   ifFileExists "$APPDATA\GNU\etc\dirmngr\dirmngr.conf" dirmngr_no_conf 0
52    SetOutPath "$APPDATA\GNU\etc\dirmngr"
53
54    File "${SRCDIR}/dirmngr.conf"
55    File "${prefix}/share/doc/dirmngr/examples/bnetza-10r-ocsp.signer"
56
57    SetOutPath "$APPDATA\GNU\etc\dirmngr\trusted-certs"
58    File "${prefix}/share/doc/dirmngr/examples/trusted-certs/README"
59    File "${prefix}/share/doc/dirmngr/examples/trusted-certs/bnetza-10r-ca.crt"
60   dirmngr_no_conf:
61   SetShellVarContext current
62
63   SetOutPath "$INSTDIR"
64
65   StrCmp $DirMngrStatus "MISSING" 0 dirmngr_created
66     # Create the service.
67     g4wihelp::service_create "DirMngr" "DirMngr" \
68                              '"$INSTDIR\dirmngr.exe" --service'
69   dirmngr_created:
70
71   # Start the service.
72   # FIXME: This does not work.  Luckily, it is also not needed.
73   # g4wihelp::service_start "DirMngr" "2" '"$INSTDIR\dirmngr.exe"' "--service"
74   # This works.
75   g4wihelp::service_start "DirMngr" 0
76
77   # If requested, install the configuration files.
78   # Fixme:  I don't think that is right (wk)!
79   ReadRegStr $0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" AppData
80   StrCmp $0 "" no_config_dirmngr_files
81   CreateDirectory "$0\gnupg"
82
83   g4wihelp::config_fetch "dirmngr.conf"
84   StrCmp $R0 "" no_config_dirmngr_conf
85     CopyFiles $R0 "$0\gnupg\dirmngr.conf"
86   no_config_dirmngr_conf:
87
88   g4wihelp::config_fetch "dirmngr_ldapservers.conf"
89   StrCmp $R0 "" no_config_dirmngr_ldapservers_conf
90     CopyFiles $R0 "$0\gnupg\dirmngr_ldapservers.conf"
91   no_config_dirmngr_ldapservers_conf:
92
93   no_config_dirmngr_files:
94
95 !endif
96 SectionEnd