enano-bundle.nsi
author Dan
Sat, 11 Jul 2009 10:08:22 -0400
changeset 4 ea7b100e5de6
parent 3 0cce88c7cf7c
child 5 85800cb04cc5
permissions -rw-r--r--
Got some basic uninstaller code in
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     1
; Script generated by the HM NIS Edit Script Wizard.
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     3
; HM NIS Edit Wizard helper defines
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     4
!define PRODUCT_NAME "Enano CMS"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     5
!define PRODUCT_VERSION "1.1.6"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     6
!define PRODUCT_PUBLISHER "Enano CMS Project"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     7
!define PRODUCT_WEB_SITE "http://enanocms.org"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     8
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     9
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    10
!define PRODUCT_SHORTNAME "enanocms"
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
    11
; !define UNINSTALL_DEBUG
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    12
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    13
!ifndef ENANO_ROOT
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    14
!define ENANO_ROOT "Q:\enano-1.1\repo"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    15
!endif
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    16
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    17
SetCompressor /FINAL /SOLID lzma
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    18
CRCCheck force
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    19
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    20
Var wampstack_installed
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    21
Var wappstack_installed
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    22
Var stack_type
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    23
Var stack_instdir
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    24
Var stack_portbit
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    25
Var db_dbmsname
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    26
Var db_rootuser
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    27
Var db_rootpass
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    28
Var db_needroot
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    29
Var db_driver
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    30
Var db_port
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    31
Var db_user
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    32
Var db_password
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    33
Var db_name
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    34
Var enano_user
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    35
Var enano_password
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    36
Var admin_email
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    37
Var site_name
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    38
Var site_desc
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    39
Var site_copyright
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    40
Var url_scheme
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    41
Var start_with
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
    42
Var skip_install
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    43
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    44
!include "inst-resources\bitnamiutils.nsh"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    45
!include "inst-resources\dbal.nsh"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    46
!include "inst-resources\mysql.nsh"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    47
!include "inst-resources\postgresql.nsh"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    48
!include "inst-resources\str_replace.nsh"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    49
!include "inst-resources\kickstart.nsh"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    50
!include "inst-resources\apacheconfig.nsh"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    51
!include "inst-resources\applist.nsh"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    52
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    53
Function .onInit
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
    54
  !ifdef UNINSTALL_DEBUG
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
    55
    WriteUninstaller "$EXEDIR\uninstall.exe"
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
    56
    MessageBox MB_OKCANCEL "Uninstaller written. OK to run installer, Cancel to quit" IDOK +2
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
    57
      Abort
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
    58
  !endif
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    59
  Call BNSetWAMPInstalledFlag
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    60
  Call BNSetWAPPInstalledFlag
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    61
  
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    62
  ; If neither WAMP nor WAPP is installed, die
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    63
  StrCmp $wampstack_installed 0 "" FoundStack
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    64
  StrCmp $wampstack_installed 0 "" FoundStack
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    65
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    66
    MessageBox MB_OK|MB_ICONEXCLAMATION "Setup could not find any BitNami stacks on your server.$\r$\n\
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    67
                                         $\r$\n\
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    68
                                         Please install a BitNami stack and re-run setup. You can download a BitNami stack for free from http://www.bitnami.org."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    69
    Abort
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    70
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    71
  FoundStack:
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    72
FunctionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    73
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    74
; ExperienceUI GUI parameters
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    75
!define XPUI_BGIMAGE
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    76
!define XPUI_BGIMAGE_BMP "gfx\enano-bg.bmp"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    77
!define XPUI_TEXT_COLOR "F2F2F2"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    78
!define XPUI_TEXT_BGCOLOR "202020" ; irrelevant but still
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    79
!define XPUI_TEXT_LIGHTCOLOR "B4C3EA"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    80
!define XPUI_ABORTWARNING
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    81
!define XPUI_BRANDINGTEXT "NSIS Installer ${NSIS_VERSION}"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    82
!define XPUI_BRANDINGTEXT_COLOR_FG "b6d9ff"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    83
!define XPUI_BRANDINGTEXT_COLOR_BG "4c5b6b"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    84
!define XPUI_FASTERSKINNING
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
    85
!define XPUI_UNINSTALLER
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    86
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    87
; MUI 1.67 compatible / XPUI 1.11 (2.0pre) compatible ------
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    88
!ifndef XPUI_SYSDIR
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    89
  !define XPUI_SYSDIR "C:\ExperienceUI\Contrib\ExperienceUI"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    90
