]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - win/inspircd.nsi
9242d4c6ae5d55932c476b2c8bf457082b99a855
[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"\r
58   SetOverwrite ifnewer\r
59   File "..\bin\debug\InspGUI.exe"\r
60   CreateDirectory "$SMPROGRAMS\InspIRCd"\r
61   CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\InspGUI.exe"\r
62   SetOutPath "$INSTDIR\bin"\r
63   SetOverwrite ifnewer\r
64   File "..\bin\debug\bin\inspircd.exe"\r
65 SectionEnd\r
66 \r
67 Section "Config Files" SEC02\r
68   SetOutPath "$INSTDIR\conf"\r
69   File "..\conf\inspircd.motd.example"\r
70   File "..\conf\inspircd.helpop-full.example"\r
71   File "..\conf\inspircd.helpop.example"\r
72   File "..\conf\inspircd.filter.example"\r
73   File "..\docs\inspircd.conf.example"\r
74   File "..\conf\inspircd.censor.example"\r
75   File "..\conf\inspircd.rules.example"\r
76   File "..\conf\inspircd.quotes.example"\r
77 SectionEnd\r
78 \r
79 Section "Command Handlers" SEC03\r
80   SetOutPath "$INSTDIR\lib"\r
81   File "..\bin\debug\lib\cmd_*.so"\r
82 SectionEnd\r
83 \r
84 Section "Modules" SEC04\r
85   SetOutPath "$INSTDIR\modules"\r
86   File "..\bin\debug\modules\*.so"\r
87 SectionEnd\r
88 \r
89 Section -AdditionalIcons\r
90   SetOutPath $INSTDIR\r
91   WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"\r
92   CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"\r
93   CreateShortCut "$SMPROGRAMS\InspIRCd\Uninstall.lnk" "$INSTDIR\uninst.exe"\r
94 SectionEnd\r
95 \r
96 Section -Post\r
97   WriteUninstaller "$INSTDIR\uninst.exe"\r
98   WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\bin\inspircd.exe"\r
99   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"\r
100   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"\r
101   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\bin\inspircd.exe"\r
102   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"\r
103   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"\r
104   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"\r
105 SectionEnd\r
106 \r
107 ; Section descriptions\r
108 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN\r
109   !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Actual Executable"\r
110   !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Default Config Files"\r
111   !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "Command Modules"\r
112   !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "Optional Modules"\r
113 !insertmacro MUI_FUNCTION_DESCRIPTION_END\r
114 \r
115 \r
116 Function un.onUninstSuccess\r
117   HideWindow\r
118   MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."\r
119 FunctionEnd\r
120 \r
121 Function un.onInit\r
122   MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2\r
123   Abort\r
124 FunctionEnd\r
125 \r
126 Section Uninstall\r
127   Delete "$INSTDIR\${PRODUCT_NAME}.url"\r
128   Delete "$INSTDIR\uninst.exe"\r
129   Delete "$INSTDIR\modules\m_spanningtree.so"\r
130   Delete "$INSTDIR\modules\m_alias.so"\r
131   Delete "$INSTDIR\modules\m_alltime.so"\r
132   Delete "$INSTDIR\modules\m_banexception.so"\r
133   Delete "$INSTDIR\modules\m_blockcolor.so"\r
134   Delete "$INSTDIR\modules\m_chghost.so"\r
135   Delete "$INSTDIR\modules\m_cloaking.so"\r
136   Delete "$INSTDIR\modules\m_conn_lusers.so"\r
137   Delete "$INSTDIR\modules\m_conn_umodes.so"\r
138   Delete "$INSTDIR\modules\m_devoice.so"\r
139   Delete "$INSTDIR\modules\m_globalload.so"\r
140   Delete "$INSTDIR\modules\m_globops.so"\r
141   Delete "$INSTDIR\modules\m_hidechans.so"\r
142   Delete "$INSTDIR\modules\m_hideoper.so"\r
143   Delete "$INSTDIR\modules\m_md5.so"\r
144   Delete "$INSTDIR\modules\m_noctcp.so"\r
145   Delete "$INSTDIR\modules\m_operchans.so"\r
146   Delete "$INSTDIR\modules\m_randquote.so"\r
147   Delete "$INSTDIR\modules\m_sajoin.so"\r
148   Delete "$INSTDIR\modules\m_samode.so"\r
149   Delete "$INSTDIR\modules\m_sanick.so"\r
150   Delete "$INSTDIR\modules\m_sapart.so"\r
151   Delete "$INSTDIR\modules\m_saquit.so"\r
152   Delete "$INSTDIR\modules\m_services_account.so"\r
153   Delete "$INSTDIR\modules\m_sethost.so"\r
154   Delete "$INSTDIR\modules\m_setident.so"\r
155   Delete "$INSTDIR\modules\m_setname.so"\r
156   Delete "$INSTDIR\modules\m_sha256.so"\r
157   Delete "$INSTDIR\modules\m_showwhois.so"\r
158   Delete "$INSTDIR\lib\cmd_admin.so"\r
159   Delete "$INSTDIR\lib\cmd_away.so"\r
160   Delete "$INSTDIR\lib\cmd_clearcache.so"\r
161   Delete "$INSTDIR\lib\cmd_commands.so"\r
162   Delete "$INSTDIR\lib\cmd_connect.so"\r
163   Delete "$INSTDIR\lib\cmd_die.so"\r
164   Delete "$INSTDIR\lib\cmd_eline.so"\r
165   Delete "$INSTDIR\lib\cmd_gline.so"\r
166   Delete "$INSTDIR\lib\cmd_info.so"\r
167   Delete "$INSTDIR\lib\cmd_invite.so"\r
168   Delete "$INSTDIR\lib\cmd_ison.so"\r
169   Delete "$INSTDIR\lib\cmd_join.so"\r
170   Delete "$INSTDIR\lib\cmd_kick.so"\r
171   Delete "$INSTDIR\lib\cmd_kill.so"\r
172   Delete "$INSTDIR\lib\cmd_kline.so"\r
173   Delete "$INSTDIR\lib\cmd_links.so"\r
174   Delete "$INSTDIR\lib\cmd_list.so"\r
175   Delete "$INSTDIR\lib\cmd_loadmodule.so"\r
176   Delete "$INSTDIR\lib\cmd_lusers.so"\r
177   Delete "$INSTDIR\lib\cmd_map.so"\r
178   Delete "$INSTDIR\lib\cmd_mode.so"\r
179   Delete "$INSTDIR\lib\cmd_modules.so"\r
180   Delete "$INSTDIR\lib\cmd_motd.so"\r
181   Delete "$INSTDIR\lib\cmd_names.so"\r
182   Delete "$INSTDIR\lib\cmd_nick.so"\r
183   Delete "$INSTDIR\lib\cmd_notice.so"\r
184   Delete "$INSTDIR\lib\cmd_oper.so"\r
185   Delete "$INSTDIR\lib\cmd_part.so"\r
186   Delete "$INSTDIR\lib\cmd_pass.so"\r
187   Delete "$INSTDIR\lib\cmd_ping.so"\r
188   Delete "$INSTDIR\lib\cmd_pong.so"\r
189   Delete "$INSTDIR\lib\cmd_privmsg.so"\r
190   Delete "$INSTDIR\lib\cmd_qline.so"\r
191   Delete "$INSTDIR\lib\cmd_quit.so"\r
192   Delete "$INSTDIR\lib\cmd_rehash.so"\r
193   Delete "$INSTDIR\lib\cmd_restart.so"\r
194   Delete "$INSTDIR\lib\cmd_rules.so"\r
195   Delete "$INSTDIR\lib\cmd_server.so"\r
196   Delete "$INSTDIR\lib\cmd_squit.so"\r
197   Delete "$INSTDIR\lib\cmd_stats.so"\r
198   Delete "$INSTDIR\lib\cmd_summon.so"\r
199   Delete "$INSTDIR\lib\cmd_time.so"\r
200   Delete "$INSTDIR\lib\cmd_topic.so"\r
201   Delete "$INSTDIR\lib\cmd_trace.so"\r
202   Delete "$INSTDIR\lib\cmd_unloadmodule.so"\r
203   Delete "$INSTDIR\lib\cmd_user.so"\r
204   Delete "$INSTDIR\lib\cmd_userhost.so"\r
205   Delete "$INSTDIR\lib\cmd_users.so"\r
206   Delete "$INSTDIR\lib\cmd_version.so"\r
207   Delete "$INSTDIR\lib\cmd_wallops.so"\r
208   Delete "$INSTDIR\lib\cmd_who.so"\r
209   Delete "$INSTDIR\lib\cmd_whois.so"\r
210   Delete "$INSTDIR\lib\cmd_zline.so"\r
211   Delete "$INSTDIR\conf\inspircd.quotes.example"\r
212   Delete "$INSTDIR\conf\inspircd.rules.example"\r
213   Delete "$INSTDIR\conf\inspircd.censor.example"\r
214   Delete "$INSTDIR\conf\inspircd.conf.example"\r
215   Delete "$INSTDIR\conf\inspircd.filter.example"\r
216   Delete "$INSTDIR\conf\inspircd.helpop.example"\r
217   Delete "$INSTDIR\conf\inspircd.helpop-full.example"\r
218   Delete "$INSTDIR\conf\inspircd.motd.example"\r
219   Delete "$INSTDIR\bin\inspircd.exe"\r
220   Delete "$INSTDIR\InspGUI.exe"\r
221 \r
222   Delete "$SMPROGRAMS\InspIRCd\Uninstall.lnk"\r
223   Delete "$SMPROGRAMS\InspIRCd\Website.lnk"\r
224   Delete "$SMPROGRAMS\InspIRCd\InspIRCd.lnk"\r
225 \r
226   RMDir "$SMPROGRAMS\InspIRCd"\r
227   RMDir "$INSTDIR\modules"\r
228   RMDir "$INSTDIR\lib"\r
229   RMDir "$INSTDIR\conf"\r
230   RMDir "$INSTDIR\bin"\r
231 \r
232   DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"\r
233   DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"\r
234   SetAutoClose true\r
235 SectionEnd\r