2007-10-17 Marcus Brinkmann <marcus@g10code.de>
[gpg4win.git] / src / installer-finish.nsi
1 # installer-finish.nsi - Installer for GPG4Win.      -*- coding: latin-1; -*-
2 # Copyright (C) 2005 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19
20 Var MYTMP
21
22 # Last section is a hidden one.
23 Section
24   WriteUninstaller "$INSTDIR\${PACKAGE}-uninstall.exe"
25
26   # Windows Add/Remove Programs support
27   StrCpy $MYTMP "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRETTY_PACKAGE_SHORT}"
28   WriteRegExpandStr HKLM $MYTMP "UninstallString" '"$INSTDIR\${PACKAGE}-uninstall.exe"'
29   WriteRegExpandStr HKLM $MYTMP "InstallLocation" "$INSTDIR"
30   WriteRegStr       HKLM $MYTMP "DisplayName"     "${PRETTY_PACKAGE}"
31   WriteRegStr       HKLM $MYTMP "DisplayIcon"     "$INSTDIR\gpg.exe,0"
32   WriteRegStr       HKLM $MYTMP "DisplayVersion"  "${VERSION}"
33   WriteRegStr       HKLM $MYTMP "Publisher"       "The Gpg4win Project"
34   WriteRegStr       HKLM $MYTMP "URLInfoAbout"    "http://www.gpg4win.org/"
35   WriteRegDWORD     HKLM $MYTMP "NoModify"        "1"
36   WriteRegDWORD     HKLM $MYTMP "NoRepair"        "1"
37 SectionEnd
38
39
40 Section Uninstall
41
42 !ifdef HAVE_STARTMENU
43   # Make sure that the context of the automatic variables has been set to
44   # the "all users" shell folder.  This guarantees that the menu gets written
45   # for all users.  We have already checked that we are running as Admin; or
46   # we printed a warning that installation will not succeed.
47   SetShellVarContext all
48
49   #---------------------------------------------------
50   # Delete the menu entries and any empty parent menus
51   #---------------------------------------------------
52   !insertmacro MUI_STARTMENU_GETFOLDER Application $MYTMP
53   g4wihelp::config_fetch "inst_start_menu_folder"
54   StrCmp $R0 "" +2
55   StrCpy $MYTMP $R0
56   Delete "$SMPROGRAMS\$MYTMP\*.lnk"
57   StrCpy $MYTMP "$SMPROGRAMS\$MYTMP"
58   startMenuDeleteLoop:
59     ClearErrors
60     RMDir $MYTMP
61     GetFullPathName $MYTMP "$MYTMP\.."
62     IfErrors startMenuDeleteLoopDone
63     StrCmp $MYTMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
64   startMenuDeleteLoopDone:
65
66   DeleteRegValue HKLM "Software\GNU\${PRETTY_PACKAGE_SHORT}" \
67         "Start Menu Folder"
68
69   # Delete Desktop links.
70 !ifdef HAVE_PKG_WINPT
71   Delete "$DESKTOP\WinPT.lnk"
72 !endif
73 !ifdef HAVE_PKG_GPA
74   Delete "$DESKTOP\GPA.lnk"
75 !endif
76 !ifdef HAVE_PKG_KLEOPATRA
77   Delete "$DESKTOP\Kleopatra.lnk"
78 !endif
79 !ifdef HAVE_PKG_SYLPHEED_CLAWS
80   Delete "$DESKTOP\Sylpheed-Claws.lnk"
81   Delete "$DESKTOP\Sylpheed-Claws Manual.lnk" \
82   # We better delete also the name we used prior to 1.0.3
83   Delete "$DESKTOP\Sylpheed.lnk"
84 !endif
85 !ifdef HAVE_PKG_CLAWS_MAIL
86   Delete "$DESKTOP\Claws-Mail.lnk"
87   Delete "$DESKTOP\Claws-Mail Manual.lnk"
88 !endif
89 !ifdef HAVE_PKG_MAN_NOVICE_DE
90   Delete "$DESKTOP\$(DESC_Name_man_novice_de).lnk"
91 !endif
92 !ifdef HAVE_PKG_MAN_NOVICE_EN
93   Delete "$DESKTOP\$(DESC_Name_man_novice_en).lnk"
94 !endif
95 !ifdef HAVE_PKG_MAN_ADVANCED_DE
96   Delete "$DESKTOP\$(DESC_Name_man_advanced_de).lnk"
97 !endif
98 !ifdef HAVE_PKG_GPGEE
99   Delete "$DESKTOP\GPGee Manual.lnk"
100 !endif
101   Delete "$DESKTOP\GnuPG FAQ.lnk"
102   Delete "$DESKTOP\Gpg4Win README.lnk"
103
104   # Delete Quick Launch Bar links.
105   StrCmp $QUICKLAUNCH $TEMP no_quick_launch_uninstall
106 !ifdef HAVE_PKG_WINPT
107   Delete "$QUICKLAUNCH\WinPT.lnk"
108 !endif
109 !ifdef HAVE_PKG_GPA
110   Delete "$QUICKLAUNCH\GPA.lnk"
111 !endif
112 !ifdef HAVE_PKG_KLEOPATRA
113   Delete "$QUICKLAUNCH\Kleopatra.lnk"
114 !endif
115 !ifdef HAVE_PKG_SYLPHEED_CLAWS
116   Delete "$QUICKLAUNCH\Sylpheed-Claws.lnk"
117   # We better delete also the name we used prior to 1.0.3
118   Delete "$QUICKLAUNCH\Sylpheed.lnk"
119 !endif
120 !ifdef HAVE_PKG_CLAWS_MAIL
121   Delete "$QUICKLAUNCH\Claws-Mail.lnk"
122 !endif
123 !ifdef HAVE_PKG_MAN_NOVICE_DE
124   Delete "$QUICKLAUNCH\$(DESC_Name_man_novice_de).lnk"
125 !endif
126 !ifdef HAVE_PKG_MAN_ADVANCED_DE
127   Delete "$QUICKLAUNCH\$(DESC_Name_man_advanced_de).lnk"
128 !endif
129 !ifdef HAVE_PKG_GPGEE
130   Delete "$QUICKLAUNCH\GPGee Manual.lnk"
131 !endif
132   Delete "$QUICKLAUNCH\GnuPG FAQ.lnk"
133   Delete "$QUICKLAUNCH\Gpg4Win README.lnk"
134 no_quick_launch_uninstall:
135
136 !endif
137
138
139   Delete "$INSTDIR\${PACKAGE}-uninstall.exe"
140   RMDir "$INSTDIR"
141
142   # Clean the registry.
143   DeleteRegValue HKLM "Software\GNU\${PRETTY_PACKAGE_SHORT}" \
144         "Install Directory"
145   DeleteRegKey /ifempty HKLM "Software\GNU\${PRETTY_PACKAGE_SHORT}" \
146   # Remove Windows Add/Remove Programs support.
147   DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRETTY_PACKAGE_SHORT}"
148 SectionEnd