Index: win_installer/installer/conf/log4j.xml =================================================================== diff -u --- win_installer/installer/conf/log4j.xml (revision 0) +++ win_installer/installer/conf/log4j.xml (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,348 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: win_installer/installer/conf/login-config.xml =================================================================== diff -u --- win_installer/installer/conf/login-config.xml (revision 0) +++ win_installer/installer/conf/login-config.xml (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + guest + java:/DefaultDS + SELECT PASSWD FROM JMS_USERS WHERE USERID=? + SELECT ROLEID, 'Roles' FROM JMS_ROLES WHERE USERID=? + + + + + + + + + + + sa + sa + + jboss.jca:service=LocalTxCM,name=DefaultDS + + + + + + + + guest + guest + guest + jboss.jca:service=TxCM,name=JmsXA + + + + + + + + + props/jmx-console-users.properties + props/jmx-console-roles.properties + + + + + + + + + web-console-users.properties + web-console-roles.properties + + + + + + + + + anonymous + + + + + + + + + + + + + + + + java:/jdbc/lams-ds + select password from lams_user where login=? + + SELECT DISTINCT r.name,'Roles' FROM + lams_user u LEFT OUTER JOIN lams_user_organisation uo USING(user_id) + LEFT OUTER JOIN lams_user_organisation_role urr USING(user_organisation_id) + LEFT OUTER JOIN lams_role r USING (role_id) + WHERE u.login=? + + + + + + + Index: win_installer/installer/conf/news.html =================================================================== diff -u --- win_installer/installer/conf/news.html (revision 0) +++ win_installer/installer/conf/news.html (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,9 @@ +

Latest News & Updates

+ Index: win_installer/installer/readme.txt =================================================================== diff -u --- win_installer/installer/readme.txt (revision 0) +++ win_installer/installer/readme.txt (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,75 @@ +LAMS 2.1 Beta - Learning Activity Management System +---------------------------------------------- + +This is a pre-packaged copy of LAMS 2.1 Beta for Windows 2000, XP, or 2003. +It is designed for LAMS users to explore the new Branching and Optional +Sequences features. We would love some feedback on things you like, things +you don't like, or suggestions for improvements in the wording or icons on +the branching screens. + +This is a "play" version of LAMS. It is NOT designed for production and you +will NOT be able to upgrade it to the real LAMS 2.1. + +If you want to install a production version of LAMS, you should +install LAMS 2.0.4. + +1. Startup and Shutdown +======================= +To use LAMS 2, first make sure it is started - use the 'Start LAMS' shortcut +in the LAMSv2 Start Menu folder if you're not sure. MySQL must be running. +For chat rooms to function, Wildfire must also be running. + +While LAMS 2 is running, you may access the login page using the 'Access +LAMS' short cut in the LAMSv2 Start Menu folder. + +To stop LAMS 2, use the 'Stop LAMS' shortcut in the LAMSv2 Start Menu +folder. + + +2. Server Configuration +======================= +For single user installations (i.e., personal use on your own desktop), please +ignore this section. + +For server deployments, you will probably want to configure the default JVM +memory settings for your server. In C:\lams\jboss-4.0.2\bin\run.bat (or +wherever you installed LAMS 2), find the line near the bottom that says + + set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m + +and adjust the minimum and maximum amount of memory allocated there. + +We also recommend increasing the -XX:MaxPermSize option if you have more than +a couple of users. e.g. + + set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m -XX:MaxPermSize=128m + +For Sun JDK versions before 1.5.0_07, the default is 64m. If your Sun JDK +version is 1.5.0_07 or later, the default is 256m. + + +3. Web Resources +================ +Windows Installer Help wiki (includes download links) + + http://wiki.lamsfoundation.org/display/lamsdocs/Windows+Installer+Help + +LAMS 2 developer-oriented information + + http://wiki.lamsfoundation.org/display/lams + +LAMS 2 help documents + + http://wiki.lamsfoundation.org/display/lamsdocs + +Educational and technical forums for help and discussion + + http://www.lamscommunity.org + +LAMS 2 bug tracker + + https://bugs.lamsfoundation.org + +LAMS Foundation + + http://www.lamsfoundation.org Index: win_installer/installer/src/build.xml =================================================================== diff -u --- win_installer/installer/src/build.xml (revision 0) +++ win_installer/installer/src/build.xml (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: win_installer/installer/src/final.ini =================================================================== diff -u --- win_installer/installer/src/final.ini (revision 0) +++ win_installer/installer/src/final.ini (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,17 @@ +[Settings] +NumFields=2 + +[Field 1] +Type=Label +Left=19 +Top=11 +Right=197 +Bottom=30 +Text="LAMS Configuration Completed.\r\n\r\n" + +[Field 2] +Type=Label +Left=19 +Top=26 +Right=218 +Bottom=47 Index: win_installer/installer/src/includes/Functions.nsh =================================================================== diff -u --- win_installer/installer/src/includes/Functions.nsh (revision 0) +++ win_installer/installer/src/includes/Functions.nsh (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,648 @@ +!include "LogicLib.nsh" + +# http://nsis.sourceforge.net/Another_String_Replace_%28and_Slash/BackSlash_Converter%29 +# +; Push $filenamestring (e.g. 'c:\this\and\that\filename.htm') +; Push "\" +; Call StrSlash +; Pop $R0 +; ;Now $R0 contains 'c:/this/and/that/filename.htm' +Function StrSlash + Exch $R3 ; $R3 = needle ("\" or "/") + Exch + Exch $R1 ; $R1 = String to replacement in (haystack) + Push $R2 ; Replaced haystack + Push $R4 ; $R4 = not $R3 ("/" or "\") + Push $R6 + Push $R7 ; Scratch reg + StrCpy $R2 "" + StrLen $R6 $R1 + StrCpy $R4 "\" + StrCmp $R3 "/" loop + StrCpy $R4 "/" +loop: + StrCpy $R7 $R1 1 + StrCpy $R1 $R1 $R6 1 + StrCmp $R7 $R3 found + StrCpy $R2 "$R2$R7" + StrCmp $R1 "" done loop +found: + StrCpy $R2 "$R2$R4" + StrCmp $R1 "" done loop +done: + StrCpy $R3 $R2 + Pop $R7 + Pop $R6 + Pop $R4 + Pop $R2 + Pop $R1 + Exch $R3 +FunctionEnd + + +# http://nsis.sourceforge.net/StrStr +# +!define StrStr "!insertmacro StrStr" + +!macro StrStr ResultVar String SubString + Push `${String}` + Push `${SubString}` + Call StrStr + Pop `${ResultVar}` +!macroend + +Function StrStr +/*After this point: + ------------------------------------------ + $R0 = SubString (input) + $R1 = String (input) + $R2 = SubStringLen (temp) + $R3 = StrLen (temp) + $R4 = StartCharPos (temp) + $R5 = TempStr (temp)*/ + + ;Get input from user + Exch $R0 + Exch + Exch $R1 + Push $R2 + Push $R3 + Push $R4 + Push $R5 + + ;Get "String" and "SubString" length + StrLen $R2 $R0 + StrLen $R3 $R1 + ;Start "StartCharPos" counter + StrCpy $R4 0 + + ;Loop until "SubString" is found or "String" reaches its end + ${Do} + ;Remove everything before and after the searched part ("TempStr") + StrCpy $R5 $R1 $R2 $R4 + + ;Compare "TempStr" with "SubString" + ${IfThen} $R5 == $R0 ${|} ${ExitDo} ${|} + ;If not "SubString", this could be "String"'s end + ${IfThen} $R4 >= $R3 ${|} ${ExitDo} ${|} + ;If not, continue the loop + IntOp $R4 $R4 + 1 + ${Loop} + +/*After this point: + ------------------------------------------ + $R0 = ResultVar (output)*/ + + ;Remove part before "SubString" on "String" (if there has one) + StrCpy $R0 $R1 `` $R4 + + ;Return output to user + Pop $R5 + Pop $R4 + Pop $R3 + Pop $R2 + Pop $R1 + Exch $R0 +FunctionEnd + +/** +* Source - Afrow UK http://nsis.sourceforge.net/VersionCompare +* +* Compare version numbers. +* +* Syntax: +* ${VersionCompare} "[Version1]" "[Version2]" $var +* ; $var=0 Versions are equal +* ; $var=1 Version1 is newer +* ; $var=2 Version2 is newer +**/ +Function VersionCompare + !define VersionCompare `!insertmacro VersionCompareCall` + + !macro VersionCompareCall _VER1 _VER2 _RESULT + Push `${_VER1}` + Push `${_VER2}` + Call VersionCompare + Pop ${_RESULT} + !macroend + + Exch $1 + Exch + Exch $0 + Exch + Push $2 + Push $3 + Push $4 + Push $5 + Push $6 + Push $7 + + begin: + StrCpy $2 -1 + IntOp $2 $2 + 1 + StrCpy $3 $0 1 $2 + StrCmp $3 '' +2 + StrCmp $3 '.' 0 -3 + StrCpy $4 $0 $2 + IntOp $2 $2 + 1 + StrCpy $0 $0 '' $2 + + StrCpy $2 -1 + IntOp $2 $2 + 1 + StrCpy $3 $1 1 $2 + StrCmp $3 '' +2 + StrCmp $3 '.' 0 -3 + StrCpy $5 $1 $2 + IntOp $2 $2 + 1 + StrCpy $1 $1 '' $2 + + StrCmp $4$5 '' equal + + StrCpy $6 -1 + IntOp $6 $6 + 1 + StrCpy $3 $4 1 $6 + StrCmp $3 '0' -2 + StrCmp $3 '' 0 +2 + StrCpy $4 0 + + StrCpy $7 -1 + IntOp $7 $7 + 1 + StrCpy $3 $5 1 $7 + StrCmp $3 '0' -2 + StrCmp $3 '' 0 +2 + StrCpy $5 0 + + StrCmp $4 0 0 +2 + StrCmp $5 0 begin newer2 + StrCmp $5 0 newer1 + IntCmp $6 $7 0 newer1 newer2 + + StrCpy $4 '1$4' + StrCpy $5 '1$5' + IntCmp $4 $5 begin newer2 newer1 + + equal: + StrCpy $0 0 + goto end + newer1: + StrCpy $0 1 + goto end + newer2: + StrCpy $0 2 + + end: + Pop $7 + Pop $6 + Pop $5 + Pop $4 + Pop $3 + Pop $2 + Pop $1 + Exch $0 +FunctionEnd + +!define StrTok "!insertmacro StrTok" + +!macro StrTok ResultVar String Separators ResultPart SkipEmptyParts + Push "${String}" + Push "${Separators}" + Push "${ResultPart}" + Push "${SkipEmptyParts}" + Call StrTok + Pop "${ResultVar}" +!macroend + +Function StrTok +/*After this point: + ------------------------------------------ + $0 = SkipEmptyParts (input) + $1 = ResultPart (input) + $2 = Separators (input) + $3 = String (input) + $4 = SeparatorsLen (temp) + $5 = StrLen (temp) + $6 = StartCharPos (temp) + $7 = TempStr (temp) + $8 = CurrentLoop + $9 = CurrentSepChar + $R0 = CurrentSepCharNum + */ + + ;Get input from user + Exch $0 + Exch + Exch $1 + Exch + Exch 2 + Exch $2 + Exch 2 + Exch 3 + Exch $3 + Exch 3 + Push $4 + Push $5 + Push $6 + Push $7 + Push $8 + Push $9 + Push $R0 + + ;Parameter defaults + ${IfThen} $2 == `` ${|} StrCpy $2 `|` ${|} + ${IfThen} $1 == `` ${|} StrCpy $1 `L` ${|} + ${IfThen} $0 == `` ${|} StrCpy $0 `0` ${|} + + ;Get "String" and "Separators" length + StrLen $4 $2 + StrLen $5 $3 + ;Start "StartCharPos" and "ResultPart" counters + StrCpy $6 0 + StrCpy $8 -1 + + ;Loop until "ResultPart" is met, "Separators" is found or + ;"String" reaches its end + ResultPartLoop: ;"CurrentLoop" Loop + + ;Increase "CurrentLoop" counter + IntOp $8 $8 + 1 + + StrSearchLoop: + ${Do} ;"String" Loop + ;Remove everything before and after the searched part ("TempStr") + StrCpy $7 $3 1 $6 + + ;Verify if it's the "String" end + ${If} $6 >= $5 + ;If "CurrentLoop" is what the user wants, remove the part + ;after "TempStr" and itself and get out of here + ${If} $8 == $1 + ${OrIf} $1 == `L` + StrCpy $3 $3 $6 + ${Else} ;If not, empty "String" and get out of here + StrCpy $3 `` + ${EndIf} + StrCpy $R0 `End` + ${ExitDo} + ${EndIf} + + ;Start "CurrentSepCharNum" counter (for "Separators" Loop) + StrCpy $R0 0 + + ${Do} ;"Separators" Loop + ;Use one "Separators" character at a time + ${If} $R0 <> 0 + StrCpy $9 $2 1 $R0 + ${Else} + StrCpy $9 $2 1 + ${EndIf} + + ;Go to the next "String" char if it's "Separators" end + ${IfThen} $R0 >= $4 ${|} ${ExitDo} ${|} + + ;Or, if "TempStr" equals "CurrentSepChar", then... + ${If} $7 == $9 + StrCpy $7 $3 $6 + + ;If "String" is empty because this result part doesn't + ;contain data, verify if "SkipEmptyParts" is activated, + ;so we don't return the output to user yet + + ${If} $7 == `` + ${AndIf} $0 = 1 ;${TRUE} + IntOp $6 $6 + 1 + StrCpy $3 $3 `` $6 + StrCpy $6 0 + Goto StrSearchLoop + ${ElseIf} $8 == $1 + StrCpy $3 $3 $6 + StrCpy $R0 "End" + ${ExitDo} + ${EndIf} ;If not, go to the next result part + IntOp $6 $6 + 1 + StrCpy $3 $3 `` $6 + StrCpy $6 0 + Goto ResultPartLoop + ${EndIf} + + ;Increase "CurrentSepCharNum" counter + IntOp $R0 $R0 + 1 + ${Loop} + ${IfThen} $R0 == "End" ${|} ${ExitDo} ${|} + + ;Increase "StartCharPos" counter + IntOp $6 $6 + 1 + ${Loop} + +/*After this point: + ------------------------------------------ + $3 = ResultVar (output)*/ + + ;Return output to user + + Pop $R0 + Pop $9 + Pop $8 + Pop $7 + Pop $6 + Pop $5 + Pop $4 + Pop $0 + Pop $1 + Pop $2 + Exch $3 +FunctionEnd + +;This function will search in a file for the specified string, and return some values. +/* +USAGE +Push C:\temp1.txt +Push hello + Call FileSearch +Pop $0 #Number of times found throughout +Pop $1 #Found at all? yes/no +Pop $2 #Number of lines found in + +StrCmp $1 yes 0 +2 +MessageBox MB_OK "$\"hello$\" was found in the file $0 times on $2 lines." +*/ +Function FileSearch +Exch $0 ;search for +Exch +Exch $1 ;input file +Push $2 +Push $3 +Push $4 +Push $5 +Push $6 +Push $7 +Push $8 +Push $9 +Push $R0 + FileOpen $2 $1 r + StrLen $4 $0 + StrCpy $5 0 + StrCpy $7 no + StrCpy $8 0 + StrCpy $9 0 + ClearErrors +loop_main: + FileRead $2 $3 + IfErrors done + IntOp $R0 $R0 + $9 + StrCpy $9 0 + StrCpy $5 0 +filter_top: + IntOp $5 $5 - 1 + StrCpy $6 $3 $4 $5 + StrCmp $6 "" loop_main + StrCmp $6 $0 0 filter_top + StrCpy $3 $3 $5 + StrCpy $5 0 + StrCpy $7 yes + StrCpy $9 1 + IntOp $8 $8 + 1 +Goto filter_top +done: + FileClose $2 + StrCpy $0 $8 + StrCpy $1 $7 + StrCpy $2 $R0 +Pop $R0 +Pop $9 +Pop $8 +Pop $7 +Pop $6 +Pop $5 +Pop $4 +Pop $3 +Exch $2 ;output number of lines +Exch +Exch $1 ;output yes/no +Exch 2 +Exch $0 ;output count found +FunctionEnd + +;---------------------------------------------------------------------------- +; Superseded by : GetTime function. +;---------------------------------------------------------------------------- +; Title : Get Local Time +; Short Name : GetLocalTime +; Last Changed : 22/Feb/2005 +; Code Type : Function +; Code Sub-Type : One-way Output +;---------------------------------------------------------------------------- +; Required : System plugin. +; Description : Gets the current local time of the user's computer +;---------------------------------------------------------------------------- +; Function Call : Call GetLocalTime +; +; Pop "$Variable1" +; Day. +; +; Pop "$Variable2" +; Month. +; +; Pop "$Variable3" +; Year. +; +; Pop "$Variable4" +; Day of the week name. +; +; Pop "$Variable5" +; Hour. +; +; Pop "$Variable6" +; Minute. +; +; Pop "$Variable7" +; Second. +;---------------------------------------------------------------------------- +; Author : Diego Pedroso +; Author Reg. Name : deguix +;---------------------------------------------------------------------------- + +Function GetLocalTime + + # Prepare variables + Push $0 + Push $1 + Push $2 + Push $3 + Push $4 + Push $5 + Push $6 + + # Call GetLocalTime API from Kernel32.dll + System::Call '*(&i2, &i2, &i2, &i2, &i2, &i2, &i2, &i2) i .r0' + System::Call 'kernel32::GetLocalTime(i) i(r0)' + System::Call '*$0(&i2, &i2, &i2, &i2, &i2, &i2, &i2, &i2)i \ + (.r4, .r5, .r3, .r6, .r2, .r1, .r0,)' + + # Day of week: convert to name + StrCmp $3 0 0 +3 + StrCpy $3 Sunday + Goto WeekNameEnd + StrCmp $3 1 0 +3 + StrCpy $3 Monday + Goto WeekNameEnd + StrCmp $3 2 0 +3 + StrCpy $3 Tuesday + Goto WeekNameEnd + StrCmp $3 3 0 +3 + StrCpy $3 Wednesday + Goto WeekNameEnd + StrCmp $3 4 0 +3 + StrCpy $3 Thursday + Goto WeekNameEnd + StrCmp $3 5 0 +3 + StrCpy $3 Friday + Goto WeekNameEnd + StrCmp $3 6 0 +2 + StrCpy $3 Saturday + WeekNameEnd: + + # Minute: convert to 2 digits format + IntCmp $1 9 0 0 +2 + StrCpy $1 '0$1' + + # Second: convert to 2 digits format + IntCmp $0 9 0 0 +2 + StrCpy $0 '0$0' + + # Return to user + Exch $6 + Exch + Exch $5 + Exch + Exch 2 + Exch $4 + Exch 2 + Exch 3 + Exch $3 + Exch 3 + Exch 4 + Exch $2 + Exch 4 + Exch 5 + Exch $1 + Exch 5 + Exch 6 + Exch $0 + Exch 6 + +FunctionEnd + +/* +Push hello #text to be replaced +Push blah #replace with +Push all #replace all occurrences +Push all #replace all occurrences +Push C:\temp1.bat #file to replace in +Call AdvReplaceInFile +*/ +Function AdvReplaceInFile +Exch $0 ;file to replace in +Exch +Exch $1 ;number to replace after +Exch +Exch 2 +Exch $2 ;replace and onwards +Exch 2 +Exch 3 +Exch $3 ;replace with +Exch 3 +Exch 4 +Exch $4 ;to replace +Exch 4 +Push $5 ;minus count +Push $6 ;universal +Push $7 ;end string +Push $8 ;left string +Push $9 ;right string +Push $R0 ;file1 +Push $R1 ;file2 +Push $R2 ;read +Push $R3 ;universal +Push $R4 ;count (onwards) +Push $R5 ;count (after) +Push $R6 ;temp file name + + GetTempFileName $R6 + FileOpen $R1 $0 r ;file to search in + FileOpen $R0 $R6 w ;temp file + StrLen $R3 $4 + StrCpy $R4 -1 + StrCpy $R5 -1 + +loop_read: + ClearErrors + FileRead $R1 $R2 ;read line + IfErrors exit + + StrCpy $5 0 + StrCpy $7 $R2 + +loop_filter: + IntOp $5 $5 - 1 + StrCpy $6 $7 $R3 $5 ;search + StrCmp $6 "" file_write2 + StrCmp $6 $4 0 loop_filter + +StrCpy $8 $7 $5 ;left part +IntOp $6 $5 + $R3 +IntCmp $6 0 is0 not0 +is0: +StrCpy $9 "" +Goto done +not0: +StrCpy $9 $7 "" $6 ;right part +done: +StrCpy $7 $8$3$9 ;re-join + +IntOp $R4 $R4 + 1 +StrCmp $2 all file_write1 +StrCmp $R4 $2 0 file_write2 +IntOp $R4 $R4 - 1 + +IntOp $R5 $R5 + 1 +StrCmp $1 all file_write1 +StrCmp $R5 $1 0 file_write1 +IntOp $R5 $R5 - 1 +Goto file_write2 + +file_write1: + FileWrite $R0 $7 ;write modified line +Goto loop_read + +file_write2: + FileWrite $R0 $R2 ;write unmodified line +Goto loop_read + +exit: + FileClose $R0 + FileClose $R1 + + SetDetailsPrint none + Delete $0 + Rename $R6 $0 + Delete $R6 + SetDetailsPrint both + +Pop $R6 +Pop $R5 +Pop $R4 +Pop $R3 +Pop $R2 +Pop $R1 +Pop $R0 +Pop $9 +Pop $8 +Pop $7 +Pop $6 +Pop $5 +Pop $0 +Pop $1 +Pop $2 +Pop $3 +Pop $4 +FunctionEnd Index: win_installer/installer/src/installer.nsi =================================================================== diff -u --- win_installer/installer/src/installer.nsi (revision 0) +++ win_installer/installer/src/installer.nsi (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,1244 @@ +/**************************************************************** + * Copyright (C) 2006 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; ifnot, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $$Id$$ */ + +/** + * updater.nsi is actually an updater/installer/language-pack. There are 2 + * possibilites: + * 1) ifLAMS 2.x is installed and this is a newer version, the updater will be + * run + + + * 2) If there is no LAMS 2.x installation, a full install will take place + * + * Builds to win_installer\build\LAMS-updater-$VERSION.exe + * You must change the $VERSION to comply with this version (Line 49 approx) + * Change the LANGUAGE_PACK_VERSION To the date you compile YYYY-MM-DD + * Change the DATE_TIME_STAMP to the same as can be found in lams_common\db\sql\insert_windows_config_data.sql + */ + +# includes +!include "TextFunc.nsh" +!include "includes\Functions.nsh" +!include "MUI.nsh" +!include "LogicLib.nsh" +;!define ArrayNoTemp4 +;!include "..\includes\Array.nsh" + +# functions from TextFunc.nsh +!insertmacro FileJoin +!insertmacro LineFind + +# constants +!define VERSION "2.1 Beta" +;!define PREVIOUS_VERSION "2.0.2" +;!define LANGUAGE_PACK_VERSION "2007-06-01" +;!define LANGUAGE_PACK_VERSION_INT "20070601" +!define DATE_TIME_STAMP "200712201000" +!define SERVER_VERSION_NUMBER "${VERSION}.${DATE_TIME_STAMP}" +!define BASE_VERSION "2.0" +!define SOURCE_JBOSS_HOME "D:\jboss-4.0.2" ; location of jboss where lams was deployed +!define REG_HEAD "Software\LAMS Foundation\LAMSv2" +!define BASE_DEV_DIR "..\..\" +!define BUILD "..\..\build\" + +# installer settings +!define MUI_ICON "${BASE_DEV_DIR}\graphics\lams2.ico" +!define MUI_UNICON "${BASE_DEV_DIR}\graphics\lams2.ico" +Name "LAMS ${VERSION}" +;BrandingText "LAMS ${VERSION} -- built on ${__TIMESTAMP__}" +BrandingText "LAMS ${VERSION} -- built on ${__DATE__} ${__TIME__}" +OutFile "${BUILD}\LAMS-2.1-beta.exe" +InstallDir "C:\lams" +InstallDirRegKey HKLM "${REG_HEAD}" "" +LicenseForceSelection radiobuttons "I Agree" "I Do Not Agree" +InstProgressFlags smooth + + +# set warning when cancelling install +!define MUI_ABORTWARNING + +# set welcome page +!define MUI_WELCOMEPAGE_TITLE "LAMS ${VERSION} Install/Update Wizard" +!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of LAMS ${VERSION}.\r\n\r\n\ + LAMS 2.1 Beta has been released for users to explore the new Branching features coming in LAMS 2.1.\r\n\r\n\ + Do NOT use this installer to set up production server for LAMS.\r\n\r\n\ + You cannot use this installer to upgrade an existing copy of LAMS 2.0.\r\n\r\n\ + Please ensure you have a copy of MySQL 5.x installed and running, and Java JDK version 1.5.x. or 1.6.x\r\n\r\n\ + Click Next to continue." + + +# set instfiles page to wait when done +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_UNFINISHPAGE_NOAUTOCLOSE + +# display finish page stuff +!define MUI_FINISHPAGE_RUN $INSTDIR\lams-start.exe +!define MUI_FINISHPAGE_RUN_TEXT "Start LAMS now" +;!define MUI_FINISHPAGE_TEXT "The LAMS Server has been successfully installed on your computer." +!define MUI_FINISHPAGE_SHOWREADME $INSTDIR\readme.txt +!define MUI_FINISHPAGE_SHOWREADME_TEXT "Open the readme file" +!define MUI_FINISHPAGE_LINK "Visit LAMS Community" +!define MUI_FINISHPAGE_LINK_LOCATION "http://www.lamscommunity.org" + +# installer screen progression +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE "${BASE_DEV_DIR}\license.txt" +!insertmacro MUI_PAGE_COMPONENTS +!define MUI_PAGE_CUSTOMFUNCTION_LEAVE DirectoryLeave +!insertmacro MUI_PAGE_DIRECTORY +Page custom PreLAMSConfig PostLAMSConfig +Page custom PreMySQLConfig PostMySQLConfig +Page custom PreLAMS2Config PostLAMS2Config +Page custom PreWildfireConfig PostWildfireConfig +Page custom PreFinal PostFinal +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +;!insertmacro MUI_PAGE_WELCOME +;!insertmacro MUI_PAGE_LICENSE "..\license.txt" +;!insertmacro MUI_PAGE_COMPONENTS +;!define MUI_PAGE_CUSTOMFUNCTION_LEAVE DirectoryLeave +;!insertmacro MUI_PAGE_DIRECTORY +;;Page custom PreMySQLConfig PostMySQLConfig +;Page custom PreLAMSConfig PostLAMSConfig +;Page custom PreLAMS2Config PostLAMS2Config +;Page custom PreWildfireConfig PostWildfireConfig +;;!insertmacro MUI_PAGE_INSTFILES +;!insertmacro MUI_PAGE_FINISH + + +# uninstaller screens +!insertmacro MUI_UNPAGE_WELCOME +UninstPage custom un.PreUninstall un.PostUninstall +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES +!insertmacro MUI_UNPAGE_FINISH + + +# supported translations +!insertmacro MUI_LANGUAGE "English" # first language is the default language + + +# reserve files +# +ReserveFile "lams.ini" +ReserveFile "lams2.ini" +ReserveFile "mysql.ini" +ReserveFile "wildfire.ini" +;ReserveFile "lams_components.ini" +ReserveFile "final.ini" +!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS +!insertmacro MUI_RESERVEFILE_LANGDLL + +# variables +Var MYSQL_DIR ; path to user's mysql directory +Var MYSQL_ROOT_PASS ; root pass for mysql +Var MYSQL_HOST ; ip address for mysql +Var DB_NAME ; db name for lams +Var DB_USER ; db user for lams +Var DB_PASS ; db pass for lams +Var JDK_DIR ; path to user's JDK directory +Var LAMS_DOMAIN ; server URL for lams +Var LAMS_PORT ; PORT for lams usually 8080 +Var LAMS_LOCALE ; default language locale on startup +Var LAMS_REPOSITORY ; path to repository on user's box +Var LAMS_USER ; user name for lams system administrater +Var LAMS_PASS ; password for lams system administrater +Var WILDFIRE_DOMAIN ; wildfire URL +Var WILDFIRE_USER ; wildfire username +Var WILDFIRE_PASS ; wildfie password +Var WINTEMP ; temp dir +Var RETAIN_DIR ; path to directory to retain files on uninstall +Var RETAIN_FILES ; bool value to devide whether to retain files +;Var IS_UPDATE ; bool value to determine whether this is an update +;Var INCLUDE_JSMATH ; bool value to determine whether to include JBOSS +;Var TOOL_SIG ; tool signature used for tool deployer +Var TIMESTAMP ; timestamp +;Var BACKUP ; bool value to determine whether the updater will backup + + +#LANGUAGE PACK VARIABLES ##### +;Var UPDATE_LANGUAGES ; bool value to determine whether to update languages with language pack +;Var LAMS_DIR ; directory lams is installed at +;Var VERSION_INT ; version of the language pack +;Var OLD_LANG_VERSION ; previous version of language pack + +############################## + +SectionGroup "LAMS ${VERSION} Full Install" fullInstall + Section "JBoss 4.0.2" jboss + + DetailPrint "Setting up JBoss 4.0.2" + SetOutPath $INSTDIR + File /a /r /x all /x minimal /x robyn /x log /x tmp /x work /x jsMath.war /x *.bak ${SOURCE_JBOSS_HOME} + + ; Copy jboss-cache.jar, jgroups.jar from server/all/lib to server/default/lib + copyfiles "$INSTDIR\jboss-4.0.2\server\all\lib\jboss-cache.jar" "$INSTDIR\jboss-4.0.2\server\default\lib" + copyfiles "$INSTDIR\jboss-4.0.2\server\all\lib\jgroups.jar" "$INSTDIR\jboss-4.0.2\server\default\lib" + + SectionEnd + + Section "LAMS ${VERSION}" lams + + Detailprint "Installing LAMS ${VERSION}" + + SetOutPath $INSTDIR + + + Call DeployConfig + Call ImportDatabase + + CreateDirectory "$INSTDIR\temp" + + CreateDirectory "$INSTDIR\dump" + CreateDirectory "$LAMS_REPOSITORY" + + # Log mode is set to INFO in this template + SetOutPath "$INSTDIR\jboss-4.0.2\server\default\conf" + File /a "..\conf\log4j.xml" + + Call WriteRegEntries + + SetOutPath $INSTDIR + File /a "${BUILD}\lams-start.exe" + File /a "${BUILD}\lams-stop.exe" + File /a "${BUILD}\lams-backup.exe" + File /a "${BUILD}\lams-restore.exe" + File /a "${BASE_DEV_DIR}\license.txt" + File /a "${BASE_DEV_DIR}\license-wrapper.txt" + File /a "..\readme.txt" + Call SetupStartMenu + + ${if} $RETAIN_FILES == "1" + Call OverWriteRetainedFiles + ${endif} + + WriteUninstaller "$INSTDIR\lams-uninstall.exe" + + SectionEnd + + Section "Install as Service" service + DetailPrint "Setting up lams ${VERSION} as a service." + SetOutPath "$INSTDIR\jboss-4.0.2\bin" + File /a "${BASE_DEV_DIR}\wrapper-windows-x86-32-3.2.3\bin\wrapper.exe" + File /a "/oname=$INSTDIR\jboss-4.0.2\bin\InstallLAMS-NT.bat" "${BASE_DEV_DIR}\wrapper-windows-x86-32-3.2.3\bin\InstallTestWrapper-NT.bat" + File /a "/oname=$INSTDIR\jboss-4.0.2\bin\UninstallLAMS-NT.bat" "${BASE_DEV_DIR}\wrapper-windows-x86-32-3.2.3\bin\UninstallTestWrapper-NT.bat" + SetOutPath "$INSTDIR\jboss-4.0.2\lib" + File /a "${BASE_DEV_DIR}\wrapper-windows-x86-32-3.2.3\lib\wrapper.dll" + File /a "${BASE_DEV_DIR}\wrapper-windows-x86-32-3.2.3\lib\wrapper.jar" + CreateDirectory "$INSTDIR\jboss-4.0.2\conf" + CopyFiles "$INSTDIR\wrapper.conf" "$INSTDIR\jboss-4.0.2\conf\wrapper.conf" + CreateDirectory "$INSTDIR\jboss-4.0.2\logs" + nsExec::ExecToStack '$INSTDIR\jboss-4.0.2\bin\InstallLAMS-NT.bat' + Pop $0 + ${If} $0 == 0 + DetailPrint "LAMSv2 successfully setup as a service. ($0)" + ${Else} + DetailPrint "LAMSv2 was not setup as a service. ($0)" + MessageBox MB_OK|MB_ICONEXCLAMATION "LAMSv2 was not installed as a service. However you may start LAMS by double-clicking $INSTDIR\jboss-4.0.2\bin\run.bat." + ${EndIf} + SectionEnd +SectionGroupEnd + +/* +SectionGroup "jsMath (optional)" + + Section /o "jsMath (compressed)" jsmathc + SetOutPath "$INSTDIR\jboss-4.0.2\server\default\deploy" + File /a /r "${BASE_DEV_DIR}\..\jsmath\build\lib\jsMath.war" + SectionEnd + + Section /o "jsMath (expanded)" jsmathe + DetailPrint "Including jsMath in LAMS ${VERSION}" + SetOutPath "$TEMP" + File /a "${BASE_DEV_DIR}\..\jsmath\build\lib\jsMath.war" + CreateDirectory "$INSTDIR\jboss-4.0.2\server\default\deploy\jsMath.war" + SetOutPath "$INSTDIR\jboss-4.0.2\server\default\deploy\jsMath.war" + DetailPrint "$JDK_DIR\bin\jar xf $TEMP\jsMath.war" + DetailPrint "Expanding jsMath.war... This may take several minutes" + nsExec::ExecToStack "$JDK_DIR\bin\jar xf $TEMP\jsMath.war" + Pop $0 + Pop $1 + + CreateDirectory "$INSTDIR\install_logs" + + FileOpen $R0 "$INSTDIR\install_logs\installer_jsmathe.log" w + IfErrors 0 +2 + goto error + FileWrite $R0 $1 + FileClose $R0 + + ${If} $0 != 0 + DetailPrint "Failed to expand jsMath.war." + DetailPrint "Error: $1" + ${EndIf} + Delete "$TEMP\jsMath.war" + + goto done + error: + DetailPrint "Problem opening $INSTDIR\install_logs\installer_jsmathe.log for writing" + done: + SectionEnd +SectionGroupEnd +*/ + +# functions +# + +Function .onInit + + # Checking to see ifLAMS is installed + call checkRegistry + + # extract custom page display config + !insertmacro MUI_INSTALLOPTIONS_EXTRACT "lams.ini" + !insertmacro MUI_INSTALLOPTIONS_EXTRACT "lams2.ini" + !insertmacro MUI_INSTALLOPTIONS_EXTRACT "mysql.ini" + !insertmacro MUI_INSTALLOPTIONS_EXTRACT "wildfire.ini" + !insertmacro MUI_INSTALLOPTIONS_EXTRACT "final.ini" + + # set jsmath exploded size (assumes 4KB cluster size on destination hdd) + SectionSetSize ${jsmathe} 81816 + +FunctionEnd + + +################################################################################ +# USER INTERFACE CODE # +################################################################################ + +Function checkRegistry + # Check the current version installed (ifany) + ReadRegStr $0 HKLM "${REG_HEAD}" "version" + + ${if} $0 == "" + ${else} + MessageBox MB_OK|MB_ICONSTOP "You already have LAMS $0 Installed on your computer. You must uninstall before continuing." + Abort + + ${endif} +FunctionEnd + + +Function CheckJava + # check for JDK + ${If} $JDK_DIR == "" + ReadRegStr $JDK_DIR HKLM "SOFTWARE\JavaSoft\Java Development Kit\1.6" "JavaHome" + ${If} $JDK_DIR == "" + ReadRegStr $JDK_DIR HKLM "SOFTWARE\JavaSoft\Java Development Kit\1.5" "JavaHome" + ${if} $JDK_DIR == "" + MessageBox MB_OK|MB_ICONSTOP "Could not find a Java JDK 1.5 or 1.6 installation. Please enter where you have java 5 or 6 installed." + ${EndIf} + ${EndIf} + ${endif} + +FunctionEnd + +Function Checkjava2 + # check java version using given dir + nsExec::ExecToStack '$JDK_DIR\bin\javac.exe -version' + Pop $0 + Pop $1 + ${StrStr} $0 $1 "1.6" + ${If} $0 == "" + ${StrStr} $0 $1 "1.5" + ${If} $0 == "" + MessageBox MB_OK|MB_ICONEXCLAMATION "Could not find a Java 5 or Java 6 installation in the given directory. $\r$\nPlease check your Java installation and try again.$\r$\n$\r$\n$JDK_DIR" + Abort + ${EndIf} + ${EndIf} +FunctionEnd + + +Function CheckMySQL + # check mysql version is 5.0.x + Setoutpath "$TEMP\lams\" + File "${BUILD}\checkmysqlversion.class" + File "${BASE_DEV_DIR}\mysql-connector-java-3.1.12-bin.jar" + nsExec::ExecToStack '$JDK_DIR\bin\java.exe -cp ".;$TEMP\lams\mysql-connector-java-3.1.12-bin.jar" checkmysqlversion "jdbc:mysql://$MYSQL_HOST/?characterEncoding=utf8" root "$MYSQL_ROOT_PASS"' + Pop $0 + Pop $1 + ${If} $0 != 0 + ${StrStr} $3 $1 "UnknownHostException" + ${if} $3 == "" + MessageBox MB_OK|MB_ICONEXCLAMATION "An error occurred whilst checking your mysql configuration $\r$\n$\r$\nError: $1" + ${else} + MessageBox MB_OK|MB_ICONEXCLAMATION "An error occurred whilst checking your mysql configuration $\r$\n$\r$\nError: Could not connect to MySql host: $MYSQL_HOST. Please check your database configurations and try again." + ${endif} + Abort + ${EndIf} + Delete "$TEMP\lams\checkmysqlversion.class" + Delete "$TEMP\mysql-connector-java-3.1.12-bin.jar" +FunctionEnd + +Function DirectoryLeave + # check for spaces in instdir + ${StrStr} $0 $INSTDIR " " + ${If} $0 != "" + MessageBox MB_OK|MB_ICONEXCLAMATION "Please choose a location without a space." + Abort + ${EndIf} + # check LAMS 1 + ReadRegStr $0 HKLM "SOFTWARE\LAMS\Server" "install_dir" + ReadRegStr $1 HKLM "SOFTWARE\LAMS\Server" "install_status" + ReadRegStr $2 HKLM "SOFTWARE\LAMS\Server" "install_version" + ${If} $1 == "successful" + MessageBox MB_OK|MB_ICONINFORMATION "ifyou have LAMS $2 on your system, remember not to run it at the same time as LAMS ${VERSION} (unless you know what you're doing)." + ${If} $0 == $INSTDIR + MessageBox MB_OK|MB_ICONEXCLAMATION "There appears to be a LAMS $2 installation at $INSTDIR - please chose another location." + Abort + ${EndIf} + ${EndIf} + + Strcpy $RETAIN_FILES "0" + + + IfFileExists "$INSTDIR\backup\backup.zip" backupExists end + backupExists: + ; CHECK ifthere are files retained from a previous uninstall + ; THEN after installation, overwrite retained files and free files from temp folder temp folder + strcpy $6 "" + MessageBox MB_YESNO|MB_ICONQUESTION "Installer has detected database, repository and uploaded files retained from a previous install, do you wish to use them?" \ + IDYES retainFiles \ + IDNO noRetain + noRetain: + MessageBox MB_OK "Files will be backed up at $INSTDIR\backup" + goto end + retainFiles: + Strcpy $WINTEMP "C:\WINDOWS\Temp" + Strcpy $RETAIN_FILES "1" + #CopyFiles $INSTDIR $WINTEMP + #MessageBox MB_OK|MB_ICONEXCLAMATION "$RETAIN_FILES \n $RETAIN_REP $\n $RETAIN_CONF $\n $RETAIN_DB" + end: +FunctionEnd + + +Function PreMySQLConfig + #Call CheckMySQL + # check for MySQL in registry + ReadRegStr $MYSQL_DIR HKLM "SOFTWARE\MySQL AB\MySQL Server 5.0" "Location" + ${If} $MYSQL_DIR == "" + ReadRegStr $MYSQL_DIR HKLM "SOFTWARE\MySQL AB\MySQL Server 5.1" "Location" + ${If} $MYSQL_DIR == "" + #messageBox MB_OK|MB_ICONSTOP "Could not find a MySQL installation. Please ensure you have MySQL 5.0 or 5.1 installed." + ${endif} + ${endif} + + !insertmacro MUI_INSTALLOPTIONS_WRITE "mysql.ini" "Field 3" "State" "$MYSQL_DIR" + !insertmacro MUI_HEADER_TEXT "Setting Up MySQL Database Access (2/4)" "Choose a MySQL database and user account for LAMS. if unsure, use the defaults." + !insertmacro MUI_INSTALLOPTIONS_DISPLAY "mysql.ini" + +FunctionEnd + +Function PostMySQLConfig + + !insertmacro MUI_INSTALLOPTIONS_READ $MYSQL_DIR "mysql.ini" "Field 3" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $MYSQL_ROOT_PASS "mysql.ini" "Field 5" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $DB_NAME "mysql.ini" "Field 7" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $DB_USER "mysql.ini" "Field 9" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $DB_PASS "mysql.ini" "Field 10" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $MYSQL_HOST "mysql.ini" "Field 14" "State" + + call CheckMySQL +FunctionEnd + + +Function PreLAMSConfig + Call CheckJava + + !insertmacro MUI_INSTALLOPTIONS_WRITE "lams.ini" "Field 2" "State" "$JDK_DIR" + !insertmacro MUI_INSTALLOPTIONS_WRITE "lams.ini" "Field 4" "State" "$INSTDIR\repository" + !insertmacro MUI_HEADER_TEXT "Setting Up LAMS (1/4)" "Configure the LAMS Server. if unsure, use the defaults." + !insertmacro MUI_INSTALLOPTIONS_DISPLAY "lams.ini" + +FunctionEnd + + +Function PostLAMSConfig + + + !insertmacro MUI_INSTALLOPTIONS_READ $JDK_DIR "lams.ini" "Field 2" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_REPOSITORY "lams.ini" "Field 4" "State" + + # check java version using given dir + Call Checkjava2 + +FunctionEnd + + +Function PreLAMS2Config + !insertmacro MUI_HEADER_TEXT "Setting Up LAMS (3/4)" "Configure the LAMS Server, and choose an admin username and password." + !insertmacro MUI_INSTALLOPTIONS_DISPLAY "lams2.ini" +FunctionEnd + + +Function PostLAMS2Config + !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_DOMAIN "lams2.ini" "Field 8" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_PORT "lams2.ini" "Field 9" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_LOCALE "lams2.ini" "Field 12" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_USER "lams2.ini" "Field 2" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_PASS "lams2.ini" "Field 5" "State" +FunctionEnd + + +Function PreWildfireConfig + !insertmacro MUI_HEADER_TEXT "Setting Up Wildfire Chat Server (4/4)" "Configure Wildfire, chat server for LAMS. if unsure, use the default." + !insertmacro MUI_INSTALLOPTIONS_DISPLAY "wildfire.ini" +FunctionEnd + + +Function PostWildfireConfig + + !insertmacro MUI_INSTALLOPTIONS_READ $WILDFIRE_DOMAIN "wildfire.ini" "Field 2" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $WILDFIRE_USER "wildfire.ini" "Field 5" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $WILDFIRE_PASS "wildfire.ini" "Field 7" "State" + + # check wildfire is running by checking client connection port 5222 + SetOutPath $TEMP + File "${BUILD}\LocalPortScanner.class" + nsExec::ExecToStack '$JDK_DIR\bin\java LocalPortScanner 5222' + Pop $0 + Pop $1 + ${If} $0 == 0 + MessageBox MB_OKCANCEL|MB_ICONQUESTION "Wildfire does not appear to be running - LAMS will be OK, but chat rooms will be unavailable." IDOK noWildfire IDCANCEL cancel + cancel: + Abort + noWildfire: + ${EndIf} + +FunctionEnd + +Function PreFinal + !insertmacro MUI_INSTALLOPTIONS_WRITE "final.ini" "Field 2" "Text" "Click 'Install' to commence installation of LAMS ${VERSION}" + !insertmacro MUI_HEADER_TEXT "LAMS ${VERSION}" "Configuration Completed" + !insertmacro MUI_INSTALLOPTIONS_DISPLAY "final.ini" +FunctionEnd + +Function PostFinal + + Call GetLocalTime + Pop "$0" ;Variable (for day) + Pop "$1" ;Variable (for month) + Pop "$2" ;Variable (for year) + Pop "$3" ;Variable (for day of week name) + Pop "$4" ;Variable (for hour) + Pop "$5" ;Variable (for minute) + Pop "$6" ;Variable (for second) + + strlen $7 $0 + ${if} $7 == 1 + strcpy $0 "0$0" + ${endif} + + strlen $7 $1 + ${if} $7 == 1 + strcpy $1 "0$1" + ${endif} + + strlen $7 $4 + ${if} $7 == 1 + strcpy $4 "0$4" + ${endif} + + strlen $7 $5 + ${if} $7 == 1 + strcpy $1 "0$5" + ${endif} + + + strcpy $TIMESTAMP "$2$1$0$4$5" + +FunctionEnd + +################################################################################ +# END USER INTERFACE CODE # +################################################################################ + + + + + +################################################################################ +# CODE USED FOR INSTALLER # +################################################################################ + +Function DeployConfig + # extract support files to write configuration + SetOutPath $INSTDIR + File /r "${BASE_DEV_DIR}\apache-ant-1.6.5" + File /r "${BASE_DEV_DIR}\zip" + SetOutPath $TEMP + File "build.xml" + File "..\templates\mysql-ds.xml" + File "..\templates\server.xml" + File "..\templates\run.bat" + File "..\templates\wrapper.conf" + File "..\templates\index.html" + File "..\templates\update_lams_configuration.sql" + File "..\conf\login-config.xml" + + # create installer.properties + ClearErrors + FileOpen $0 $TEMP\installer.properties w + IfErrors 0 +2 + goto error + + # convert '\' to '/' for Ant's benefit + Push $TEMP + Push "\" + Call StrSlash + Pop $2 + FileWrite $0 "TEMP=$2$\r$\n" + + Push $INSTDIR + Push "\" + Call StrSlash + Pop $2 + FileWrite $0 "URL=http://$LAMS_DOMAIN:$LAMS_PORT/lams/$\r$\n" + FileWrite $0 "INSTDIR=$2/$\r$\n" + FileWrite $0 "TEMPDIR=$2/temp$\r$\n" + FileWrite $0 "DUMPDIR=$2/dump$\r$\n" + FileWrite $0 "EARDIR=$2/jboss-4.0.2/server/default/deploy/lams.ear$\r$\n" + FileWrite $0 "DEPLOYDIR=$2/jboss-4.0.2/server/default/deploy$\r$\n" + FileWrite $0 "TOMCATDIR=$2/jboss-4.0.2/server/default/deploy/jbossweb-tomcat55.sar$\r$\n" + FileWrite $0 "BINDIR=$2/jboss-4.0.2/bin$\r$\n" + + # Use unix slashes for config in wrapper.conf + Push $JDK_DIR + Push "\" + Call StrSlash + Pop $2 + FileWrite $0 "JDK_DIR_UNIX_SLASH=$2$\r$\n" + + Push $LAMS_REPOSITORY + Push "\" + Call StrSlash + Pop $2 + FileWrite $0 "REPOSITORYDIR=$2$\r$\n" + + StrCpy $LAMS_LOCALE $LAMS_LOCALE 5 + FileWrite $0 "LOCALE=$LAMS_LOCALE$\r$\n" + ${If} $LAMS_LOCALE == "ar_JO" + FileWrite $0 "LOCALE_DIRECTION=RTL$\r$\n" + ${Else} + FileWrite $0 "LOCALE_DIRECTION=LTR$\r$\n" + ${EndIf} + + FileWrite $0 "WILDFIRE_DOMAIN=$WILDFIRE_DOMAIN$\r$\n" + FileWrite $0 "WILDFIRE_CONFERENCE=conference.$WILDFIRE_DOMAIN$\r$\n" + FileWrite $0 "WILDFIRE_USER=$WILDFIRE_USER$\r$\n" + FileWrite $0 "WILDFIRE_PASS=$WILDFIRE_PASS$\r$\n" + + FileWrite $0 "MYSQL_HOST=$MYSQL_HOST$\r$\n" + FileWrite $0 "DB_NAME=$DB_NAME$\r$\n" + FileWrite $0 "DB_USER=$DB_USER$\r$\n" + FileWrite $0 "DB_PASS=$DB_PASS$\r$\n" + + FileWrite $0 "LAMS_PORT=$LAMS_PORT$\r$\n" + FileWrite $0 "LAMS_USER=$LAMS_USER$\r$\n" + FileWrite $0 "LAMS_PASS=$LAMS_PASS$\r$\n" + FileClose $0 + # for debugging purposes + CopyFiles "$TEMP\installer.properties" $INSTDIR + + # use Ant to write config to files + FileOpen $0 "$INSTDIR\apache-ant-1.6.5\bin\newAnt.bat" w + IfErrors 0 +2 + goto error + FileWrite $0 "@echo off$\r$\nset JAVACMD=$JDK_DIR\bin\java$\r$\n" + FileClose $0 + ${FileJoin} "$INSTDIR\apache-ant-1.6.5\bin\newAnt.bat" "$INSTDIR\apache-ant-1.6.5\bin\ant.bat" "" + DetailPrint '$INSTDIR\apache-ant-1.6.5\bin\newAnt.bat configure-deploy' + + + + nsExec::ExecToStack '$INSTDIR\apache-ant-1.6.5\bin\newAnt.bat -buildfile $TEMP\build.xml configure-deploy' + Pop $0 ; return code, 0=success, error=fail + Pop $1 ; console output + + + CreateDirectory "$INSTDIR\install_logs" + + FileOpen $R0 "$INSTDIR\install_logs\installer_ant.log" w + IfErrors 0 +2 + goto error + FileWrite $R0 $1 + FileClose $R0 + + ${If} $0 == "error" + goto error + ${EndIf} + ${StrStr} $0 $1 "BUILD SUCCESSFUL" + ${If} $0 == "" + goto error + ${EndIf} + + # write my.ini ifexists, doesnt write READ-COMMITTED ifits already written + # TODO doesn't take effect until mysql server is restarted + DetailPrint "Setting MySQL transaction-isolation to READ-COMMITTED" + iffileexists "$MYSQL_DIR\my.ini" 0 difini + push "$MYSQL_DIR\my.ini" + push "transaction-isolation=READ-COMMITTED" + Call FileSearch + Pop $0 #Number of times found throughout + Pop $3 #Found at all? yes/no + Pop $2 #Number of lines found in + intcmp $0 0 0 done done + clearerrors + ${LineFind} "$MYSQL_DIR\my.ini" "" "1" "WriteMyINI" + IfErrors nomyini myini + difini: + iffileexists "$WINDIR\my.ini" 0 nomyini + push "$WINDIR\my.ini" + push "transaction-isolation=READ-COMMITTED" + Call FileSearch + Pop $0 #Number of times found throughout + Pop $3 #Found at all? yes/no + Pop $2 #Number of lines found in + intcmp $0 0 0 done done + clearerrors + ${LineFind} "$WINDIR\my.ini" "" "1" "WriteMyINI" + IfErrors nomyini myini + nomyini: + MessageBox MB_OK|MB_ICONEXCLAMATION "Couldn't write to $MYSQL_DIR\my.ini. Please write this text into your MySQL configuration file and restart MySQL:$\r$\n$\r$\n[mysqld]$\r$\ntransaction-isolation=READ-COMMITTED" + goto done + myini: + DetailPrint "MySQL will need to be restarted for this to take effect." + goto done + error: + DetailPrint "Ant configure-deploy failed." + MessageBox MB_OK|MB_ICONSTOP "LAMS configuration failed. Please check your LAMS configuration and try again.$\r$\nError:$\r$\n$\r$\n$1" + Abort "LAMS configuration failed." + done: +FunctionEnd + + +Function WriteMyINI + FileWrite $R4 "[mysqld]$\r$\n" + FileWrite $R4 "transaction-isolation=READ-COMMITTED$\r$\n" + Push $0 +FunctionEnd + +Function ImportDatabase + SetOutPath $TEMP + File "${BUILD}\dump.sql" + + FileOpen $R0 "$INSTDIR\install_logs\installer_db.log" w + IfErrors 0 +2 + goto error + + # Only do this ifmysql is set up on local host + ####################################################### + ${If} $MYSQL_HOST == 'localhost' + # $9 == 0 for empty password + StrLen $9 $MYSQL_ROOT_PASS + StrCpy $0 '$MYSQL_DIR\bin\mysql -e "CREATE DATABASE $DB_NAME DEFAULT CHARACTER SET utf8" -u root' + DetailPrint $0 + ${If} $9 != 0 + StrCpy $0 '$MYSQL_DIR\bin\mysql -e "CREATE DATABASE $DB_NAME DEFAULT CHARACTER SET utf8" -u root -p$MYSQL_ROOT_PASS' + ${EndIf} + nsExec::ExecToStack $0 + Pop $0 + Pop $1 + FileWrite $R0 "$1$\n" + ${If} $0 == 1 + goto error + ${EndIf} + + StrCpy $0 `$MYSQL_DIR\bin\mysql -e "GRANT ALL PRIVILEGES ON *.* TO $DB_USER@localhost IDENTIFIED BY '$DB_PASS'" -u root` + DetailPrint $0 + ${If} $9 != 0 + StrCpy $0 `$MYSQL_DIR\bin\mysql -e "GRANT ALL PRIVILEGES ON *.* TO $DB_USER@localhost IDENTIFIED BY '$DB_PASS'" -u root -p$MYSQL_ROOT_PASS` + ${EndIf} + nsExec::ExecToStack $0 + Pop $0 + Pop $1 + FileWrite $R0 "$1$\n" + ${If} $0 == 1 + goto error + ${EndIf} + + StrCpy $0 '$MYSQL_DIR\bin\mysql -e "REVOKE PROCESS,SUPER ON *.* from $DB_USER@localhost" -u root' + DetailPrint $0 + ${If} $9 != 0 + StrCpy $0 '$MYSQL_DIR\bin\mysql -e "REVOKE PROCESS,SUPER ON *.* from $DB_USER@localhost" -u root -p$MYSQL_ROOT_PASS' + ${EndIf} + nsExec::ExecToStack $0 + Pop $0 + Pop $1 + FileWrite $R0 "$1$\n" + ${If} $0 == 1 + goto error + ${EndIf} + + StrCpy $0 '$MYSQL_DIR\bin\mysqladmin flush-privileges -u root' + DetailPrint $0 + ${If} $9 != 0 + StrCpy $0 '$MYSQL_DIR\bin\mysqladmin flush-privileges -u root -p$MYSQL_ROOT_PASS' + ${EndIf} + nsExec::ExecToStack $0 + Pop $0 + Pop $1 + FileWrite $R0 "$1$\n" + ${If} $0 == 1 + goto error + ${EndIf} + + ${if} $RETAIN_FILES == '1' + #unzip repository files + setoutpath "$INSTDIR\backup" + strcpy $4 '$INSTDIR\zip\7za.exe x -aoa "backup.zip"' + nsExec::ExecToStack $4 + pop $5 + pop $6 + FileWrite $R0 "$6$\n" + ${if} $5 != 0 + Detailprint "7za Unzip error: $\r$\n$\r$\n$6" + MessageBox MB_OK|MB_ICONSTOP "7za Unzip error:$\r$\nError:$\r$\n$\r$\n$6" + Abort "Lams configuration failed" + ${endif} + + #replace the install dump with the retained dump + #MessageBox MB_OK|MB_ICONEXCLAMATION "Rebuilding datbase" + CopyFiles "$INSTDIR\backup\lamsDump.sql" "$TEMP\dump.sql" + DetailPrint "Using retained database: $INSTDIR\backup\lamsDump.sql" + + RMdir /r "$INSTDIR\backup\jboss-4.0.2" + RMdir /r "$INSTDIR\backup\repository" + delete "$INSTDIR\backup\lamsDump.sql" + + Detailprint "finished copying lamsdump.sql" + ${endif} + ${endif} + ####################################################### + + SetOutPath $TEMP + # use Ant to import database + DetailPrint '$INSTDIR\apache-ant-1.6.5\bin\ant.bat import-db' + nsExec::ExecToStack '$INSTDIR\apache-ant-1.6.5\bin\newAnt.bat import-db' + # MessageBox MB_OK|MB_ICONEXCLAMATION "Database has been filled" + Pop $0 ; return code, 0=success, error=fail + Pop $1 ; console output + FileWrite $R0 "$1$\n" + DetailPrint "DB import status: $0" + DetailPrint "DB import output: $1" + + FileClose $R0 + + goto done + error: + MessageBox MB_OK|MB_ICONSTOP "Database setup failed. Please check your MySQL configuration and try again.$\r$\nError:$\r$\n$\r$\n$1" + Abort "Database setup failed." + done: + +FunctionEnd + + +Function WriteRegEntries + WriteRegStr HKLM "${REG_HEAD}" "dir_jdk" $JDK_DIR + WriteRegStr HKLM "${REG_HEAD}" "dir_mysql" "$MYSQL_DIR\" + WriteRegStr HKLM "${REG_HEAD}" "mysql_host" "$MYSQL_HOST" + WriteRegStr HKLM "${REG_HEAD}" "dir_inst" $INSTDIR + WriteRegStr HKLM "${REG_HEAD}" "dir_repository" $LAMS_REPOSITORY + WriteRegStr HKLM "${REG_HEAD}" "version" "${VERSION}" + WriteRegStr HKLM "${REG_HEAD}" "server_version" "${SERVER_VERSION_NUMBER}" + WriteRegStr HKLM "${REG_HEAD}" "db_name" $DB_NAME + WriteRegStr HKLM "${REG_HEAD}" "db_user" $DB_USER + WriteRegStr HKLM "${REG_HEAD}" "db_pass" $DB_PASS + WriteRegStr HKLM "${REG_HEAD}" "lams_domain" $LAMS_DOMAIN + WriteRegStr HKLM "${REG_HEAD}" "lams_port" $LAMS_PORT + WriteRegStr HKLM "${REG_HEAD}" "lams_locale" $LAMS_LOCALE + WriteRegStr HKLM "${REG_HEAD}" "wildfire_domain" $WILDFIRE_DOMAIN + WriteRegStr HKLM "${REG_HEAD}" "wildfire_user" $WILDFIRE_USER + WriteRegStr HKLM "${REG_HEAD}" "wildfire_pass" $WILDFIRE_PASS +FunctionEnd + +Function OverWriteRetainedFiles + # overwriting retain files (moved to windows/temp) to install directory files + ${if} $RETAIN_FILES == "1" + #MessageBox MB_OK|MB_ICONSTOP "repository files to be retained" + + #unzip repository files + setoutpath "$INSTDIR\backup" + strcpy $4 '$INSTDIR\zip\7za.exe x -aoa "backup.zip"' + nsExec::ExecToStack $4 + #pop $0 + #pop $1 + #MessageBox MB_OK|MB_ICONSTOP "Extracting retained files: $0$\n$1" + + #copy repository and uploaded files to install directory + CopyFiles "$WINTEMP\lams\backup\repository" "$INSTDIR\" + DetailPrint "$INSTDIR\repository" + CopyFiles "$WINTEMP\lams\backup\jboss-4.0.2\server\default\deploy\lams.ear\lams-www.war" "$INSTDIR\jboss-4.0.2\server\default\deploy\lams.ear\" + DetailPrint "Overwrite $INSTDIR\jboss-4.0.2\server\default\deploy\lams.ear\lams-www.war" + ${endif} + RMdir "$WINTEMP\lams" +FunctionEnd + +Function SetupStartMenu + CreateDirectory "$SMPROGRAMS\LAMSv2" + CreateShortCut "$SMPROGRAMS\LAMSv2\Access LAMS.lnk" "http://$LAMS_DOMAIN:$LAMS_PORT/lams/" + CreateShortCut "$SMPROGRAMS\LAMSv2\LAMS Community.lnk" "http://www.lamscommunity.org" + CreateShortCut "$SMPROGRAMS\LAMSv2\Start LAMS.lnk" "$INSTDIR\lams-start.exe" + CreateShortCut "$SMPROGRAMS\LAMSv2\Stop LAMS.lnk" "$INSTDIR\lams-stop.exe" + CreateShortCut "$SMPROGRAMS\LAMSv2\Backup LAMS.lnk" "$INSTDIR\lams-backup.exe" + CreateShortCut "$SMPROGRAMS\LAMSv2\Restore previous LAMS version.lnk" "$INSTDIR\lams-restore.exe" + CreateShortCut "$SMPROGRAMS\LAMSv2\Uninstall LAMS.lnk" "$INSTDIR\lams-uninstall.exe" +FunctionEnd + + +# cleanup functions +Function RemoveTempFiles + Delete "$TEMP\LocalPortScanner.class" + Delete "$TEMP\mysql-ds.xml" + Delete "$TEMP\server.xml" + Delete "$TEMP\run.bat" + Delete "$TEMP\wrapper.conf" + Delete "$TEMP\dump.sql" + Delete "$TEMP\build.xml" + Delete "$TEMP\installer.properties" + Delete "$INSTDIR\wrapper.conf" + Delete "$TEMP\index.html" + Delete "$TEMP\update_lams_configuration.sql" + Delete "$TEMP\login-config.xml" + Delete "$INSTDIR\update_lams_configuration.sql" + RMDIR /r "$WINTEMP\lams" +FunctionEnd + +Function .onInstFailed + ;remove all files from the instdir excluding the backed up files + RMDir /r "$INSTDIR\jboss-4.0.2" + RMDir /r "$INSTDIR\dump" + RMDir /r "$INSTDIR\repository" + RMDir /r "$INSTDIR\temp" + RMDir /r "$INSTDIR\build" + Delete "$INSTDIR\index.html" + Delete "$INSTDIR\installer.properties" + Delete "$INSTDIR\installer_ant.log" + Delete "$INSTDIR\lams-start.exe" + Delete "$INSTDIR\lams-stop.exe" + Delete "$INSTDIR\lams-backup.exe" + Delete "$INSTDIR\lams-restore.exe" + Delete "$INSTDIR\lams_uninstall.exe" + Delete "$INSTDIR\license.txt" + Delete "$INSTDIR\readme.txt" + + strcpy $0 $MYSQL_DIR + strcpy $1 $DB_NAME + strcpy $2 $DB_USER + strcpy $3 $DB_PASS + + StrLen $9 $3 + StrCpy $4 '$0\bin\mysql -e "DROP DATABASE $1" -u $2' + DetailPrint $4 + ${If} $9 != 0 + StrCpy $4 '$0\bin\mysql -e "DROP DATABASE $1" -u $2 -p$3' + ${EndIf} + + ReadRegStr $MYSQL_HOST HKLM "${REG_HEAD}" "mysql_host" + ${If} $MYSQL_HOST == 'localhost' + nsExec::ExecToStack $4 + Pop $0 + Pop $1 + ${If} $0 == 1 + MessageBox MB_OK|MB_ICONEXCLAMATION "Couldn't remove LAMS database:$\r$\n$\r$\n$1" + DetailPrint "Failed to remove LAMS database." + ${EndIf} + ${EndIf} + + Call RemoveTempFiles + DeleteRegKey HKLM "${REG_HEAD}" +FunctionEnd + +Function .onInstSuccess + DetailPrint "LAMS ${VERSION} configuration successful." + Call RemoveTempFiles + RMDir /r "$INSTDIR\apache-ant-1.6.5" + RMDir /r "$INSTDIR\zip" + RMDir /r "$INSTDIR\backup\repository" + RMDIR /r "$INSTDIR\backup\jboss-4.0.2" + Delete "$INSTDIR\backup\lamsDump.sql" +FunctionEnd + +################################################################################ +# END CODE USED FOR INSTALLER # +################################################################################ + + + + +################################################################################ +# CODE USED FOR UNINSTALLER # +################################################################################ +# Uninstaller +# +Var UNINSTALL_RETAIN +#Var UNINSTALL_DB +#Var UNINSTALL_RP +#Var UNINSTALL_CF + +Function un.onInit + ;!insertmacro MUI_LANGDLL_DISPLAY + !insertmacro MUI_INSTALLOPTIONS_EXTRACT "uninstall.ini" + + # check ifLAMS is stopped + SetOutPath $TEMP + File "${BUILD}\LocalPortScanner.class" + ReadRegStr $0 HKLM "${REG_HEAD}" "lams_port" + ReadRegStr $1 HKLM "${REG_HEAD}" "dir_jdk" + Goto checklams + + checklams: + nsExec::ExecToStack "$1\bin\java LocalPortScanner $0" + Pop $2 + ${If} $2 == 2 + MessageBox MB_YESNO|MB_ICONQUESTION "LAMS appears to be running. Do you wish to stop LAMS?" \ + IDYES stoplams \ + IDNO quit + ${EndIf} + Goto continue + stoplams: + nsExec::ExecToStack 'sc stop LAMSv2' + Pop $0 + Pop $1 + DetailPrint "Sent stop command to LAMS service." + sleep 10000 + Goto checklams + # sleep for 10s to ensure that JBoss closes properly + + quit: + Delete "$TEMP\LocalPortScanner.class" + MessageBox MB_OK|MB_ICONSTOP "Uninstall cannot continue while LAMS is running." + Abort + + continue: + Delete "$TEMP\LocalPortScanner.class" +FunctionEnd + +Function un.PreUninstall + !insertmacro MUI_HEADER_TEXT "Remove LAMS Database" "Choose whether to remove the LAMS database." + !insertmacro MUI_INSTALLOPTIONS_DISPLAY "uninstall.ini" +FunctionEnd + +Function un.PostUninstall + !insertmacro MUI_INSTALLOPTIONS_READ $UNINSTALL_RETAIN "uninstall.ini" "Field 1" "State" + ReadRegStr $MYSQL_HOST HKLM "${REG_HEAD}" "mysql_host" + ${if} $UNINSTALL_RETAIN == 1 + ${if} MYSQL_HOST != 'localhost' + MessageBox MB_YESNO|MB_ICONQUESTION "Unable to backup LAMS. MYSQL_HOST is not set to localhost. Manual backup required. $\r$\n$\r$\nWould you like to quit the uninstaller and backup LAMS manually? ifyou choose 'No', the unistallation will proceed and lams will not be backed up." IDYES quit IDNO continue + quit: + Quit + continue: + ${endif} + ${endif} +FunctionEnd + + +# http://nsis.sourceforge.net/StrStr +# +!define un.StrStr "!insertmacro un.StrStr" + +!macro un.StrStr ResultVar String SubString + Push `${String}` + Push `${SubString}` + Call un.StrStr + Pop `${ResultVar}` +!macroend + +Function un.StrStr +/*After this point: + ------------------------------------------ + $R0 = SubString (input) + $R1 = String (input) + $R2 = SubStringLen (temp) + $R3 = StrLen (temp) + $R4 = StartCharPos (temp) + $R5 = TempStr (temp)*/ + + ;Get input from user + Exch $R0 + Exch + Exch $R1 + Push $R2 + Push $R3 + Push $R4 + Push $R5 + + ;Get "String" and "SubString" length + StrLen $R2 $R0 + StrLen $R3 $R1 + ;Start "StartCharPos" counter + StrCpy $R4 0 + + ;Loop until "SubString" is found or "String" reaches its end + ${Do} + ;Remove everything before and after the searched part ("TempStr") + StrCpy $R5 $R1 $R2 $R4 + + ;Compare "TempStr" with "SubString" + ${IfThen} $R5 == $R0 ${|} ${ExitDo} ${|} + ;ifnot "SubString", this could be "String"'s end + ${IfThen} $R4 >= $R3 ${|} ${ExitDo} ${|} + ;ifnot, continue the loop + IntOp $R4 $R4 + 1 + ${Loop} + +/*After this point: + ------------------------------------------ + $R0 = ResultVar (output)*/ + + ;Remove part before "SubString" on "String" (ifthere has one) + StrCpy $R0 $R1 `` $R4 + + ;Return output to user + Pop $R5 + Pop $R4 + Pop $R3 + Pop $R2 + Pop $R1 + Exch $R0 +FunctionEnd + + +Section "Uninstall" + + strcpy $WINTEMP "C:\WINDOWS\Temp" + RMDir /r "$WINTEMP\lams\backup" + CreateDirectory "$WINTEMP\lams\backup" + + #strcpy $RETAIN_DIR "$INSTDIR\backup_$TIMESTAMP" + strcpy $RETAIN_DIR "$INSTDIR\backup" + CreateDirectory $RETAIN_DIR + + ReadRegStr $MYSQL_HOST HKLM "${REG_HEAD}" "mysql_host" + ;Now copy files that are to be retained to the temp folder + ${If} $UNINSTALL_RETAIN == 1 + #MessageBox MB_OK|MB_ICONEXCLAMATION "retaining repository" + ; KEEP repository and uploaded files + ; Copy repository and jboss-4.0.2\server\default\deploy\lams.ear\lams-www.war to backup + ReadRegStr $6 HKLM "${REG_HEAD}" "dir_repository" + + CreateDirectory "$RETAIN_DIR\repository" + CreateDirectory "$RETAIN_DIR\jboss-4.0.2\server\default\deploy\lams.ear\lams-www.war\" + + #MessageBox MB_OK|MB_ICONEXCLAMATION "Copying files to $RETAIN_DIR\jboss-4.0.2\server\default\deploy\lams.ear\lams-www.war\" + copyfiles /silent $6 "$RETAIN_DIR" + copyfiles /silent "$INSTDIR\jboss-4.0.2\server\default\deploy\lams.ear\lams-www.war\*" "$RETAIN_DIR\jboss-4.0.2\server\default\deploy\lams.ear\lams-www.war\" + + DetailPrint 'Saving repository and uploaded files to: $RETAIN_DIR' + #MessageBox MB_OK|MB_ICONEXCLAMATION "Copying files from instdir to temp" + copyfiles /silent "$RETAIN_DIR\*" "$WINTEMP\lams\backup" + ${EndIf} + + setoutpath $temp + RMdir /r "$INSTDIR\jboss-4.0.2\" + RMdir /r "$INSTDIR\" + #MessageBox MB_OK|MB_ICONEXCLAMATION "INSTDIR DELETED FFS!" + + ; NOT SURE ifTHIS SECTION OF CODE IS NECCESSARY + ReadRegStr $0 HKLM "${REG_HEAD}" "dir_conf" + RMDir /r $0 + + ; RESTORE Retained folders to their original localtion then delete temp files + ; DUMP database into backup folder + ReadRegStr $0 HKLM "${REG_HEAD}" "dir_mysql" + ReadRegStr $1 HKLM "${REG_HEAD}" "db_name" + ReadRegStr $2 HKLM "${REG_HEAD}" "db_user" + ReadRegStr $3 HKLM "${REG_HEAD}" "db_pass" + ${If} $UNINSTALL_RETAIN == 1 + #Messagebox MB_OK|MB_ICONEXCLAMATION "retaining db" + ; DUMP the database file into the retained install directory + + CreateDirectory "$RETAIN_DIR" + Strcpy $4 "$0\bin\mysqldump -r $WINTEMP\lams\backup\lamsDump.sql $1 -u $2 -p$3" + nsExec::ExecToStack $4 + Pop $8 + Pop $9 + DetailPrint 'Dumping database to: $RETAIN_DIR' + + Setoutpath $INSTDIR + File /r "${BASE_DEV_DIR}\zip" + + #ZIP UP ALL RETAINED FILES + IfFileExists "$WINTEMP\lams\backup\backup.zip" removeZip leaveFolder + removeZip: + delete "$WINTEMP\lams\backup\backup.zip" + leaveFolder: + + SetOutPath "$WINTEMP\lams\backup" + Strcpy $4 '$INSTDIR\zip\7za.exe a -r -tzip "$RETAIN_DIR\backup.zip" "*"' + nsExec::ExecToStack $4 + rmdir /r "$INSTDIR\zip" + #pop $5 + #pop $6 + #MessageBox MB_OK|MB_ICONEXCLAMATION "ZIP RESULT: $5$\n$6$\n" + rmdir $RETAIN_DIR + ${EndIf} + RMDir /r "$WINTEMP\lams" + + StrLen $9 $3 + ${if} $MYSQL_HOST == 'localhost' + StrCpy $4 '$0\bin\mysql -e "DROP DATABASE $1" -u $2' + DetailPrint $4 + ${If} $9 != 0 + StrCpy $4 '$0\bin\mysql -e "DROP DATABASE $1" -u $2 -p$3' + ${EndIf} + nsExec::ExecToStack $4 + Pop $0 + Pop $1 + ${If} $0 == 1 + MessageBox MB_OK|MB_ICONEXCLAMATION "Couldn't remove LAMS database:$\r$\n$\r$\n$1" + DetailPrint "Failed to remove LAMS database." + ${EndIf} + ${endif} + + ; batch file doesn't want to work when called with ExecToStack + ; nsExec::ExecToStack '$INSTDIR\jboss-4.0.2\bin\UninstallLAMS-NT.bat' + nsExec::ExecToStack 'sc delete LAMSv2' + Pop $0 + Pop $1 + ; can't call StrStr from within uninstaller unless it's a un. function + ${un.StrStr} $2 $1 "SUCCESS" + ${If} $2 == "" + MessageBox MB_OK|MB_ICONEXCLAMATION "Couldn't remove LAMSv2 service.$\r$\n$\r$\n$1" + DetailPrint "Failed to remove LAMSv2 service." + ${Else} + DetailPrint "Removed LAMSv2 service." + ${EndIf} + /*StrCmp $1 "[SC] Delete Service SUCCESS$\r$\n" 0 +3 + DetailPrint "Removed LAMSv2 service." + Goto +3 + MessageBox MB_OK|MB_ICONSTOP "Couldn't remove LAMSv2 service.$\r$\n$\r$\n$1" + DetailPrint "Failed to remove LAMSv2 service."*/ + + DeleteRegKey HKLM "${REG_HEAD}" + DetailPrint "Removed registry entries." + RMDir /r "$SMPROGRAMS\LAMSv2" + DetailPrint "Removed start menu entries." + DetailPrint "Uninstall complete." +SectionEnd + +################################################################################ +# END CODE USED FOR UNINSTALLER # +################################################################################ \ No newline at end of file Index: win_installer/installer/src/lams-update.ini =================================================================== diff -u --- win_installer/installer/src/lams-update.ini (revision 0) +++ win_installer/installer/src/lams-update.ini (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,50 @@ +[Settings] +NumFields=6 + +[Field 1] +Type=GroupBox +Left=0 +Top=0 +Right=-1 +Bottom=-4 +Text=Configure LAMS... + +[Field 2] +Type=DirRequest +Left=7 +Top=82 +Right=152 +Bottom=95 + +[Field 3] +Type=Label +Left=7 +Top=70 +Right=152 +Bottom=79 +Text=Java JDK directory... + +[Field 4] +Type=Link +Left=7 +Top=117 +Right=152 +Bottom=126 +Text=Click to get online help for these options +State=http://wiki.lamsfoundation.org/display/lamsdocs/Windows+Installer+Help#WindowsInstallerHelp-lams + +[Field 5] +Type=Label +Left=7 +Top=26 +Right=152 +Bottom=33 +Text=MySql Host... + +[Field 6] +Type=Text +Left=7 +Top=37 +Right=134 +Bottom=50 +State=localhost Index: win_installer/installer/src/lams.ini =================================================================== diff -u --- win_installer/installer/src/lams.ini (revision 0) +++ win_installer/installer/src/lams.ini (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,52 @@ +[Settings] +NumFields=6 + +[Field 1] +Type=GroupBox +Left=0 +Top=0 +Right=-1 +Bottom=-4 +Text=Configure LAMS... + +[Field 2] +Type=DirRequest +Left=7 +Top=37 +Right=152 +Bottom=50 + +[Field 3] +Type=Label +Left=7 +Top=26 +Right=152 +Bottom=35 +Text=Java JDK directory... + +[Field 4] +Type=DirRequest +Left=7 +Top=76 +Right=152 +Bottom=89 +State= +MinLen=1 +ValidateText=Please specify a directory for the content repository. + +[Field 5] +Type=Label +Left=7 +Top=65 +Right=152 +Bottom=74 +Text=Content repository directory... + +[Field 6] +Type=Link +Left=7 +Top=117 +Right=152 +Bottom=126 +Text=Click to get online help for these options +State=http://wiki.lamsfoundation.org/display/lamsdocs/Windows+Installer+Help#WindowsInstallerHelp-lams Index: win_installer/installer/src/lams2.ini =================================================================== diff -u --- win_installer/installer/src/lams2.ini (revision 0) +++ win_installer/installer/src/lams2.ini (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,107 @@ +[Settings] +NumFields=12 + +[Field 1] +Type=GroupBox +Left=0 +Top=1 +Right=299 +Bottom=137 +Text=Configure LAMS... + +[Field 2] +Type=Text +Left=8 +Top=82 +Right=130 +Bottom=94 +State=sysadmin +Flags= + +[Field 3] +Type=Label +Left=8 +Top=71 +Right=130 +Bottom=79 +Text=Admin username... + +[Field 4] +Type=Label +Left=142 +Top=71 +Right=264 +Bottom=79 +Text=Admin password... + +[Field 5] +Type=Text +Left=142 +Top=82 +Right=264 +Bottom=93 +State=sysadmin +Flags= + +[Field 6] +Type=Link +Left=8 +Top=116 +Right=135 +Bottom=126 +Text=Click to get online help for these options +State=http://wiki.lamsfoundation.org/display/lamsdocs/Windows+Installer+Help#WindowsInstallerHelp-lams2 + +[Field 7] +Type=Label +Left=8 +Top=22 +Right=127 +Bottom=30 +Text=Domain name... + +[Field 8] +Type=Text +Left=7 +Top=33 +Right=131 +Bottom=46 +State=localhost +MinLen=1 +ValidateText=Please specify your server's domain name. + +[Field 9] +Type=Text +Left=137 +Top=33 +Right=172 +Bottom=46 +State=8080 +MaxLen=5 +MinLen=1 +ValidateText=Please specify a port number. + +[Field 10] +Type=Label +Left=138 +Top=22 +Right=174 +Bottom=30 +Text=Port... + +[Field 11] +Type=Label +Left=184 +Top=22 +Right=291 +Bottom=30 +Text=Default locale... + +[Field 12] +Type=DropList +Left=183 +Top=33 +Right=290 +Bottom=131 +State=en_AU - English (Australia) +ListItems=en_AU - English (Australia)|ar_JO - Arabic (Jordan)|cy_GB - Cymraeg (Cymru)|da_DK - Dansk|de_DE - Deutsch|el_GR - Greek|es_ES - Espa�ol|fr_FR - Fran�ais|it_IT - Italiano|ko_KR - Korean|mi_NZ - Maori|no_NO - Norsk|pl_PL - Polski|pt_BR - Portugu�s (Brasil)|sv_SE - Svenska|vi_VN - Vietnamese|zh_CN - Chinese(Simplified) Index: win_installer/installer/src/mysql.ini =================================================================== diff -u --- win_installer/installer/src/mysql.ini (revision 0) +++ win_installer/installer/src/mysql.ini (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,136 @@ + + + + + + +[Settings] +NumFields=15 + +[Field 1] +Type=GroupBox +Left=0 +Top=0 +Right=-1 +Bottom=44 +Text=About your MySQL database... + +[Field 2] +Type=GroupBox +Left=0 +Top=48 +Right=-1 +Bottom=-4 +Text=Specify a database name and user account... + +[Field 3] +Type=DirRequest +Left=7 +Top=23 +Right=152 +Bottom=36 +ValidateText=Please specify your MySQL directory. +Text= + +[Field 4] +Type=Label +Left=7 +Top=12 +Right=129 +Bottom=21 +Text=MySQL directory... + +[Field 5] +Type=Password +Left=169 +Top=23 +Right=291 +Bottom=36 +ValidateText= + +[Field 6] +Type=Label +Left=169 +Top=12 +Right=291 +Bottom=21 +Text=Root password... + +[Field 7] +Type=Text +Left=8 +Top=70 +Right=130 +Bottom=83 +State=lams2 +ValidateText=Please choose a database name. +MinLen=1 + +[Field 8] +Type=Label +Left=8 +Top=60 +Right=130 +Bottom=69 +Text=Database name... + +[Field 9] +Type=Text +Left=8 +Top=100 +Right=130 +Bottom=113 +State=lams2 +ValidateText=Please choose a username. +MinLen=1 + +[Field 10] +Type=Text +Left=169 +Top=100 +Right=291 +Bottom=113 +State=lamsdemo +ValidateText=Please specify a password. +MinLen=1 + +[Field 11] +Type=Label +Left=8 +Top=90 +Right=130 +Bottom=99 +Text=MySQL Username... + +[Field 12] +Type=Label +Left=169 +Top=90 +Right=291 +Bottom=99 +Text=MySQL Password... + +[Field 13] +Type=Link +Left=8 +Top=121 +Right=153 +Bottom=131 +Text=Click to get online help for these options +State=http://wiki.lamsfoundation.org/display/lamsdocs/Windows+Installer+Help#WindowsInstallerHelp-mysql + +[Field 14] +Type=Text +Left=169 +Top=70 +Right=291 +Bottom=83 +State=localhost + +[Field 15] +Type=Label +Left=169 +Top=60 +Right=271 +Bottom=69 +Text="MySql host\r\n" Index: win_installer/installer/src/uninstall.ini =================================================================== diff -u --- win_installer/installer/src/uninstall.ini (revision 0) +++ win_installer/installer/src/uninstall.ini (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,19 @@ +[Settings] +NumFields=2 + +[Field 1] +Type=CheckBox +Left=17 +Top=50 +Right=239 +Bottom=60 +Text=Keep LAMS database, repository and uploaded files +State=1 + +[Field 2] +Type=GroupBox +Left=9 +Top=25 +Right=267 +Bottom=86 +Text=Do you wish to remove all LAMS files? Index: win_installer/installer/src/wildfire.ini =================================================================== diff -u --- win_installer/installer/src/wildfire.ini (revision 0) +++ win_installer/installer/src/wildfire.ini (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,66 @@ +[Settings] +NumFields=8 + +[Field 1] +Type=GroupBox +Left=0 +Top=0 +Right=-1 +Bottom=-4 +Text=About your Wildfire server... + +[Field 2] +Type=Text +Left=7 +Top=36 +Right=129 +Bottom=49 +State=localhost + +[Field 3] +Type=Label +Left=7 +Top=26 +Right=129 +Bottom=35 +Text=Domain name... + +[Field 4] +Type=Label +Left=7 +Top=65 +Right=129 +Bottom=74 +Text=Admin username... + +[Field 5] +Type=Text +Left=7 +Top=75 +Right=129 +Bottom=88 +State=admin + +[Field 6] +Type=Label +Left=157 +Top=65 +Right=279 +Bottom=74 +Text=Admin password... + +[Field 7] +Type=Password +Left=157 +Top=75 +Right=279 +Bottom=88 + +[Field 8] +Type=Link +Left=7 +Top=116 +Right=134 +Bottom=126 +Text=Click to get online help for these options +State=http://wiki.lamsfoundation.org/display/lamsdocs/Windows+Installer+Help#WindowsInstallerHelp-wildfire Index: win_installer/installer/templates/index.html =================================================================== diff -u --- win_installer/installer/templates/index.html (revision 0) +++ win_installer/installer/templates/index.html (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,64 @@ + + + + + LAMS :: Learning Activity Management System + + + + + + + + + + + +
+ +

 

+ +
+ +
+ + +
+ +
+

LAMS - Learning Activity Management System

+ +
+

Waiting for LAMS to finish starting...

+
+

You will be redirected in 60 seconds.  Click here to go to the login page.

+ +

+ + + + +
+
+ + +
+ + + + + + + + +
+ + + + + + Index: win_installer/installer/templates/mysql-ds.xml =================================================================== diff -u --- win_installer/installer/templates/mysql-ds.xml (revision 0) +++ win_installer/installer/templates/mysql-ds.xml (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,64 @@ + + + + + + + + + jdbc/lams-ds + jdbc:mysql://@MYSQL_HOST@:3306/@DB_NAME@ + com.mysql.jdbc.Driver + + + utf8 + convertToNull + + TRANSACTION_READ_COMMITTED + @DB_USER@ + @DB_PASS@ + + 32 + 0 + + 5 + + + + + jdbc/tool-ds + jdbc:mysql://@MYSQL_HOST@:3306/@DB_NAME@ + com.mysql.jdbc.Driver + + + utf8 + convertToNull + + TRANSACTION_READ_COMMITTED + @DB_USER@ + @DB_PASS@ + + 32 + 0 + + 5 + + + + + jdbc/quartz-ds + jdbc:mysql://@MYSQL_HOST@:3306/@DB_NAME@ + com.mysql.jdbc.Driver + + TRANSACTION_READ_COMMITTED + @DB_USER@ + @DB_PASS@ + + 32 + 0 + + 5 + + Index: win_installer/installer/templates/revert.xml =================================================================== diff -u --- win_installer/installer/templates/revert.xml (revision 0) +++ win_installer/installer/templates/revert.xml (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,17 @@ + + + + + + + + + + + + \ No newline at end of file Index: win_installer/installer/templates/run.bat =================================================================== diff -u --- win_installer/installer/templates/run.bat (revision 0) +++ win_installer/installer/templates/run.bat (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,109 @@ +@echo off +rem ------------------------------------------------------------------------- +rem JBoss Bootstrap Script for Win32 +rem ------------------------------------------------------------------------- + +rem $Id$ + +@if not "%ECHO%" == "" echo %ECHO% +@if "%OS%" == "Windows_NT" setlocal + +set JAVA_HOME=@JAVA_HOME@ + +set DIRNAME=.\ +if "%OS%" == "Windows_NT" set DIRNAME=%~dp0% +set PROGNAME=run.bat +if "%OS%" == "Windows_NT" set PROGNAME=%~nx0% + +rem Read all command line arguments + +REM +REM The %ARGS% env variable commented out in favor of using %* to include +REM all args in java command line. See bug #840239. [jpl] +REM +REM set ARGS= +REM :loop +REM if [%1] == [] goto endloop +REM set ARGS=%ARGS% %1 +REM shift +REM goto loop +REM :endloop + +rem Find run.jar, or we can't continue + +set RUNJAR=%DIRNAME%\run.jar +if exist "%RUNJAR%" goto FOUND_RUN_JAR +echo Could not locate %RUNJAR%. Please check that you are in the +echo bin directory when running this script. +goto END + +:FOUND_RUN_JAR + +if not "%JAVA_HOME%" == "" goto ADD_TOOLS + +set JAVA=java + +echo JAVA_HOME is not set. Unexpected results may occur. +echo Set JAVA_HOME to the directory of your local JDK to avoid this message. +goto SKIP_TOOLS + +:ADD_TOOLS + +set JAVA=%JAVA_HOME%\bin\java + +if exist "%JAVA_HOME%\lib\tools.jar" goto SKIP_TOOLS +echo Could not locate %JAVA_HOME%\lib\tools.jar. Unexpected results may occur. +echo Make sure that JAVA_HOME points to a JDK and not a JRE. + +:SKIP_TOOLS + +rem Include the JDK javac compiler for JSP pages. The default is for a Sun JDK +rem compatible distribution to which JAVA_HOME points + +set JAVAC_JAR=%JAVA_HOME%\lib\tools.jar + +rem If JBOSS_CLASSPATH is empty, don't include it, as this will +rem result in including the local directory, which makes error tracking +rem harder. +if "%JBOSS_CLASSPATH%" == "" ( + set JBOSS_CLASSPATH=%JAVAC_JAR%;%RUNJAR% +) ELSE ( + set JBOSS_CLASSPATH=%JBOSS_CLASSPATH%;%JAVAC_JAR%;%RUNJAR% +) + +rem Setup JBoss specific properties +set JAVA_OPTS=%JAVA_OPTS% -Dprogram.name=%PROGNAME% +set JBOSS_HOME=%DIRNAME%\.. + +rem Sun JVM memory allocation pool parameters. Modify as appropriate. +set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m + +rem JPDA options. Uncomment and modify as appropriate to enable remote debugging. +rem set JAVA_OPTS=-classic -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y %JAVA_OPTS% + +rem Setup the java endorsed dirs +set JBOSS_ENDORSED_DIRS=%JBOSS_HOME%\lib\endorsed + +echo =============================================================================== +echo . +echo JBoss Bootstrap Environment +echo . +echo JBOSS_HOME: %JBOSS_HOME% +echo . +echo JAVA: %JAVA% +echo . +echo JAVA_OPTS: %JAVA_OPTS% +echo . +echo CLASSPATH: %JBOSS_CLASSPATH% +echo . +echo =============================================================================== +echo . + +:RESTART +ECHO "%JAVA%" %JAVA_OPTS% "-Djava.endorsed.dirs=%JBOSS_ENDORSED_DIRS%" -classpath "%JBOSS_CLASSPATH%" org.jboss.Main %* +IF ERRORLEVEL 10 GOTO RESTART + +:END +if "%NOPAUSE%" == "" pause + +:END_NO_PAUSE Index: win_installer/installer/templates/server.xml =================================================================== diff -u --- win_installer/installer/templates/server.xml (revision 0) +++ win_installer/installer/templates/server.xml (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: win_installer/installer/templates/update_lams_configuration.sql =================================================================== diff -u --- win_installer/installer/templates/update_lams_configuration.sql (revision 0) +++ win_installer/installer/templates/update_lams_configuration.sql (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,22 @@ +update lams_configuration set config_value='@URL@' where config_key='ServerURL'; +update lams_configuration set config_value='@INSTDIR@' where config_key='LamsHome'; +update lams_configuration set config_value='@TEMPDIR@' where config_key='TempDir'; +update lams_configuration set config_value='@DUMPDIR@' where config_key='DumpDir'; +update lams_configuration set config_value='@EARDIR@' where config_key='EARDir'; +update lams_configuration set config_value='@REPOSITORYDIR@' where config_key='ContentRepositoryPath'; +update lams_configuration set config_value='@LOCALE@' where config_key='ServerLanguage'; +update lams_configuration set config_value='@LOCALE_DIRECTION@' where config_key='ServerPageDirection'; +update lams_configuration set config_value='@WILDFIRE_DOMAIN@' where config_key='XmppDomain'; +update lams_configuration set config_value='@WILDFIRE_CONFERENCE@' where config_key='XmppConference'; +update lams_configuration set config_value='@WILDFIRE_USER@' where config_key='XmppAdmin'; +update lams_configuration set config_value='@WILDFIRE_PASS@' where config_key='XmppPassword'; +--update lams_user set login='@LAMS_USER@', password=sha1('@LAMS_PASS@') where user_id=1; +update lams_user set locale_id=(select locale_id from lams_supported_locale where language_iso_code=(SELECT SUBSTRING_INDEX('@LOCALE@', '_', 1)) and country_iso_code=(SELECT SUBSTRING_INDEX('@LOCALE@', '_', -1))) where user_id=1; +update lams_user set locale_id=(select locale_id from lams_supported_locale where language_iso_code=(SELECT SUBSTRING_INDEX('@LOCALE@', '_', 1)) and country_iso_code=(SELECT SUBSTRING_INDEX('@LOCALE@', '_', -1))) where login='test1'; +update lams_user set locale_id=(select locale_id from lams_supported_locale where language_iso_code=(SELECT SUBSTRING_INDEX('@LOCALE@', '_', 1)) and country_iso_code=(SELECT SUBSTRING_INDEX('@LOCALE@', '_', -1))) where login='test2'; +update lams_user set locale_id=(select locale_id from lams_supported_locale where language_iso_code=(SELECT SUBSTRING_INDEX('@LOCALE@', '_', 1)) and country_iso_code=(SELECT SUBSTRING_INDEX('@LOCALE@', '_', -1))) where login='test3'; +update lams_user set locale_id=(select locale_id from lams_supported_locale where language_iso_code=(SELECT SUBSTRING_INDEX('@LOCALE@', '_', 1)) and country_iso_code=(SELECT SUBSTRING_INDEX('@LOCALE@', '_', -1))) where login='test4'; +update lams_user set password=sha1('@LAMS_PASS@') where login='test1'; +update lams_user set password=sha1('@LAMS_PASS@') where login='test2'; +update lams_user set password=sha1('@LAMS_PASS@') where login='test3'; +update lams_user set password=sha1('@LAMS_PASS@') where login='test4'; \ No newline at end of file Index: win_installer/installer/templates/wrapper.conf =================================================================== diff -u --- win_installer/installer/templates/wrapper.conf (revision 0) +++ win_installer/installer/templates/wrapper.conf (revision 388ec3500ab44f8bbd700dee150266ddf40ca53e) @@ -0,0 +1,95 @@ +#******************************************************************** +# Wrapper Properties +#******************************************************************** +# Java Application +wrapper.java.command=@JAVA_HOME@/bin/java + +# Java Main class. This class must implement the WrapperListener interface +# or guarantee that the WrapperManager class is initialized. Helper +# classes are provided to do this for you. See the Integration section +# of the documentation for details. +wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp + +# Java Classpath (include wrapper.jar) Add class path elements as +# needed starting from 1 +wrapper.java.classpath.1=../lib/wrapper.jar +wrapper.java.classpath.2=./run.jar + +# Java Library Path (location of Wrapper.DLL or libwrapper.so) +wrapper.java.library.path.1=../lib + +# Java Additional Parameters +wrapper.java.additional.1=-Dprogram.name=run.bat + +# Initial Java Heap Size (in MB) +wrapper.java.initmemory=256 + +# Maximum Java Heap Size (in MB) +wrapper.java.maxmemory=512 + +# Application parameters. Add parameters as needed starting from 1 +wrapper.app.parameter.1=org.jboss.Main + +#******************************************************************** +# Wrapper Logging Properties +#******************************************************************** +# Format of output for the console. (See docs for formats) +wrapper.console.format=PM + +# Log Level for console output. (See docs for log levels) +wrapper.console.loglevel=ERROR + +# Log file to use for wrapper output logging. +wrapper.logfile=../logs/wrapper.log + +# Format of output for the log file. (See docs for formats) +wrapper.logfile.format=LPTM + +# Log Level for log file output. (See docs for log levels) +wrapper.logfile.loglevel=ERROR + +# Maximum size that the log file will be allowed to grow to before +# the log is rolled. Size is specified in bytes. The default value +# of 0, disables log rolling. May abbreviate with the 'k' (kb) or +# 'm' (mb) suffix. For example: 10m = 10 megabytes. +wrapper.logfile.maxsize=5m + +# Maximum number of rolled log files which will be allowed before old +# files are deleted. The default value of 0 implies no limit. +wrapper.logfile.maxfiles=2 + +# Log Level for sys/event log output. (See docs for log levels) +wrapper.syslog.loglevel=NONE + +#******************************************************************** +# Wrapper Windows Properties +#******************************************************************** +# Title to use when running as a console +wrapper.console.title=LAMSv2 + +#******************************************************************** +# Wrapper Windows NT/2000/XP Service Properties +#******************************************************************** +# WARNING - Do not modify any of these properties when an application +# using this configuration file has been installed as a service. +# Please uninstall the service before modifying this section. The +# service can then be reinstalled. + +# Name of the service +wrapper.ntservice.name=LAMSv2 + +# Display name of the service +wrapper.ntservice.displayname=LAMSv2 + +# Description of the service +wrapper.ntservice.description=LAMSv2 + +# Service dependencies. Add dependencies as needed starting from 1 +wrapper.ntservice.dependency.1= + +# Mode in which the service is installed. AUTO_START or DEMAND_START +wrapper.ntservice.starttype=DEMAND_START + +# Allow the service to interact with the desktop. +wrapper.ntservice.interactive=false +