1; Script generated by the HM NIS Edit Script Wizard.
2
3; HM NIS Edit Wizard helper defines
4!define PRODUCT_NAME "DavMail"
5!define PRODUCT_VERSION "${VERSION}"
6!define PRODUCT_PUBLISHER "Micka�l Guessant"
7!define PRODUCT_WEB_SITE "http://sourceforge.net/projects/davmail"
8!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\davmail64.exe"
9!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
10!define PRODUCT_UNINST_ROOT_KEY "HKLM"
11
12; MUI 1.67 compatible ------
13!include "MUI2.nsh"
14
15; MUI Settings
16!define MUI_ABORTWARNING
17!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
18!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
19
20; Language Selection Dialog Settings
21!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
22!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
23!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
24
25; Welcome page
26!insertmacro MUI_PAGE_WELCOME
27; License page
28!insertmacro MUI_PAGE_LICENSE "src\license.txt"
29; Directory page
30!insertmacro MUI_PAGE_DIRECTORY
31
32; Instfiles page
33!insertmacro MUI_PAGE_INSTFILES
34; Finish page
35!define MUI_FINISHPAGE_RUN "$INSTDIR\davmail64.exe"
36!define MUI_FINISHPAGE_SHOWREADME "" #Used as auto start option
37  !define MUI_FINISHPAGE_SHOWREADME_TEXT "Always launch DavMail at log on"
38  !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
39  !define MUI_FINISHPAGE_SHOWREADME_FUNCTION AddRunKey
40!insertmacro MUI_PAGE_FINISH
41
42; Uninstaller pages
43!insertmacro MUI_UNPAGE_INSTFILES
44
45; Language files
46!insertmacro MUI_LANGUAGE "English"
47!insertmacro MUI_LANGUAGE "French"
48
49; MUI end ------
50
51Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
52OutFile "dist\davmail-${PRODUCT_VERSION}-setup64.exe"
53InstallDir "$PROGRAMFILES64\DavMail"
54InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
55ShowInstDetails show
56ShowUnInstDetails show
57
58LangString PAGE_TITLE ${LANG_ENGLISH} "Title"
59LangString PAGE_SUBTITLE ${LANG_ENGLISH} "Subtitle"
60
61Function AddRunKey
62  WriteRegStr HKEY_CURRENT_USER "Software\Microsoft\Windows\CurrentVersion\Run" "DavMail" "$INSTDIR\davmail64.exe"
63FunctionEnd
64
65Function .onInit
66  !insertmacro MUI_LANGDLL_DISPLAY
67FunctionEnd
68
69
70Section
71Push $5
72loop:
73  push "davmail64.exe"
74  processwork::existsprocess
75  pop $5
76  IntCmp $5 0 no_quest
77  MessageBox MB_RETRYCANCEL|MB_ICONSTOP 'DavMail must be closed during this installation.$\r$\n Close DavMail now, or press "Retry" to automatically close DavMail and continue or press "Cancel" to cancel the installation entirely.'  IDCANCEL BailOut
78  push "davmail64.exe"
79  processwork::KillProcess
80  Sleep 2000
81Goto loop
82
83BailOut:
84  Abort
85
86no_quest:
87SectionEnd
88
89Section "MainSection" SEC01
90  SetOutPath "$INSTDIR"
91  SetOverwrite try
92  File "dist\davmail64.exe"
93  CreateDirectory "$SMPROGRAMS\DavMail"
94  CreateShortCut "$SMPROGRAMS\DavMail\DavMail.lnk" "$INSTDIR\davmail64.exe"
95  CreateShortCut "$DESKTOP\DavMail.lnk" "$INSTDIR\davmail64.exe"
96  File "dist\davmail.jar"
97  File "dist\davmail64.exe"
98  File "dist\davmailservice64.exe"
99  SetOutPath "$INSTDIR\lib"
100  File "dist\lib\activation-1.1.1.jar"
101  File "dist\lib\commons-codec-1.11.jar"
102  File "dist\lib\commons-collections-3.1.jar"
103  File "dist\lib\httpcore-4.4.10.jar"
104  File "dist\lib\httpclient-4.5.6.jar"
105  File "dist\lib\commons-logging-1.0.4.jar"
106  File "dist\lib\htmlcleaner-2.21.jar"
107  File "dist\lib\jackrabbit-webdav-2.14.6.jar"
108  File "dist\lib\jcharset-2.0.jar"
109  File "dist\lib\jcifs-1.3.14.jar"
110  File "dist\lib\jdom-1.0.jar"
111  File "dist\lib\jettison-1.4.0.jar"
112  File "dist\lib\log4j-1.2.16.jar"
113  File "dist\lib\javax.mail-1.5.6.jar"
114  File "dist\lib\slf4j-api-1.7.25.jar"
115  File "dist\lib\slf4j-log4j12-1.7.25.jar"
116  File "dist\lib\stax-api-1.0.1.jar"
117  File "dist\lib\stax2-api-3.1.1.jar"
118  File "dist\lib\winrun4j-0.4.5.jar"
119  File "dist\lib\woodstox-core-6.2.0.jar"
120SectionEnd
121
122Section -AdditionalIcons
123  SetOutPath $INSTDIR
124  WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
125  CreateShortCut "$SMPROGRAMS\DavMail\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
126  CreateShortCut "$SMPROGRAMS\DavMail\Uninstall.lnk" "$INSTDIR\uninst.exe"
127SectionEnd
128
129Section -Post
130  WriteUninstaller "$INSTDIR\uninst.exe"
131  WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\davmail64.exe"
132  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
133  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
134  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\davmail64.exe"
135  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
136  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
137  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
138SectionEnd
139
140
141Function un.onUninstSuccess
142  HideWindow
143  MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) has been removed from your system."
144FunctionEnd
145
146Function un.onInit
147!insertmacro MUI_UNGETLANGUAGE
148  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
149  Abort
150FunctionEnd
151
152Section Uninstall
153Push $5
154loop:
155  push "davmail64.exe"
156  processwork::existsprocess
157  pop $5
158  IntCmp $5 0 no_quest
159  MessageBox MB_RETRYCANCEL|MB_ICONSTOP 'DavMail must be closed during this installation.$\r$\n Close DavMail now, or press "Retry" to automatically close DavMail and continue or press "Cancel" to cancel the installation entirely.'  IDCANCEL BailOut
160  push "davmail64.exe"
161  processwork::KillProcess
162  Sleep 2000
163Goto loop
164
165BailOut:
166  Abort
167
168no_quest:
169  Delete "$INSTDIR\${PRODUCT_NAME}.url"
170  Delete "$INSTDIR\uninst.exe"
171
172  Delete "$INSTDIR\lib\activation-1.1.1.jar"
173  Delete "$INSTDIR\lib\commons-codec-1.11.jar"
174  Delete "$INSTDIR\lib\commons-collections-3.1.jar"
175  Delete "$INSTDIR\lib\httpcore-4.4.10.jar"
176  Delete "$INSTDIR\lib\httpclient-4.5.6.jar"
177  Delete "$INSTDIR\lib\commons-logging-1.0.4.jar"
178  Delete "$INSTDIR\lib\htmlcleaner-2.21.jar"
179  Delete "$INSTDIR\lib\jackrabbit-webdav-2.14.6.jar"
180  Delete "$INSTDIR\lib\jcharset-2.0.jar"
181  Delete "$INSTDIR\lib\jcifs-1.3.14.jar"
182  Delete "$INSTDIR\lib\jdom-1.0.jar"
183  Delete "$INSTDIR\lib\jettison-1.4.0.jar"
184  Delete "$INSTDIR\lib\log4j-1.2.16.jar"
185  Delete "$INSTDIR\lib\javax.mail-1.5.6.jar"
186  Delete "$INSTDIR\lib\slf4j-api-1.7.25.jar"
187  Delete "$INSTDIR\lib\slf4j-log4j12-1.7.25.jar"
188  Delete "$INSTDIR\lib\stax-api-1.0.1.jar"
189  Delete "$INSTDIR\lib\stax2-api-3.1.1.jar"
190  Delete "$INSTDIR\lib\winrun4j-0.4.5.jar"
191  Delete "$INSTDIR\lib\woodstox-core-6.2.0.jar"
192
193  Delete "$INSTDIR\davmailservice64.exe"
194  Delete "$INSTDIR\davmail64.exe"
195  Delete "$INSTDIR\davmail.log"
196  Delete "$INSTDIR\davmail.jar"
197
198  Delete "$SMPROGRAMS\DavMail\Uninstall.lnk"
199  Delete "$SMPROGRAMS\DavMail\Website.lnk"
200  Delete "$DESKTOP\DavMail.lnk"
201  Delete "$SMPROGRAMS\DavMail\DavMail.lnk"
202  Delete "$SMPROGRAMS\DavMail\DavMail Console.lnk"
203
204  RMDir "$SMPROGRAMS\DavMail"
205  RMDir "$INSTDIR\lib"
206  RMDir "$INSTDIR"
207
208  DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "DavMail"
209
210  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
211  DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
212  SetAutoClose true
213SectionEnd