pages/StackSelect.nsi
author Dan
Tue, 08 Dec 2009 02:25:33 -0500
changeset 6 6016fd9e848f
parent 5 85800cb04cc5
child 10 014d58335b6d
permissions -rwxr-xr-x
A couple minor fixes: more flexible version numbering; added a CreateDirectory before uninstaller generation (whoops)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     1
Page custom StackSelectCreate StackSelectLeave " - Select stack"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     3
Function StackSelectCreate
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     4
  ; Only show this page if both WAMPStack and WAPPStack are installed.
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     5
  StrCmp $wampstack_installed 0 "" +3
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     6
    Call StackSelectLeave
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     7
    Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     8
  StrCmp $wappstack_installed 0 "" +3
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     9
    Call StackSelectLeave
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    10
    Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    11
  StrCmp $XPUI_ABORTED 1 "" +2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    12
    Abort
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    13
    
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    14
  !insertmacro XPUI_INSTALLOPTIONS_EXTRACT_AS "pages\StackSelect.ini" "StackSelect.ini"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    15
  !insertmacro XPUI_HEADER_TEXT "Select server stack" "Choose which BitNami stack installation you want to use to run $(^Name)."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    16
  !insertmacro XPUI_INSTALLOPTIONS_DISPLAY "StackSelect.ini"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    17
FunctionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    18
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    19
Function StackSelectLeave
5
85800cb04cc5 Moved around some ExperienceUI directives; fixed missing $XPUI_ABORTED check in StackSelectLeave
Dan
parents: 3
diff changeset
    20
  StrCmp $XPUI_ABORTED 1 0 +2
85800cb04cc5 Moved around some ExperienceUI directives; fixed missing $XPUI_ABORTED check in StackSelectLeave
Dan
parents: 3
diff changeset
    21
    Return
85800cb04cc5 Moved around some ExperienceUI directives; fixed missing $XPUI_ABORTED check in StackSelectLeave
Dan
parents: 3
diff changeset
    22
  
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    23
  ; Here is where we make the final decision on which stack will be used.
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    24
  IfFileExists "$PLUGINSDIR\StackSelect.ini" "" OnlyOneStackInstalled
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    25
  
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    26
    !macro ConfigCheck
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    27
      IfFileExists "$stack_instdir\apps\${PRODUCT_SHORTNAME}\htdocs\config.php" 0 +3
3
0cce88c7cf7c Added Makefile
Dan
parents: 2
diff changeset
    28
        MessageBox MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON2 "Setup has found that $(^Name) is already installed on this stack. If you continue and you do not want to delete your existing site, you must provide the database information of the current installation on the next page. Otherwise, the existing installation's configuration file will be deleted and your existing website will be replaced with a fresh one.$\n$\nIf you are upgrading $(^Name), you can safely click Yes below, and enter the database information found in $stack_instdir\apps\${PRODUCT_SHORTNAME}\config.php on the next page.$\n$\nDo you want to continue?" IDYES +2
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    29
          Abort
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    30
    !macroend
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    31
  
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    32
    ; Both stacks are installed; decide based on user selection
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    33
    ReadINIStr $0 "$PLUGINSDIR\StackSelect.ini" "Field 1" "State"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    34
    StrCmp $0 1 "" UserSelectedWAPP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    35
      ; User selected WAMP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    36
      Call BNSetVarsForWAMP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    37
      !insertmacro ConfigCheck
2
0c0d5dadfca3 Added LockWindow calls to all custom page exit paths to smooth transitions
Dan
parents: 0
diff changeset
    38
      LockWindow on
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    39
      Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    40
      
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    41
    UserSelectedWAPP:
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    42
      ; User selected WAPP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    43
      Call BNSetVarsForWAPP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    44
      !insertmacro ConfigCheck
2
0c0d5dadfca3 Added LockWindow calls to all custom page exit paths to smooth transitions
Dan
parents: 0
diff changeset
    45
      LockWindow on
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    46
      Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    47
  
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    48
  OnlyOneStackInstalled:
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    49
  StrCmp $wampstack_installed 0 +3
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    50
    ; MySQL
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    51
    Call BNSetVarsForWAMP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    52
    !insertmacro ConfigCheck
2
0c0d5dadfca3 Added LockWindow calls to all custom page exit paths to smooth transitions
Dan
parents: 0
diff changeset
    53
    LockWindow on
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    54
    Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    55
    
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    56
    ; PostgreSQL
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    57
    Call BNSetVarsForWAPP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    58
    !insertmacro ConfigCheck
2
0c0d5dadfca3 Added LockWindow calls to all custom page exit paths to smooth transitions
Dan
parents: 0
diff changeset
    59
    LockWindow on
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    60
    Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    61
FunctionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    62
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    63
Function BNSetVarsForWAMP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    64
  StrCpy $stack_type "WAMP"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    65
  StrCpy $stack_instdir "$wampstack_installed"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    66
  StrCpy $db_driver "mysql"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    67
  StrCpy $db_dbmsname "MySQL"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    68
  StrCpy $db_rootuser "root"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    69
  ReadINIStr $db_port "$stack_instdir\properties.ini" "MySQL" "mysql_port"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    70
  
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    71
  StrCpy $stack_portbit ""
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    72
  ReadINIStr $0 "$stack_instdir\properties.ini" "Apache" "apache_server_port"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    73
  StrCmp $0 "80" +2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    74
    StrCpy $stack_portbit ":$0"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    75
FunctionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    76
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    77
Function BNSetVarsForWAPP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    78
  StrCpy $stack_type "WAPP"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    79
  StrCpy $stack_instdir "$wappstack_installed"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    80
  StrCpy $db_driver "postgresql"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    81
  StrCpy $db_dbmsname "PostgreSQL"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    82
  StrCpy $db_rootuser "postgres"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    83
  ; NOTE: WAPPStack doesn't record the port of PostgreSQL - we have to assume the default
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    84
  StrCpy $db_port 5432
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    85
  
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    86
  StrCpy $stack_portbit ""
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    87
  ReadINIStr $0 "$stack_instdir\properties.ini" "Apache" "apache_server_port"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    88
  StrCmp $0 "80" +2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    89
    StrCpy $stack_portbit ":$0"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    90
FunctionEnd