!endif
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    91
!include "${XPUI_SYSDIR}\..\..\Include\XPUI.nsh"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    92
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    93
; MUI Settings
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    94
!define MUI_ABORTWARNING
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    95
!define MUI_ICON "inst-resources\generic-install.ico"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    96
!define MUI_UNICON "inst-resources\generic-uninstall.ico"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    97
!include "WinMessages.nsh"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    98
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
    99
;
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   100
; INSTALL PAGES
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   101
;
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   102
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   103
; Welcome page
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   104
!insertmacro XPUI_PAGE_WELCOME2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   105
; License page
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   106
!insertmacro XPUI_PAGE_LICENSE "licenses\GPL.txt"
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   107
; Stack selection - automatic unless both stacks are installed
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   108
!include "pages\StackSelect.nsi"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   109
; Database credentials entry
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   110
!include "pages\DatabaseConfig.nsi"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   111
; Site config page
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   112
!include "pages\SiteConfig.nsi"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   113
; User credentials page
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   114
!include "pages\Login.nsi"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   115
; Components page
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   116
!insertmacro XPUI_PAGE_COMPONENTS
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   117
; Instfiles page
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   118
!insertmacro XPUI_PAGE_INSTFILES
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   119
; Finish page
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   120
!define XPUI_FINISHPAGE_RUN
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   121
!define XPUI_FINISHPAGE_CHECKBOX_RUN "Go to my new $(^Name) website now"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   122
!define XPUI_FINISHPAGE_RUN_FUNCTION OpenBitnamiWebsite
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   123
Function OpenBitnamiWebsite
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   124
  ExecShell open "http://localhost$stack_portbit/${PRODUCT_SHORTNAME}/"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   125
FunctionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   126
!insertmacro MUI_PAGE_FINISH
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   127
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   128
!insertmacro XPUI_PAGE_ABORT
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   129
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   130
;
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   131
; UNINSTALL PAGES
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   132
;
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   133
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   134
!insertmacro XPUI_PAGEMODE_UNINST
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   135
!insertmacro XPUI_PAGE_WELCOME2
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   136
!insertmacro XPUI_PAGE_INSTFILES
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   137
!insertmacro XPUI_PAGE_FINISH
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   138
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   139
; Language files
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   140
!insertmacro MUI_LANGUAGE "English"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   141
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   142
; Reserve files
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   143
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   144
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   145
; MUI end ------
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   146
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   147
; File lists
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   148
!include "inst-resources\core-files.nsh"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   149
; End file lists
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   150
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   151
Name "${PRODUCT_NAME}"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   152
Caption "${PRODUCT_NAME} ${PRODUCT_VERSION} Bitnami installer"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   153
OutFile "enano-1.1.6-bitnami-setup.exe"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   154
InstallDir "$PROGRAMFILES\Enano CMS"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   155
ShowInstDetails show
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   156
ShowUnInstDetails show
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   157
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   158
Section "-pre"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   159
  StrCpy $INSTDIR "$stack_instdir"
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   160
  StrCpy $skip_install 0
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   161
  
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   162
  StrCmp $db_needroot 0 0 SkipManualCheck
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   163
    ; If we were given our own DB credentials and there's already a config, the installation needs to be skipped
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   164
    IfFileExists "$INSTDIR\apps\${PRODUCT_SHORTNAME}\htdocs\config.php" 0 SkipManualCheck
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   165
      StrCpy $skip_install 1
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   166
      Return
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   167
      
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   168
  SkipManualCheck:
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   169
  
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   170
  IfFileExists "$INSTDIR\apps\${PRODUCT_SHORTNAME}\htdocs\config.php" 0 +2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   171
    Delete "$INSTDIR\apps\${PRODUCT_SHORTNAME}\htdocs\config.php"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   172
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   173
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   174
Section "-DatabaseSetup"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   175
  StrCmp $db_needroot 1 +2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   176
    Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   177
    
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   178
  ; Create database
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   179
  ${db_create} $R0 "$db_rootuser" "$db_rootpass" "$db_name" "$db_user" "$db_password"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   180
  IntCmp $R0 0 DatabaseCreateSuccess
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   181
    !insertmacro XPUI_HEADER_TEXT "Installation failed" "Could not create the database."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   182
    DetailPrint "Database creation failed."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   183
    MessageBox MB_OK|MB_ICONEXCLAMATION "Setup failed to create the database for $(^Name).$\r$\n\
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   184
                                         $\r$\n\
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   185
                                         It's possible that your authentication details were rejected or that there \
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   186
                                         is a bug in the installer. Try removing any special characters (especially \
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   187
                                         quote symbols and backslashes) from your password. Make sure to use only \
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   188
                                         letters, numbers, and underscores in the database name and username."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   189
    Abort
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   190
  DatabaseCreateSuccess:
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   191
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   192
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   193
Section "Enano Core" SEC01
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   194
  SectionIn RO
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   195
  WriteUninstaller "$INSTDIR\apps\${PRODUCT_SHORTNAME}\uninstall.exe"
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   196
  !insertmacro Core_Install
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   197
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   198
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   199
Section "Enable GMP in PHP" SecGMP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   200
  ClearErrors
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   201
  IfFileExists "$stack_instdir\php\ext\php_gmp.dll" +3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   202
  
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   203
    ; No GMP
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   204
    MessageBox MB_OK|MB_ICONEXCLAMATION "The stack you selected does not contain the GMP extension, so it cannot be enabled. Logins will be several seconds slower. Please consider upgrading your stack."
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   205
    Return
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   206
  
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   207
  WriteINIStr "$stack_instdir\php\php.ini" "GMP" "extension" "php_gmp.dll"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   208
  IfErrors 0 +2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   209
    MessageBox MB_OK|MB_ICONEXCLAMATION "GMP was not automatically enabled in PHP. Logins will be several seconds slower."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   210
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   211
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   212
Section "YubiKey auth plugin" SEC02
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   213
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   214
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   215
Section "AjIM2" SEC03
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   216
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   217
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   218
Section "Admin Alerts" SEC04
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   219
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   220
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   221
Section "RSS Feeds" SEC06
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   222
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   223
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   224
Section "News Portal" SEC08
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   225
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   226
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   227
Section "Code syntax highlighting" SEC11
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   228
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   229
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   230
Section "Wiki functionality extensions" SEC12
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   231
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   232
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   233
Section -ConfigureApache
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   234
  DetailPrint "Configuring Apache web server"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   235
  Call write_apache_config
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   236
  DetailPrint "Restarting Apache"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   237
  nsExec::Exec '"$SYSDIR\net.exe" stop "$stack_typestackApache"'
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   238
  nsExec::Exec '"$SYSDIR\net.exe" start "$stack_typestackApache"'
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   239
  StrCmp $skip_install 1 0 +2
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   240
    Return
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   241
  
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   242
  Call enano_write_kickstart_script
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   243
  Call enano_run_kickstart_script
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   244
  
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   245
  SetOutPath "$INSTDIR\apps\${PRODUCT_SHORTNAME}\scripts"
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   246
  File "inst-resources\selfdestruct.php"
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   247
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   248
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   249
Section -InsertApplistEntry
1
ac5bcb4e5284 PostgreSQL: skip applications.html stage (not supported in upstream wappstack)
Dan
parents: 0
diff changeset
   250
  ; Skip if this is WAPPStack, it doesn't have an applications.html. (!)
ac5bcb4e5284 PostgreSQL: skip applications.html stage (not supported in upstream wappstack)
Dan
parents: 0
diff changeset
   251
  StrCmp $stack_type "WAPP" 0 +2
ac5bcb4e5284 PostgreSQL: skip applications.html stage (not supported in upstream wappstack)
Dan
parents: 0
diff changeset
   252
    Return
ac5bcb4e5284 PostgreSQL: skip applications.html stage (not supported in upstream wappstack)
Dan
parents: 0
diff changeset
   253
  
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   254
  Call enano_add_to_applist
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   255
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   256
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   257
Section -AdditionalIcons
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   258
  WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   259
  CreateDirectory "$SMPROGRAMS\Enano CMS"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   260
  CreateShortCut "$SMPROGRAMS\Enano CMS\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   261
  CreateShortCut "$SMPROGRAMS\Enano CMS\Uninstall.lnk" "$INSTDIR\apps\${PRODUCT_SHORTNAME}\uninstall.exe"
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   262
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   263
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   264
Section -Post
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   265
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   266
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\apps\${PRODUCT_SHORTNAME}\uninstall.exe"
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   267
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   268
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   269
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   270
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   271
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   272
; Section descriptions
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   273
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   274
  !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Core components of Enano CMS, necessary to run Enano"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   275
  !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Adds support for Yubikey authentication"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   276
  !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "An AJAX chatbox sidebar gadget for Enano"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   277
  !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "Provides a sidebar block that alerts you about unapproved comments, inactive users, and pages with requested deletion."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   278
  !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."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   279
  !insertmacro MUI_DESCRIPTION_TEXT ${SEC08} "Provides a portal with news and static content combined onto one page."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   280
  !insertmacro MUI_DESCRIPTION_TEXT ${SEC11} "Parser extension that adds syntax highlighting support using the GeSHi highlighting engine."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   281
  !insertmacro MUI_DESCRIPTION_TEXT ${SEC12} "Adds several parser extensions that provide MediaWiki-like behavior, including references (footnotes) and Table of Contents support."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   282
  !insertmacro MUI_DESCRIPTION_TEXT ${SecGMP} "Enables PHP's GMP extension, which speeds up cryptographic operations."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   283
