]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - win/inspircd.nsi
Growl.
[user/henk/code/inspircd.git] / win / inspircd.nsi
1 ; Script generated by the HM NIS Edit Script Wizard.\r
2 \r
3 ; HM NIS Edit Wizard helper defines\r
4 !define PRODUCT_NAME "InspIRCd"\r
5 !define PRODUCT_VERSION "1.1"\r
6 !define PRODUCT_PUBLISHER "InspIRCd Development Team"\r
7 !define PRODUCT_WEB_SITE "http://www.inspircd.org/"\r
8 !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\inspircd.exe"\r
9 !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\r
10 !define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
11 \r
12 SetCompressor bzip2\r
13 \r
14 ; MUI 1.67 compatible ------\r
15 !include "MUI.nsh"\r
16 \r
17 ; MUI Settings\r
18 !define MUI_ABORTWARNING\r
19 !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\arrow2-install.ico"\r
20 !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\arrow2-uninstall.ico"\r
21 \r
22 ; Welcome page\r
23 !insertmacro MUI_PAGE_WELCOME\r
24 ; License page\r
25 !define MUI_LICENSEPAGE_CHECKBOX\r
26 !insertmacro MUI_PAGE_LICENSE "..\docs\COPYING"\r
27 ; Components page\r
28 !insertmacro MUI_PAGE_COMPONENTS\r
29 ; Directory page\r
30 !insertmacro MUI_PAGE_DIRECTORY\r
31 ; Instfiles page\r
32 !insertmacro MUI_PAGE_INSTFILES\r
33 ; Finish page\r
34 !define MUI_FINISHPAGE_RUN "$INSTDIR\InspGUI.exe"\r
35 !define MUI_FINISHPAGE_RUN_PARAMETERS "--nofork"\r
36 !insertmacro MUI_PAGE_FINISH\r
37 \r
38 ; Uninstaller pages\r
39 !insertmacro MUI_UNPAGE_INSTFILES\r
40 \r
41 ; Language files\r
42 !insertmacro MUI_LANGUAGE "English"\r
43 \r
44 ; Reserve files\r
45 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS\r
46 \r
47 ; MUI end ------\r
48 \r
49 Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"\r
50 OutFile "Setup.exe"\r
51 InstallDir "$PROGRAMFILES\InspIRCd"\r
52 InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""\r
53 ShowInstDetails show\r
54 ShowUnInstDetails show\r
55 \r
56 Section "Binary Executable" SEC01\r
57   SetOutPath "$INSTDIR\bin"\r
58   SetOverwrite ifnewer\r
59   File "..\bin\debug\InspGUI.exe"\r
60   File "..\bin\debug\bin\inspircd.exe"\r
61   CreateDirectory "$SMPROGRAMS\InspIRCd"\r
62   CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\InspGUI.exe"\r
63 SectionEnd\r
64 \r
65 Section "Config Files" SEC02\r
66   SetOutPath "$INSTDIR\conf"\r
67   File "..\conf\inspircd.motd.example"\r
68   File "..\conf\inspircd.helpop-full.example"\r
69   File "..\conf\inspircd.helpop.example"\r
70   File "..\conf\inspircd.filter.example"\r
71   File "..\conf\inspircd.conf.example"\r
72   File "..\conf\inspircd.censor.example"\r
73   File "..\conf\inspircd.rules.example"\r
74   File "..\conf\inspircd.quotes.example"\r
75 SectionEnd\r
76 \r
77 Section "Command Handlers" SEC03\r
78   SetOutPath "$INSTDIR\lib"\r
79   File "..\bin\debug\lib\cmd_zline.so"\r
80   File "..\bin\debug\lib\cmd_whois.so"\r
81   File "..\bin\debug\lib\cmd_who.so"\r
82   File "..\bin\debug\lib\cmd_wallops.so"\r
83   File "..\bin\debug\lib\cmd_version.so"\r
84   File "..\bin\debug\lib\cmd_users.so"\r
85   File "..\bin\debug\lib\cmd_userhost.so"\r
86   File "..\bin\debug\lib\cmd_user.so"\r
87   File "..\bin\debug\lib\cmd_unloadmodule.so"\r
88   File "..\bin\debug\lib\cmd_trace.so"\r
89   File "..\bin\debug\lib\cmd_topic.so"\r
90   File "..\bin\debug\lib\cmd_time.so"\r
91   File "..\bin\debug\lib\cmd_summon.so"\r
92   File "..\bin\debug\lib\cmd_stats.so"\r
93   File "..\bin\debug\lib\cmd_squit.so"\r
94   File "..\bin\debug\lib\cmd_server.so"\r
95   File "..\bin\debug\lib\cmd_rules.so"\r
96   File "..\bin\debug\lib\cmd_restart.so"\r
97   File "..\bin\debug\lib\cmd_rehash.so"\r
98   File "..\bin\debug\lib\cmd_quit.so"\r
99   File "..\bin\debug\lib\cmd_qline.so"\r
100   File "..\bin\debug\lib\cmd_privmsg.so"\r
101   File "..\bin\debug\lib\cmd_pong.so"\r
102   File "..\bin\debug\lib\cmd_ping.so"\r
103   File "..\bin\debug\lib\cmd_pass.so"\r
104   File "..\bin\debug\lib\cmd_part.so"\r
105   File "..\bin\debug\lib\cmd_oper.so"\r
106   File "..\bin\debug\lib\cmd_notice.so"\r
107   File "..\bin\debug\lib\cmd_nick.so"\r
108   File "..\bin\debug\lib\cmd_names.so"\r
109   File "..\bin\debug\lib\cmd_motd.so"\r
110   File "..\bin\debug\lib\cmd_modules.so"\r
111   File "..\bin\debug\lib\cmd_mode.so"\r
112   File "..\bin\debug\lib\cmd_map.so"\r
113   File "..\bin\debug\lib\cmd_lusers.so"\r
114   File "..\bin\debug\lib\cmd_loadmodule.so"\r
115   File "..\bin\debug\lib\cmd_list.so"\r
116   File "..\bin\debug\lib\cmd_links.so"\r
117   File "..\bin\debug\lib\cmd_kline.so"\r
118   File "..\bin\debug\lib\cmd_kill.so"\r
119   File "..\bin\debug\lib\cmd_kick.so"\r
120   File "..\bin\debug\lib\cmd_join.so"\r
121   File "..\bin\debug\lib\cmd_ison.so"\r
122   File "..\bin\debug\lib\cmd_invite.so"\r
123   File "..\bin\debug\lib\cmd_info.so"\r
124   File "..\bin\debug\lib\cmd_gline.so"\r
125   File "..\bin\debug\lib\cmd_eline.so"\r
126   File "..\bin\debug\lib\cmd_die.so"\r
127   File "..\bin\debug\lib\cmd_connect.so"\r
128   File "..\bin\debug\lib\cmd_commands.so"\r
129   File "..\bin\debug\lib\cmd_clearcache.so"\r
130   File "..\bin\debug\lib\cmd_away.so"\r
131   File "..\bin\debug\lib\cmd_admin.so"\r
132 SectionEnd\r
133 \r
134 Section "Modules" SEC04\r
135   SetOutPath "$INSTDIR\modules"\r
136   File "..\bin\debug\modules\m_showwhois.so"\r
137   File "..\bin\debug\modules\m_sha256.so"\r
138   File "..\bin\debug\modules\m_setname.so"\r
139   File "..\bin\debug\modules\m_setident.so"\r
140   File "..\bin\debug\modules\m_sethost.so"\r
141   File "..\bin\debug\modules\m_services_account.so"\r
142   File "..\bin\debug\modules\m_saquit.so"\r
143   File "..\bin\debug\modules\m_sapart.so"\r
144   File "..\bin\debug\modules\m_sanick.so"\r
145   File "..\bin\debug\modules\m_samode.so"\r
146   File "..\bin\debug\modules\m_sajoin.so"\r
147   File "..\bin\debug\modules\m_randquote.so"\r
148   File "..\bin\debug\modules\m_operchans.so"\r
149   File "..\bin\debug\modules\m_noctcp.so"\r
150   File "..\bin\debug\modules\m_md5.so"\r
151   File "..\bin\debug\modules\m_hideoper.so"\r
152   File "..\bin\debug\modules\m_hidechans.so"\r
153   File "..\bin\debug\modules\m_globops.so"\r
154   File "..\bin\debug\modules\m_globalload.so"\r
155   File "..\bin\debug\modules\m_devoice.so"\r
156   File "..\bin\debug\modules\m_conn_umodes.so"\r
157   File "..\bin\debug\modules\m_conn_lusers.so"\r
158   File "..\bin\debug\modules\m_cloaking.so"\r
159   File "..\bin\debug\modules\m_chghost.so"\r
160   File "..\bin\debug\modules\m_blockcolor.so"\r
161   File "..\bin\debug\modules\m_banexception.so"\r
162   File "..\bin\debug\modules\m_alltime.so"\r
163   File "..\bin\debug\modules\m_alias.so"\r
164   File "..\bin\debug\modules\m_spanningtree.so"\r
165 SectionEnd\r
166 \r
167 Section -AdditionalIcons\r
168   SetOutPath $INSTDIR\r
169   WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"\r
170   CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"\r
171   CreateShortCut "$SMPROGRAMS\InspIRCd\Uninstall.lnk" "$INSTDIR\uninst.exe"\r
172 SectionEnd\r
173 \r
174 Section -Post\r
175   WriteUninstaller "$INSTDIR\uninst.exe"\r
176   WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\bin\inspircd.exe"\r
177   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"\r
178   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"\r
179   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\bin\inspircd.exe"\r
180   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"\r
181   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"\r
182   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"\r
183 SectionEnd\r
184 \r
185 ; Section descriptions\r
186 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN\r
187   !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Actual Executable"\r
188   !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Default Config Files"\r
189   !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "Command Modules"\r
190   !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "Optional Modules"\r
191 !insertmacro MUI_FUNCTION_DESCRIPTION_END\r
192 \r
193 \r
194 Function un.onUninstSuccess\r
195   HideWindow\r
196   MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."\r
197 FunctionEnd\r
198 \r
199 Function un.onInit\r
200   MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2\r
201   Abort\r
202 FunctionEnd\r
203 \r
204 Section Uninstall\r
205   Delete "$INSTDIR\${PRODUCT_NAME}.url"\r
206   Delete "$INSTDIR\uninst.exe"\r
207   Delete "$INSTDIR\modules\m_spanningtree.so"\r
208   Delete "$INSTDIR\modules\m_alias.so"\r
209   Delete "$INSTDIR\modules\m_alltime.so"\r
210   Delete "$INSTDIR\modules\m_banexception.so"\r
211   Delete "$INSTDIR\modules\m_blockcolor.so"\r
212   Delete "$INSTDIR\modules\m_chghost.so"\r
213   Delete "$INSTDIR\modules\m_cloaking.so"\r
214   Delete "$INSTDIR\modules\m_conn_lusers.so"\r
215   Delete "$INSTDIR\modules\m_conn_umodes.so"\r
216   Delete "$INSTDIR\modules\m_devoice.so"\r
217   Delete "$INSTDIR\modules\m_globalload.so"\r
218   Delete "$INSTDIR\modules\m_globops.so"\r
219   Delete "$INSTDIR\modules\m_hidechans.so"\r
220   Delete "$INSTDIR\modules\m_hideoper.so"\r
221   Delete "$INSTDIR\modules\m_md5.so"\r
222   Delete "$INSTDIR\modules\m_noctcp.so"\r
223   Delete "$INSTDIR\modules\m_operchans.so"\r
224   Delete "$INSTDIR\modules\m_randquote.so"\r
225   Delete "$INSTDIR\modules\m_sajoin.so"\r
226   Delete "$INSTDIR\modules\m_samode.so"\r
227   Delete "$INSTDIR\modules\m_sanick.so"\r
228   Delete "$INSTDIR\modules\m_sapart.so"\r
229   Delete "$INSTDIR\modules\m_saquit.so"\r
230   Delete "$INSTDIR\modules\m_services_account.so"\r
231   Delete "$INSTDIR\modules\m_sethost.so"\r
232   Delete "$INSTDIR\modules\m_setident.so"\r
233   Delete "$INSTDIR\modules\m_setname.so"\r
234   Delete "$INSTDIR\modules\m_sha256.so"\r
235   Delete "$INSTDIR\modules\m_showwhois.so"\r
236   Delete "$INSTDIR\lib\cmd_admin.so"\r
237   Delete "$INSTDIR\lib\cmd_away.so"\r
238   Delete "$INSTDIR\lib\cmd_clearcache.so"\r
239   Delete "$INSTDIR\lib\cmd_commands.so"\r
240   Delete "$INSTDIR\lib\cmd_connect.so"\r
241   Delete "$INSTDIR\lib\cmd_die.so"\r
242   Delete "$INSTDIR\lib\cmd_eline.so"\r
243   Delete "$INSTDIR\lib\cmd_gline.so"\r
244   Delete "$INSTDIR\lib\cmd_info.so"\r
245   Delete "$INSTDIR\lib\cmd_invite.so"\r
246   Delete "$INSTDIR\lib\cmd_ison.so"\r
247   Delete "$INSTDIR\lib\cmd_join.so"\r
248   Delete "$INSTDIR\lib\cmd_kick.so"\r
249   Delete "$INSTDIR\lib\cmd_kill.so"\r
250   Delete "$INSTDIR\lib\cmd_kline.so"\r
251   Delete "$INSTDIR\lib\cmd_links.so"\r
252   Delete "$INSTDIR\lib\cmd_list.so"\r
253   Delete "$INSTDIR\lib\cmd_loadmodule.so"\r
254   Delete "$INSTDIR\lib\cmd_lusers.so"\r
255   Delete "$INSTDIR\lib\cmd_map.so"\r
256   Delete "$INSTDIR\lib\cmd_mode.so"\r
257   Delete "$INSTDIR\lib\cmd_modules.so"\r
258   Delete "$INSTDIR\lib\cmd_motd.so"\r
259   Delete "$INSTDIR\lib\cmd_names.so"\r
260   Delete "$INSTDIR\lib\cmd_nick.so"\r
261   Delete "$INSTDIR\lib\cmd_notice.so"\r
262   Delete "$INSTDIR\lib\cmd_oper.so"\r
263   Delete "$INSTDIR\lib\cmd_part.so"\r
264   Delete "$INSTDIR\lib\cmd_pass.so"\r
265   Delete "$INSTDIR\lib\cmd_ping.so"\r
266   Delete "$INSTDIR\lib\cmd_pong.so"\r
267   Delete "$INSTDIR\lib\cmd_privmsg.so"\r
268   Delete "$INSTDIR\lib\cmd_qline.so"\r
269   Delete "$INSTDIR\lib\cmd_quit.so"\r
270   Delete "$INSTDIR\lib\cmd_rehash.so"\r
271   Delete "$INSTDIR\lib\cmd_restart.so"\r
272   Delete "$INSTDIR\lib\cmd_rules.so"\r
273   Delete "$INSTDIR\lib\cmd_server.so"\r
274   Delete "$INSTDIR\lib\cmd_squit.so"\r
275   Delete "$INSTDIR\lib\cmd_stats.so"\r
276   Delete "$INSTDIR\lib\cmd_summon.so"\r
277   Delete "$INSTDIR\lib\cmd_time.so"\r
278   Delete "$INSTDIR\lib\cmd_topic.so"\r
279   Delete "$INSTDIR\lib\cmd_trace.so"\r
280   Delete "$INSTDIR\lib\cmd_unloadmodule.so"\r
281   Delete "$INSTDIR\lib\cmd_user.so"\r
282   Delete "$INSTDIR\lib\cmd_userhost.so"\r
283   Delete "$INSTDIR\lib\cmd_users.so"\r
284   Delete "$INSTDIR\lib\cmd_version.so"\r
285   Delete "$INSTDIR\lib\cmd_wallops.so"\r
286   Delete "$INSTDIR\lib\cmd_who.so"\r
287   Delete "$INSTDIR\lib\cmd_whois.so"\r
288   Delete "$INSTDIR\lib\cmd_zline.so"\r
289   Delete "$INSTDIR\conf\inspircd.quotes.example"\r
290   Delete "$INSTDIR\conf\inspircd.rules.example"\r
291   Delete "$INSTDIR\conf\inspircd.censor.example"\r
292   Delete "$INSTDIR\conf\inspircd.conf.example"\r
293   Delete "$INSTDIR\conf\inspircd.filter.example"\r
294   Delete "$INSTDIR\conf\inspircd.helpop.example"\r
295   Delete "$INSTDIR\conf\inspircd.helpop-full.example"\r
296   Delete "$INSTDIR\conf\inspircd.motd.example"\r
297   Delete "$INSTDIR\bin\inspircd.exe"\r
298   Delete "$INSTDIR\InspGUI.exe"\r
299 \r
300   Delete "$SMPROGRAMS\InspIRCd\Uninstall.lnk"\r
301   Delete "$SMPROGRAMS\InspIRCd\Website.lnk"\r
302   Delete "$SMPROGRAMS\InspIRCd\InspIRCd.lnk"\r
303 \r
304   RMDir "$SMPROGRAMS\InspIRCd"\r
305   RMDir "$INSTDIR\modules"\r
306   RMDir "$INSTDIR\lib"\r
307   RMDir "$INSTDIR\conf"\r
308   RMDir "$INSTDIR\bin"\r
309 \r
310   DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"\r
311   DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"\r
312   SetAutoClose true\r
313 SectionEnd\r