diff -r 000000000000 -r 67e1cc6cd929 enano-bundle.nsi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/enano-bundle.nsi Wed May 27 01:05:23 2009 -0400 @@ -0,0 +1,276 @@ +; Script generated by the HM NIS Edit Script Wizard. + +; HM NIS Edit Wizard helper defines +!define PRODUCT_NAME "Enano CMS" +!define PRODUCT_VERSION "1.1.6" +!define PRODUCT_PUBLISHER "Enano CMS Project" +!define PRODUCT_WEB_SITE "http://enanocms.org" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" +!define PRODUCT_SHORTNAME "enanocms" + +!ifndef ENANO_ROOT +!define ENANO_ROOT "Q:\enano-1.1\repo" +!endif + +SetCompressor /FINAL /SOLID lzma +CRCCheck force + +Var wampstack_installed +Var wappstack_installed +Var stack_type +Var stack_instdir +Var stack_portbit +Var db_dbmsname +Var db_rootuser +Var db_rootpass +Var db_needroot +Var db_driver +Var db_port +Var db_user +Var db_password +Var db_name +Var enano_user +Var enano_password +Var admin_email +Var site_name +Var site_desc +Var site_copyright +Var url_scheme +Var start_with + +!include "inst-resources\bitnamiutils.nsh" +!include "inst-resources\dbal.nsh" +!include "inst-resources\mysql.nsh" +!include "inst-resources\postgresql.nsh" +!include "inst-resources\str_replace.nsh" +!include "inst-resources\kickstart.nsh" +!include "inst-resources\apacheconfig.nsh" +!include "inst-resources\applist.nsh" + +Function .onInit + Call BNSetWAMPInstalledFlag + Call BNSetWAPPInstalledFlag + + ; If neither WAMP nor WAPP is installed, die + StrCmp $wampstack_installed 0 "" FoundStack + StrCmp $wampstack_installed 0 "" FoundStack + + MessageBox MB_OK|MB_ICONEXCLAMATION "Setup could not find any BitNami stacks on your server.$\r$\n\ + $\r$\n\ + Please install a BitNami stack and re-run setup. You can download a BitNami stack for free from http://www.bitnami.org." + Abort + + FoundStack: +FunctionEnd + +; ExperienceUI GUI parameters +!define XPUI_BGIMAGE +!define XPUI_BGIMAGE_BMP "gfx\enano-bg.bmp" +!define XPUI_TEXT_COLOR "F2F2F2" +!define XPUI_TEXT_BGCOLOR "202020" ; irrelevant but still +!define XPUI_TEXT_LIGHTCOLOR "B4C3EA" +!define XPUI_ABORTWARNING +!define XPUI_BRANDINGTEXT "NSIS Installer ${NSIS_VERSION}" +!define XPUI_BRANDINGTEXT_COLOR_FG "b6d9ff" +!define XPUI_BRANDINGTEXT_COLOR_BG "4c5b6b" +!define XPUI_FASTERSKINNING + +; MUI 1.67 compatible / XPUI 1.11 (2.0pre) compatible ------ +!ifndef XPUI_SYSDIR + !define XPUI_SYSDIR "C:\ExperienceUI\Contrib\ExperienceUI" +!endif +!include "${XPUI_SYSDIR}\..\..\Include\XPUI.nsh" + +; MUI Settings +!define MUI_ABORTWARNING +!define MUI_ICON "inst-resources\generic-install.ico" +!define MUI_UNICON "inst-resources\generic-uninstall.ico" +!include "WinMessages.nsh" + +; Welcome page +!insertmacro XPUI_PAGE_WELCOME2 +; License page +!insertmacro MUI_PAGE_LICENSE "licenses\GPL.txt" +; Stack selection - automatic unless both stacks are installed +!include "pages\StackSelect.nsi" +; Database credentials entry +!include "pages\DatabaseConfig.nsi" +; Site config page +!include "pages\SiteConfig.nsi" +; User credentials page +!include "pages\Login.nsi" +; Components page +!insertmacro MUI_PAGE_COMPONENTS +; Instfiles page +!insertmacro MUI_PAGE_INSTFILES +; Finish page +!define XPUI_FINISHPAGE_RUN +!define XPUI_FINISHPAGE_CHECKBOX_RUN "Go to my new $(^Name) website now" +!define XPUI_FINISHPAGE_RUN_FUNCTION OpenBitnamiWebsite +Function OpenBitnamiWebsite + ExecShell open "http://localhost$stack_portbit/${PRODUCT_SHORTNAME}/" +FunctionEnd +!insertmacro MUI_PAGE_FINISH + +!insertmacro XPUI_PAGE_ABORT + +; Uninstaller pages +!insertmacro MUI_UNPAGE_INSTFILES + +; Language files +!insertmacro MUI_LANGUAGE "English" + +; Reserve files +!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS + +; MUI end ------ + +; File lists +!include "inst-resources\core-files.nsh" +; End file lists + +Name "${PRODUCT_NAME}" +Caption "${PRODUCT_NAME} ${PRODUCT_VERSION} Bitnami installer" +OutFile "enano-1.1.6-bitnami-setup.exe" +InstallDir "$PROGRAMFILES\Enano CMS" +ShowInstDetails show +ShowUnInstDetails show + +Section "-pre" + StrCpy $INSTDIR "$stack_instdir" + IfFileExists "$INSTDIR\apps\${PRODUCT_SHORTNAME}\htdocs\config.php" 0 +2 + Delete "$INSTDIR\apps\${PRODUCT_SHORTNAME}\htdocs\config.php" +SectionEnd + +Section "-DatabaseSetup" + StrCmp $db_needroot 1 +2 + Return + + ; Create database + ${db_create} $R0 "$db_rootuser" "$db_rootpass" "$db_name" "$db_user" "$db_password" + IntCmp $R0 0 DatabaseCreateSuccess + !insertmacro XPUI_HEADER_TEXT "Installation failed" "Could not create the database." + DetailPrint "Database creation failed." + MessageBox MB_OK|MB_ICONEXCLAMATION "Setup failed to create the database for $(^Name).$\r$\n\ + $\r$\n\ + It's possible that your authentication details were rejected or that there \ + is a bug in the installer. Try removing any special characters (especially \ + quote symbols and backslashes) from your password. Make sure to use only \ + letters, numbers, and underscores in the database name and username." + Abort + DatabaseCreateSuccess: +SectionEnd + +Section "Enano Core" SEC01 + SectionIn RO + !insertmacro Core_Install +SectionEnd + +Section "Enable GMP in PHP" SecGMP + ClearErrors + WriteINIStr "$stack_instdir\php\php.ini" "GMP" "extension" "php_gmp.dll" + IfErrors 0 +2 + MessageBox MB_OK|MB_ICONEXCLAMATION "GMP was not automatically enabled in PHP. Logins will be several seconds slower." +SectionEnd + +Section "YubiKey auth plugin" SEC02 +SectionEnd + +Section "AjIM2" SEC03 +SectionEnd + +Section "Admin Alerts" SEC04 +SectionEnd + +Section "RSS Feeds" SEC06 +SectionEnd + +Section "News Portal" SEC08 +SectionEnd + +Section "Code syntax highlighting" SEC11 +SectionEnd + +Section "Wiki functionality extensions" SEC12 +SectionEnd + +Section -ConfigureApache + DetailPrint "Configuring Apache web server" + Call write_apache_config + DetailPrint "Restarting Apache" + nsExec::Exec '"$SYSDIR\net.exe" stop "$stack_typestackApache"' + nsExec::Exec '"$SYSDIR\net.exe" start "$stack_typestackApache"' +SectionEnd + +Section -WriteKickStart + Call enano_write_kickstart_script +SectionEnd + +Section -DoEnanoDBSetup + Call enano_run_kickstart_script +SectionEnd + +Section -InsertApplistEntry + Call enano_add_to_applist +SectionEnd + +Section -AdditionalIcons + WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" + CreateDirectory "$SMPROGRAMS\Enano CMS" + CreateShortCut "$SMPROGRAMS\Enano CMS\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" + CreateShortCut "$SMPROGRAMS\Enano CMS\Uninstall.lnk" "$INSTDIR\apps\${PRODUCT_SHORTNAME}\uninst.exe" +SectionEnd + +Section -Post + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" +SectionEnd + +; Section descriptions +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Core components of Enano CMS, necessary to run Enano" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Adds support for Yubikey authentication" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "An AJAX chatbox sidebar gadget for Enano" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "Provides a sidebar block that alerts you about unapproved comments, inactive users, and pages with requested deletion." + !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." + !insertmacro MUI_DESCRIPTION_TEXT ${SEC08} "Provides a portal with news and static content combined onto one page." + !insertmacro MUI_DESCRIPTION_TEXT ${SEC11} "Parser extension that adds syntax highlighting support using the GeSHi highlighting engine." + !insertmacro MUI_DESCRIPTION_TEXT ${SEC12} "Adds several parser extensions that provide MediaWiki-like behavior, including references (footnotes) and Table of Contents support." + !insertmacro MUI_DESCRIPTION_TEXT ${SecGMP} "Enables PHP's GMP extension, which speeds up cryptographic operations." +!insertmacro MUI_FUNCTION_DESCRIPTION_END + + +Function un.onUninstSuccess + HideWindow + MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." +FunctionEnd + +Function un.onInit + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 + Abort +FunctionEnd + +Section Uninstall + Delete "$INSTDIR\apps\${PRODUCT_SHORTNAME}\${PRODUCT_NAME}.url" + + !insertmacro Core_Uninstall + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + SetAutoClose true +SectionEnd + +; Version Information + +VIProductVersion "1.1.6.0" +VIAddVersionKey /LANG=1033 "ProductName" "Enano CMS" +VIAddVersionKey /LANG=1033 "Setup Information" "Enano CMS installer module for Windows Apache stacks" +VIAddVersionKey /LANG=1033 "Comments" "This installer contains a beta build of Enano CMS, use with caution!" +VIAddVersionKey /LANG=1033 "Publisher Name" "Neal Gompa (King InuYasha), Enano CMS Project" +VIAddVersionKey /LANG=1033 "LegalCopyright" "©2009 Enano CMS Project" +VIAddVersionKey /LANG=1033 "FileDescription" "Enano - The CMS that focuses on what matters most: content." +VIAddVersionKey /LANG=1033 "FileVersion" "${PRODUCT_VERSION}"