!insertmacro MUI_FUNCTION_DESCRIPTION_END
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   284
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   285
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   286
Function un.onInit
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   287
  
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   288
  StrCpy $stack_instdir "$INSTDIR\..\.."
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   289
  ; this is probably a bad way to determine the stack type
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   290
  ClearErrors
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   291
  StrCpy $stack_type "wamp"
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   292
  ReadINIStr $0 "$stack_instdir\properties.ini" "MySQL" "mysql_port"
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   293
  IfErrors 0 +2
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   294
    StrCpy $stack_type "wapp"
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   295
    
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   296
FunctionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   297
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   298
Section Uninstall
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   299
  
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   300
  ; Confirm uninstall
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   301
  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you really sure you want to uninstall ${PRODUCT_NAME}?$\r$\n\
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   302
                                                 $\r$\n\
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   303
                                                 Removing ${PRODUCT_NAME} will delete everything that it installed, including your database. If you do not want to \
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   304
                                                 lose data, cancel this uninstaller and back up your database before uninstalling.$\r$\n\
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   305
                                                 $\r$\n\
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   306
                                                 The ${PRODUCT_NAME} uninstaller also deletes any uploaded files, plugins and themes that you may have installed." IDYES +2
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   307
    Abort
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   308
  
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   309
  Delete "$INSTDIR\apps\${PRODUCT_SHORTNAME}\${PRODUCT_NAME}.url"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   310
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   311
  ; Remove from Apache config
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   312
  DetailPrint "Removing ${PRODUCT_NAME} from Apache configuration"
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   313
  Call un.disable_in_apache_config
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   314
  
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   315
  ; Remove from applications.html
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   316
  ; SON OF A BITCH. BitNami, please, PLEASE make applications.html a PHP script that includes all files in a directory.
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   317
  DetailPrint "Removing ${PRODUCT_NAME} from applications.html"
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   318
  Call un.disable_in_applications_html
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   319
  
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   320
  ; Restart Apache
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   321
  DetailPrint "Restarting Apache"
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   322
  nsExec::Exec '"$SYSDIR\net.exe" stop "$stack_typestackApache"'
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   323
  nsExec::Exec '"$SYSDIR\net.exe" start "$stack_typestackApache"'
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   324
  
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   325
  DetailPrint "Uninstalling database"
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   326
  nsExec::ExecToLog '"$stack_instdir\php\php.exe" "$INSTDIR\scripts\selfdestruct.php"'
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   327
  
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   328
  DetailPrint "Deleting files..."
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   329
  SetDetailsPrint listonly
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   330
  !insertmacro Core_Uninstall
3
0cce88c7cf7c Added Makefile
Dan
parents: 1
diff changeset
   331
  SetDetailsPrint both
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   332
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   333
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   334
  SetAutoClose true
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   335
SectionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   336
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   337
; Version Information
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   338
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   339
VIProductVersion "1.1.6.0"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   340
VIAddVersionKey /LANG=1033 "ProductName" "Enano CMS"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   341
VIAddVersionKey /LANG=1033 "Setup Information" "Enano CMS installer module for Windows Apache stacks"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   342
VIAddVersionKey /LANG=1033 "Comments" "This installer contains a beta build of Enano CMS, use with caution!"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   343
VIAddVersionKey /LANG=1033 "Publisher Name" "Neal Gompa (King InuYasha), Enano CMS Project"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   344
VIAddVersionKey /LANG=1033 "LegalCopyright" "©2009 Enano CMS Project"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   345
VIAddVersionKey /LANG=1033 "FileDescription" "Enano - The CMS that focuses on what matters most: content."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
   346
VIAddVersionKey /LANG=1033 "FileVersion" "${PRODUCT_VERSION}"