|
1 ; Script generated by the HM NIS Edit Script Wizard. |
|
2 |
|
3 ; HM NIS Edit Wizard helper defines |
|
4 !define PRODUCT_NAME "Enano CMS" |
|
5 !define PRODUCT_VERSION "1.1.6" |
|
6 !define PRODUCT_PUBLISHER "Enano CMS Project" |
|
7 !define PRODUCT_WEB_SITE "http://enanocms.org" |
|
8 !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" |
|
9 !define PRODUCT_UNINST_ROOT_KEY "HKLM" |
|
10 !define PRODUCT_SHORTNAME "enanocms" |
|
11 |
|
12 !ifndef ENANO_ROOT |
|
13 !define ENANO_ROOT "Q:\enano-1.1\repo" |
|
14 !endif |
|
15 |
|
16 SetCompressor /FINAL /SOLID lzma |
|
17 CRCCheck force |
|
18 |
|
19 Var wampstack_installed |
|
20 Var wappstack_installed |
|
21 Var stack_type |
|
22 Var stack_instdir |
|
23 Var stack_portbit |
|
24 Var db_dbmsname |
|
25 Var db_rootuser |
|
26 Var db_rootpass |
|
27 Var db_needroot |
|
28 Var db_driver |
|
29 Var db_port |
|
30 Var db_user |
|
31 Var db_password |
|
32 Var db_name |
|
33 Var enano_user |
|
34 Var enano_password |
|
35 Var admin_email |
|
36 Var site_name |
|
37 Var site_desc |
|
38 Var site_copyright |
|
39 Var url_scheme |
|
40 Var start_with |
|
41 |
|
42 !include "inst-resources\bitnamiutils.nsh" |
|
43 !include "inst-resources\dbal.nsh" |
|
44 !include "inst-resources\mysql.nsh" |
|
45 !include "inst-resources\postgresql.nsh" |
|
46 !include "inst-resources\str_replace.nsh" |
|
47 !include "inst-resources\kickstart.nsh" |
|
48 !include "inst-resources\apacheconfig.nsh" |
|
49 !include "inst-resources\applist.nsh" |
|
50 |
|
51 Function .onInit |
|
52 Call BNSetWAMPInstalledFlag |
|
53 Call BNSetWAPPInstalledFlag |
|
54 |
|
55 ; If neither WAMP nor WAPP is installed, die |
|
56 StrCmp $wampstack_installed 0 "" FoundStack |
|
57 StrCmp $wampstack_installed 0 "" FoundStack |
|
58 |
|
59 MessageBox MB_OK|MB_ICONEXCLAMATION "Setup could not find any BitNami stacks on your server.$\r$\n\ |
|
60 $\r$\n\ |
|
61 Please install a BitNami stack and re-run setup. You can download a BitNami stack for free from http://www.bitnami.org." |
|
62 Abort |
|
63 |
|
64 FoundStack: |
|
65 FunctionEnd |
|
66 |
|
67 ; ExperienceUI GUI parameters |
|
68 !define XPUI_BGIMAGE |
|
69 !define XPUI_BGIMAGE_BMP "gfx\enano-bg.bmp" |
|
70 !define XPUI_TEXT_COLOR "F2F2F2" |
|
71 !define XPUI_TEXT_BGCOLOR "202020" ; irrelevant but still |
|
72 !define XPUI_TEXT_LIGHTCOLOR "B4C3EA" |
|
73 !define XPUI_ABORTWARNING |
|
74 !define XPUI_BRANDINGTEXT "NSIS Installer ${NSIS_VERSION}" |
|
75 !define XPUI_BRANDINGTEXT_COLOR_FG "b6d9ff" |
|
76 !define XPUI_BRANDINGTEXT_COLOR_BG "4c5b6b" |
|
77 !define XPUI_FASTERSKINNING |
|
78 |
|
79 ; MUI 1.67 compatible / XPUI 1.11 (2.0pre) compatible ------ |
|
80 !ifndef XPUI_SYSDIR |
|
81 !define XPUI_SYSDIR "C:\ExperienceUI\Contrib\ExperienceUI" |
|
82 !endif |
|
83 !include "${XPUI_SYSDIR}\..\..\Include\XPUI.nsh" |
|
84 |
|
85 ; MUI Settings |
|
86 !define MUI_ABORTWARNING |
|
87 !define MUI_ICON "inst-resources\generic-install.ico" |
|
88 !define MUI_UNICON "inst-resources\generic-uninstall.ico" |
|
89 !include "WinMessages.nsh" |
|
90 |
|
91 ; Welcome page |
|
92 !insertmacro XPUI_PAGE_WELCOME2 |
|
93 ; License page |
|
94 !insertmacro MUI_PAGE_LICENSE "licenses\GPL.txt" |
|
95 ; Stack selection - automatic unless both stacks are installed |
|
96 !include "pages\StackSelect.nsi" |
|
97 ; Database credentials entry |
|
98 !include "pages\DatabaseConfig.nsi" |
|
99 ; Site config page |
|
100 !include "pages\SiteConfig.nsi" |
|
101 ; User credentials page |
|
102 !include "pages\Login.nsi" |
|
103 ; Components page |
|
104 !insertmacro MUI_PAGE_COMPONENTS |
|
105 ; Instfiles page |
|
106 !insertmacro MUI_PAGE_INSTFILES |
|
107 ; Finish page |
|
108 !define XPUI_FINISHPAGE_RUN |
|
109 !define XPUI_FINISHPAGE_CHECKBOX_RUN "Go to my new $(^Name) website now" |
|
110 !define XPUI_FINISHPAGE_RUN_FUNCTION OpenBitnamiWebsite |
|
111 Function OpenBitnamiWebsite |
|
112 ExecShell open "http://localhost$stack_portbit/${PRODUCT_SHORTNAME}/" |
|
113 FunctionEnd |
|
114 !insertmacro MUI_PAGE_FINISH |
|
115 |
|
116 !insertmacro XPUI_PAGE_ABORT |
|
117 |
|
118 ; Uninstaller pages |
|
119 !insertmacro MUI_UNPAGE_INSTFILES |
|
120 |
|
121 ; Language files |
|
122 !insertmacro MUI_LANGUAGE "English" |
|
123 |
|
124 ; Reserve files |
|
125 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS |
|
126 |
|
127 ; MUI end ------ |
|
128 |
|
129 ; File lists |
|
130 !include "inst-resources\core-files.nsh" |
|
131 ; End file lists |
|
132 |
|
133 Name "${PRODUCT_NAME}" |
|
134 Caption "${PRODUCT_NAME} ${PRODUCT_VERSION} Bitnami installer" |
|
135 OutFile "enano-1.1.6-bitnami-setup.exe" |
|
136 InstallDir "$PROGRAMFILES\Enano CMS" |
|
137 ShowInstDetails show |
|
138 ShowUnInstDetails show |
|
139 |
|
140 Section "-pre" |
|
141 StrCpy $INSTDIR "$stack_instdir" |
|
142 IfFileExists "$INSTDIR\apps\${PRODUCT_SHORTNAME}\htdocs\config.php" 0 +2 |
|
143 Delete "$INSTDIR\apps\${PRODUCT_SHORTNAME}\htdocs\config.php" |
|
144 SectionEnd |
|
145 |
|
146 Section "-DatabaseSetup" |
|
147 StrCmp $db_needroot 1 +2 |
|
148 Return |
|
149 |
|
150 ; Create database |
|
151 ${db_create} $R0 "$db_rootuser" "$db_rootpass" "$db_name" "$db_user" "$db_password" |
|
152 IntCmp $R0 0 DatabaseCreateSuccess |
|
153 !insertmacro XPUI_HEADER_TEXT "Installation failed" "Could not create the database." |
|
154 DetailPrint "Database creation failed." |
|
155 MessageBox MB_OK|MB_ICONEXCLAMATION "Setup failed to create the database for $(^Name).$\r$\n\ |
|
156 $\r$\n\ |
|
157 It's possible that your authentication details were rejected or that there \ |
|
158 is a bug in the installer. Try removing any special characters (especially \ |
|
159 quote symbols and backslashes) from your password. Make sure to use only \ |
|
160 letters, numbers, and underscores in the database name and username." |
|
161 Abort |
|
162 DatabaseCreateSuccess: |
|
163 SectionEnd |
|
164 |
|
165 Section "Enano Core" SEC01 |
|
166 SectionIn RO |
|
167 !insertmacro Core_Install |
|
168 SectionEnd |
|
169 |
|
170 Section "Enable GMP in PHP" SecGMP |
|
171 ClearErrors |
|
172 WriteINIStr "$stack_instdir\php\php.ini" "GMP" "extension" "php_gmp.dll" |
|
173 IfErrors 0 +2 |
|
174 MessageBox MB_OK|MB_ICONEXCLAMATION "GMP was not automatically enabled in PHP. Logins will be several seconds slower." |
|
175 SectionEnd |
|
176 |
|
177 Section "YubiKey auth plugin" SEC02 |
|
178 SectionEnd |
|
179 |
|
180 Section "AjIM2" SEC03 |
|
181 SectionEnd |
|
182 |
|
183 Section "Admin Alerts" SEC04 |
|
184 SectionEnd |
|
185 |
|
186 Section "RSS Feeds" SEC06 |
|
187 SectionEnd |
|
188 |
|
189 Section "News Portal" SEC08 |
|
190 SectionEnd |
|
191 |
|
192 Section "Code syntax highlighting" SEC11 |
|
193 SectionEnd |
|
194 |
|
195 Section "Wiki functionality extensions" SEC12 |
|
196 SectionEnd |
|
197 |
|
198 Section -ConfigureApache |
|
199 DetailPrint "Configuring Apache web server" |
|
200 Call write_apache_config |
|
201 DetailPrint "Restarting Apache" |
|
202 nsExec::Exec '"$SYSDIR\net.exe" stop "$stack_typestackApache"' |
|
203 nsExec::Exec '"$SYSDIR\net.exe" start "$stack_typestackApache"' |
|
204 SectionEnd |
|
205 |
|
206 Section -WriteKickStart |
|
207 Call enano_write_kickstart_script |
|
208 SectionEnd |
|
209 |
|
210 Section -DoEnanoDBSetup |
|
211 Call enano_run_kickstart_script |
|
212 SectionEnd |
|
213 |
|
214 Section -InsertApplistEntry |
|
215 Call enano_add_to_applist |
|
216 SectionEnd |
|
217 |
|
218 Section -AdditionalIcons |
|
219 WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" |
|
220 CreateDirectory "$SMPROGRAMS\Enano CMS" |
|
221 CreateShortCut "$SMPROGRAMS\Enano CMS\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" |
|
222 CreateShortCut "$SMPROGRAMS\Enano CMS\Uninstall.lnk" "$INSTDIR\apps\${PRODUCT_SHORTNAME}\uninst.exe" |
|
223 SectionEnd |
|
224 |
|
225 Section -Post |
|
226 WriteUninstaller "$INSTDIR\uninst.exe" |
|
227 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" |
|
228 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" |
|
229 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" |
|
230 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" |
|
231 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" |
|
232 SectionEnd |
|
233 |
|
234 ; Section descriptions |
|
235 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN |
|
236 !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Core components of Enano CMS, necessary to run Enano" |
|
237 !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Adds support for Yubikey authentication" |
|
238 !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "An AJAX chatbox sidebar gadget for Enano" |
|
239 !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "Provides a sidebar block that alerts you about unapproved comments, inactive users, and pages with requested deletion." |
|
240 !insertmacro MUI_DESCRIPTION_TEXT ${SEC06} "Provides the ability to generate RSS feeds based on the latest page edits and comments. It also has a plugin API so plugins can add their own feeds." |
|
241 !insertmacro MUI_DESCRIPTION_TEXT ${SEC08} "Provides a portal with news and static content combined onto one page." |
|
242 !insertmacro MUI_DESCRIPTION_TEXT ${SEC11} "Parser extension that adds syntax highlighting support using the GeSHi highlighting engine." |
|
243 !insertmacro MUI_DESCRIPTION_TEXT ${SEC12} "Adds several parser extensions that provide MediaWiki-like behavior, including references (footnotes) and Table of Contents support." |
|
244 !insertmacro MUI_DESCRIPTION_TEXT ${SecGMP} "Enables PHP's GMP extension, which speeds up cryptographic operations." |
|
245 !insertmacro MUI_FUNCTION_DESCRIPTION_END |
|
246 |
|
247 |
|
248 Function un.onUninstSuccess |
|
249 HideWindow |
|
250 MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." |
|
251 FunctionEnd |
|
252 |
|
253 Function un.onInit |
|
254 MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 |
|
255 Abort |
|
256 FunctionEnd |
|
257 |
|
258 Section Uninstall |
|
259 Delete "$INSTDIR\apps\${PRODUCT_SHORTNAME}\${PRODUCT_NAME}.url" |
|
260 |
|
261 !insertmacro Core_Uninstall |
|
262 |
|
263 DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" |
|
264 SetAutoClose true |
|
265 SectionEnd |
|
266 |
|
267 ; Version Information |
|
268 |
|
269 VIProductVersion "1.1.6.0" |
|
270 VIAddVersionKey /LANG=1033 "ProductName" "Enano CMS" |
|
271 VIAddVersionKey /LANG=1033 "Setup Information" "Enano CMS installer module for Windows Apache stacks" |
|
272 VIAddVersionKey /LANG=1033 "Comments" "This installer contains a beta build of Enano CMS, use with caution!" |
|
273 VIAddVersionKey /LANG=1033 "Publisher Name" "Neal Gompa (King InuYasha), Enano CMS Project" |
|
274 VIAddVersionKey /LANG=1033 "LegalCopyright" "©2009 Enano CMS Project" |
|
275 VIAddVersionKey /LANG=1033 "FileDescription" "Enano - The CMS that focuses on what matters most: content." |
|
276 VIAddVersionKey /LANG=1033 "FileVersion" "${PRODUCT_VERSION}" |