yoavs 2005/08/02 11:35:15
Modified: . tomcat.nsi
Log:
Corrected EOL characters.
Revision Changes Path
1.79 +683 -683 jakarta-tomcat-5/tomcat.nsi
Index: tomcat.nsi
===================================================================
RCS file: /home/cvs/jakarta-tomcat-5/tomcat.nsi,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -r1.78 -r1.79
--- tomcat.nsi 2 Aug 2005 18:12:05 -0000 1.78
+++ tomcat.nsi 2 Aug 2005 18:35:15 -0000 1.79
@@ -1,683 +1,683 @@
-
-; Tomcat script for Nullsoft Installer
-; $Id$
-
- ;Compression options
- CRCCheck on
- SetCompress force
- SetCompressor lzma
- SetDatablockOptimize on
-
- Name "Apache Tomcat"
-
- ;Product information
- VIAddVersionKey ProductName "Apache Tomcat"
- VIAddVersionKey CompanyName "Apache Software Foundation"
- VIAddVersionKey LegalCopyright "Copyright (c) 1999-2005 The Apache
Software Foundation"
- VIAddVersionKey FileDescription "Apache Tomcat Installer"
- VIAddVersionKey FileVersion "2.0"
- VIAddVersionKey ProductVersion "@VERSION@"
- VIAddVersionKey Comments "jakarta.apache.org/tomcat"
- VIAddVersionKey InternalName "[EMAIL PROTECTED]@.exe"
- VIProductVersion @VERSION_NUMBER@
-
-!include "MUI.nsh"
-!include "StrFunc.nsh"
-${StrRep}
- Var "JavaHome"
-
-
-
-;--------------------------------
-;Configuration
-
- !define MUI_HEADERIMAGE
- !define MUI_HEADERIMAGE_RIGHT
- !define MUI_HEADERIMAGE_BITMAP header.bmp
- !define MUI_WELCOMEFINISHPAGE_BITMAP side_left.bmp
- !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\webapps\ROOT\RELEASE-NOTES.txt"
- !define MUI_FINISHPAGE_RUN $INSTDIR\bin\tomcat5w.exe
- !define MUI_FINISHPAGE_RUN_PARAMETERS //MR//Tomcat5
- !define MUI_FINISHPAGE_NOREBOOTSUPPORT
-
- !define MUI_ABORTWARNING
-
- !define TEMP1 $R0
- !define TEMP2 $R1
-
- !define MUI_ICON tomcat.ico
- !define MUI_UNICON tomcat.ico
-
- ;General
- OutFile tomcat-installer.exe
-
- ;Install Options pages
- LangString TEXT_JVM_TITLE ${LANG_ENGLISH} "Java Virtual Machine"
- LangString TEXT_JVM_SUBTITLE ${LANG_ENGLISH} "Java Virtual Machine path
selection."
- LangString TEXT_JVM_PAGETITLE ${LANG_ENGLISH} ": Java Virtual Machine path
selection"
-
- LangString TEXT_CONF_TITLE ${LANG_ENGLISH} "Configuration"
- LangString TEXT_CONF_SUBTITLE ${LANG_ENGLISH} "Tomcat basic configuration."
- LangString TEXT_CONF_PAGETITLE ${LANG_ENGLISH} ": Configuration Options"
-
- ;Install Page order
- !insertmacro MUI_PAGE_WELCOME
- !insertmacro MUI_PAGE_LICENSE INSTALLLICENSE
- !insertmacro MUI_PAGE_COMPONENTS
- !insertmacro MUI_PAGE_DIRECTORY
- Page custom SetConfiguration Void "$(TEXT_CONF_PAGETITLE)"
- Page custom SetChooseJVM Void "$(TEXT_JVM_PAGETITLE)"
- !insertmacro MUI_PAGE_INSTFILES
- Page custom CheckUserType
- !insertmacro MUI_PAGE_FINISH
-
- ;Uninstall Page order
- !insertmacro MUI_UNPAGE_CONFIRM
- !insertmacro MUI_UNPAGE_INSTFILES
-
- ;License dialog
- LicenseData License.rtf
-
- ;Component-selection page
- ;Descriptions
- LangString DESC_SecTomcat ${LANG_ENGLISH} "Install the Tomcat Servlet
container."
- LangString DESC_SecTomcatCore ${LANG_ENGLISH} "Install the Tomcat
Servlet container core."
- LangString DESC_SecTomcatService ${LANG_ENGLISH} "Automatically start
Tomcat when the computer is started. This requires Windows NT 4.0, Windows 2000
or Windows XP."
-; LangString DESC_SecTomcatSource ${LANG_ENGLISH} "Install the Tomcat
source code."
- LangString DESC_SecMenu ${LANG_ENGLISH} "Create a Start Menu program
group for Tomcat."
- LangString DESC_SecDocs ${LANG_ENGLISH} "Install the Tomcat
documentation bundle. This include documentation on the servlet container and
its configuration options, on the Jasper JSP page compiler, as well as on the
native webserver connectors."
- LangString DESC_SecExamples ${LANG_ENGLISH} "Installs some examples web
applications."
- LangString DESC_SecAdmin ${LANG_ENGLISH} "Installs the administration
web application.";
-; LangString DESC_SecWebapps ${LANG_ENGLISH} "Installs other utility web
applications (WebDAV, balancer, etc)."
-; LangString DESC_SecCompat ${LANG_ENGLISH} "Installs Java2
compatibility package. This release of Apache Tomcat was packaged to run on
J2SE 5.0 or later. It can be run on earlier JVMs by installng this package."
-
- ;Language
- !insertmacro MUI_LANGUAGE English
-
- ;Folder-select dialog
- InstallDir "$PROGRAMFILES\Apache Software Foundation\Tomcat 5.5"
-
- ;Install types
- InstType Normal
- InstType Minimum
- InstType Full
-
- ; Main registry key
- InstallDirRegKey HKLM "SOFTWARE\Apache Software Foundation\Tomcat\5.5" ""
-
- !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
- ReserveFile "jvm.ini"
- ReserveFile "config.ini"
-
-;--------------------------------
-;Installer Sections
-
-SubSection "Tomcat" SecTomcat
-
-Section "Core" SecTomcatCore
-
- SectionIn 1 2 3 RO
-
- IfSilent +2 0
- Call checkJvm
-
- SetOutPath $INSTDIR
- File tomcat.ico
- File LICENSE
- File /r common
- File /nonfatal /r shared
- File /nonfatal /r logs
- File /nonfatal /r work
- File /nonfatal /r temp
- SetOutPath $INSTDIR\bin
- File bin\bootstrap.jar
- File bin\commons-logging-api.jar
- File bin\tomcat-juli.jar
- File bin\*.exe
- SetOutPath $INSTDIR\conf
- File conf\*.*
- SetOutPath $INSTDIR\server
- File /r server\lib
- File /nonfatal /r server\classes
- SetOutPath $INSTDIR\server\webapps
- File /r server\webapps\manager
- File /r server\webapps\host-manager
- SetOutPath $INSTDIR\webapps
- File /r webapps\ROOT
- SetOutPath $INSTDIR\conf\Catalina\localhost
- File conf\Catalina\localhost\manager.xml
- File conf\Catalina\localhost\host-manager.xml
-
- Call configure
- Call findJavaPath
- Pop $2
-
- IfSilent +2 0
- !insertmacro MUI_INSTALLOPTIONS_READ $2 "jvm.ini" "Field 2" "State"
-
- StrCpy "$JavaHome" $2
- Call findJVMPath
- Pop $2
-
- DetailPrint "Using Jvm: $2"
-
- InstallRetry:
- ClearErrors
- nsExec::ExecToLog '"$INSTDIR\bin\tomcat5.exe" //IS//Tomcat5 --DisplayName
"Apache Tomcat" --Description "Apache Tomcat @VERSION@ Server -
http://jakarta.apache.org/tomcat/" --LogPath "$INSTDIR\logs" --Install
"$INSTDIR\bin\tomcat5.exe" --Jvm "$2" --StartPath "$INSTDIR" --StopPath
"$INSTDIR"'
- Pop $0
- StrCmp $0 "0" InstallOk
- MessageBox MB_ABORTRETRYIGNORE|MB_ICONSTOP \
- "Failed to install Tomcat5 service.$\r$\nCheck your settings and
permissions$\r$\nIgnore and continue anyway (not recommended)?" \
- /SD IDIGNORE IDIGNORE InstallOk IDRETRY InstallRetry
- Quit
- InstallOk:
- ClearErrors
-
-SectionEnd
-
-Section "Service" SecTomcatService
-
- SectionIn 3
-
- IfSilent 0 +3
- Call findJavaPath
- Pop $2
-
- IfSilent +2 0
- !insertmacro MUI_INSTALLOPTIONS_READ $2 "jvm.ini" "Field 2" "State"
-
- StrCpy "$JavaHome" $2
- Call findJVMPath
- Pop $2
-
- nsExec::ExecToLog '"$INSTDIR\bin\tomcat5.exe" //US//Tomcat5 --Startup auto'
- ; Bahave like Apache Httpd (put the icon in try on login)
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run"
"ApacheTomcatMonitor" '"$INSTDIR\bin\tomcat5w.exe" //MS//Tomcat5'
-
- ClearErrors
-
-SectionEnd
-
-;Section "Source Code" SecTomcatSource
-;
-; SectionIn 3
-; SetOutPath $INSTDIR
-; File /r src
-;
-;SectionEnd
-
-SubSectionEnd
-
-Section "Start Menu Items" SecMenu
-
- SectionIn 1 2 3
-
- !insertmacro MUI_INSTALLOPTIONS_READ $2 "jvm.ini" "Field 2" "State"
-
- SetOutPath "$SMPROGRAMS\Apache Tomcat 5.5"
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Tomcat Home Page.lnk" \
- "http://jakarta.apache.org/tomcat"
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Welcome.lnk" \
- "http://127.0.0.1:$R0/"
-
-; IfFileExists "$INSTDIR\server\webapps\admin" 0 NoAdminApp
-;
-; CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Tomcat Administration.lnk" \
-; "http://127.0.0.1:$R0/admin/"
-;NoAdminApp:
-
- IfFileExists "$INSTDIR\server\webapps\manager" 0 NoManagerApp
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Tomcat Manager.lnk" \
- "http://127.0.0.1:$R0/manager/html"
-
-NoManagerApp:
-
- IfFileExists "$INSTDIR\webapps\webapps\tomcat-docs" 0 NoDocumentaion
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Tomcat Documentation.lnk" \
- "$INSTDIR\webapps\tomcat-docs\index.html"
-
-NoDocumentaion:
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Uninstall Tomcat 5.5.lnk" \
- "$INSTDIR\Uninstall.exe"
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Tomcat 5.5 Program
Directory.lnk" \
- "$INSTDIR"
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Monitor Tomcat.lnk" \
- "$INSTDIR\bin\tomcat5w.exe" \
- '//MS//Tomcat5' \
- "$INSTDIR\tomcat.ico" 0 SW_SHOWNORMAL
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Configure Tomcat.lnk" \
- "$INSTDIR\bin\tomcat5w.exe" \
- '//ES//Tomcat5' \
- "$INSTDIR\tomcat.ico" 0 SW_SHOWNORMAL
-
-SectionEnd
-
-Section "Documentation" SecDocs
-
- SectionIn 1 3
- SetOutPath $INSTDIR\webapps
- File /r webapps\tomcat-docs
-
-SectionEnd
-
-Section "Examples" SecExamples
-
- SectionIn 3
-
- SetOverwrite on
- SetOutPath $INSTDIR\webapps
- File /r webapps\jsp-examples
- File /r webapps\servlets-examples
-
-SectionEnd
-
-;Section "Administration" SecAdmin
-;
-; SectionIn 3
-;
-; SetOutPath $INSTDIR\server\webapps
-; File /r server\webapps\admin
-; SetOutPath $INSTDIR\conf\Catalina\localhost
-; File conf\Catalina\localhost\admin.xml
-;
-;SectionEnd
-
-Section "Webapps" SecWebapps
-
- SectionIn 3
-
- SetOutPath $INSTDIR\webapps
- File /r webapps\balancer
- File /r webapps\webdav
-
-SectionEnd
-
-;Section "Compatibility" SecCompat
-;
-; SetOutPath $INSTDIR
-; File /oname=bin\jmx.jar ..\compat\bin\jmx.jar
-; File /oname=common\endorsed\xercesImpl.jar
..\compat\common\endorsed\xercesImpl.jar
-; File /oname=common\endorsed\xml-apis.jar
..\compat\common\endorsed\xml-apis.jar
-;
-;SectionEnd
-
-Section -post
- nsExec::ExecToLog '"$INSTDIR\bin\tomcat5.exe" //US//Tomcat5 --Classpath
"$INSTDIR\bin\bootstrap.jar" --StartClass org.apache.catalina.startup.Bootstrap
--StopClass org.apache.catalina.startup.Bootstrap --StartParams start
--StopParams stop --StartMode jvm --StopMode jvm'
- nsExec::ExecToLog '"$INSTDIR\bin\tomcat5.exe" //US//Tomcat5 --JvmOptions
"-Dcatalina.home=$INSTDIR#-Dcatalina.base=$INSTDIR#-Djava.endorsed.dirs=$INSTDIR\common\endorsed#-Djava.io.tmpdir=$INSTDIR\temp#-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager#-Djava.util.logging.config.file=${catalina.base}\conf\logging.properties"
--StdOutput auto --StdError auto'
-
- WriteUninstaller "$INSTDIR\Uninstall.exe"
-
- WriteRegStr HKLM "SOFTWARE\Apache Software Foundation\Tomcat\5.5"
"InstallPath" $INSTDIR
- WriteRegStr HKLM "SOFTWARE\Apache Software Foundation\Tomcat\5.5"
"Version" @VERSION@
- WriteRegStr HKLM
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Apache Tomcat 5.5" \
- "DisplayName" "Apache Tomcat 5.5 (remove only)"
- WriteRegStr HKLM
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Apache Tomcat 5.5" \
- "UninstallString" '"$INSTDIR\Uninstall.exe"'
-
-SectionEnd
-
-Function .onInit
-
- ;Extract Install Options INI Files
- !insertmacro MUI_INSTALLOPTIONS_EXTRACT "config.ini"
- !insertmacro MUI_INSTALLOPTIONS_EXTRACT "jvm.ini"
-
-FunctionEnd
-
-Function SetChooseJVM
- !insertmacro MUI_HEADER_TEXT "$(TEXT_JVM_TITLE)" "$(TEXT_JVM_SUBTITLE)"
- Call findJavaPath
- Pop $3
- !insertmacro MUI_INSTALLOPTIONS_WRITE "jvm.ini" "Field 2" "State" $3
- !insertmacro MUI_INSTALLOPTIONS_DISPLAY "jvm.ini"
-FunctionEnd
-
-Function SetConfiguration
- !insertmacro MUI_HEADER_TEXT "$(TEXT_CONF_TITLE)" "$(TEXT_CONF_SUBTITLE)"
- !insertmacro MUI_INSTALLOPTIONS_DISPLAY "config.ini"
-FunctionEnd
-
-Function Void
-FunctionEnd
-
-;--------------------------------
-;Descriptions
-
-!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcat} $(DESC_SecTomcat)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcatCore} $(DESC_SecTomcatCore)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcatService}
$(DESC_SecTomcatService)
-; !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcatSource}
$(DESC_SecTomcatSource)
-; !insertmacro MUI_DESCRIPTION_TEXT ${SecCompat} $(DESC_SecCompat)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecMenu} $(DESC_SecMenu)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecDocs} $(DESC_SecDocs)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecExamples} $(DESC_SecExamples)
-; !insertmacro MUI_DESCRIPTION_TEXT ${SecAdmin} $(DESC_SecAdmin)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecWebapps} $(DESC_SecWebapps)
-!insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-
-; =====================
-; CheckUserType Function
-; =====================
-;
-; Check the user type, and warn if it's not an administrator.
-; Taken from Examples/UserInfo that ships with NSIS.
-Function CheckUserType
- ClearErrors
- UserInfo::GetName
- IfErrors Win9x
- Pop $0
- UserInfo::GetAccountType
- Pop $1
- StrCmp $1 "Admin" 0 +3
- ; This is OK, do nothing
- Goto done
-
- MessageBox MB_OK|MB_ICONEXCLAMATION 'Note: the current user is not an
administrator. \
- To run Tomcat as a Windows service, you must be an
administrator. \
- You can still run Tomcat from the command-line as this type
of user.'
- Goto done
-
- Win9x:
- # This one means you don't need to care about admin or
- # not admin because Windows 9x doesn't either
- MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
-
- done:
-FunctionEnd
-
-
-; =====================
-; FindJavaPath Function
-; =====================
-;
-; Find the JAVA_HOME used on the system, and put the result on the top of the
-; stack
-; Will return an empty string if the path cannot be determined
-;
-Function findJavaPath
-
- ;ClearErrors
-
- ;ReadEnvStr $1 JAVA_HOME
-
- ;IfErrors 0 FoundJDK
-
- ClearErrors
-
- ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment"
"CurrentVersion"
- ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$2"
"JavaHome"
- ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$2"
"RuntimeLib"
-
- ;FoundJDK:
-
- IfErrors 0 NoErrors
- StrCpy $1 ""
-
-NoErrors:
-
- ClearErrors
-
- ; Put the result in the stack
- Push $1
-
-FunctionEnd
-
-
-; ====================
-; FindJVMPath Function
-; ====================
-;
-; Find the full JVM path, and put the result on top of the stack
-; Argument: JVM base path (result of findJavaPath)
-; Will return an empty string if the path cannot be determined
-;
-Function findJVMPath
-
- ClearErrors
-
- ;Step one: Is this a JRE path (Program Files\Java\XXX)
- StrCpy $1 "$JavaHome"
-
- StrCpy $2 "$1\bin\hotspot\jvm.dll"
- IfFileExists "$2" FoundJvmDll
- StrCpy $2 "$1\bin\server\jvm.dll"
- IfFileExists "$2" FoundJvmDll
- StrCpy $2 "$1\bin\client\jvm.dll"
- IfFileExists "$2" FoundJvmDll
- StrCpy $2 "$1\bin\classic\jvm.dll"
- IfFileExists "$2" FoundJvmDll
-
- ;Step two: Is this a JDK path (Program Files\XXX\jre)
- StrCpy $1 "$JavaHome\jre"
-
- StrCpy $2 "$1\bin\hotspot\jvm.dll"
- IfFileExists "$2" FoundJvmDll
- StrCpy $2 "$1\bin\server\jvm.dll"
- IfFileExists "$2" FoundJvmDll
- StrCpy $2 "$1\bin\client\jvm.dll"
- IfFileExists "$2" FoundJvmDll
- StrCpy $2 "$1\bin\classic\jvm.dll"
- IfFileExists "$2" FoundJvmDll
-
- ClearErrors
- ;Step tree: Read defaults from registry
-
- ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment"
"CurrentVersion"
- ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$1"
"RuntimeLib"
-
- IfErrors 0 FoundJvmDll
- StrCpy $2 ""
-
- FoundJvmDll:
- ClearErrors
-
- ; Put the result in the stack
- Push $2
-
-FunctionEnd
-
-
-; ====================
-; CheckJvm Function
-; ====================
-;
-Function checkJvm
-
- !insertmacro MUI_INSTALLOPTIONS_READ $3 "jvm.ini" "Field 2" "State"
- IfFileExists "$3\bin\java.exe" NoErrors1
- MessageBox MB_OK|MB_ICONSTOP "No Java Virtual Machine found in
folder:$\r$\n$3"
- Quit
-NoErrors1:
- StrCpy "$JavaHome" $3
- Call findJVMPath
- Pop $4
- StrCmp $4 "" 0 NoErrors2
- MessageBox MB_OK|MB_ICONSTOP "No Java Virtual Machine found in
folder:$\r$\n$3"
- Quit
-NoErrors2:
-
-FunctionEnd
-
-; ==================
-; Configure Function
-; ==================
-;
-; Display the configuration dialog boxes, read the values entered by the
user,
-; and build the configuration files
-;
-Function configure
-
- !insertmacro MUI_INSTALLOPTIONS_READ $R0 "config.ini" "Field 2" "State"
- !insertmacro MUI_INSTALLOPTIONS_READ $R1 "config.ini" "Field 5" "State"
- !insertmacro MUI_INSTALLOPTIONS_READ $R2 "config.ini" "Field 7" "State"
-
- IfSilent 0 +2
- StrCpy $R4 'port="8080"'
-
- IfSilent +2 0
- StrCpy $R4 'port="$R0"'
-
- IfSilent 0 +2
- StrCpy $R5 ''
-
- IfSilent Silent 0
-
- ; Escape XML
- Push $R1
- Call xmlEscape
- Pop $R1
- Push $R2
- Call xmlEscape
- Pop $R2
-
- StrCpy $R5 '<user name="$R1" password="$R2" roles="admin,manager" />'
-
-Silent:
- DetailPrint 'HTTP/1.1 Connector configured on port "$R0"'
- DetailPrint 'Admin user added: "$R1"'
-
- SetOutPath $TEMP
- File /r confinstall
-
- ; Build final server.xml
- Delete "$INSTDIR\conf\server.xml"
- FileOpen $R9 "$INSTDIR\conf\server.xml" w
-
- Push "$TEMP\confinstall\server_1.xml"
- Call copyFile
- FileWrite $R9 $R4
- Push "$TEMP\confinstall\server_2.xml"
- Call copyFile
-
- FileClose $R9
-
- DetailPrint "server.xml written"
-
- ; Build final tomcat-users.xml
-
- Delete "$INSTDIR\conf\tomcat-users.xml"
- FileOpen $R9 "$INSTDIR\conf\tomcat-users.xml" w
-
- Push "$TEMP\confinstall\tomcat-users_1.xml"
- Call copyFile
- FileWrite $R9 $R5
- Push "$TEMP\confinstall\tomcat-users_2.xml"
- Call copyFile
-
- FileClose $R9
-
- DetailPrint "tomcat-users.xml written"
-
- RMDir /r "$TEMP\confinstall"
-
-FunctionEnd
-
-
-Function xmlEscape
- Pop $0
- ${StrRep} $0 $0 "&" "&"
- ${StrRep} $0 $0 "$\"" """
- ${StrRep} $0 $0 "<" "<"
- ${StrRep} $0 $0 ">" ">"
- Push $0
-FunctionEnd
-
-
-; =================
-; CopyFile Function
-; =================
-;
-; Copy specified file contents to $R9
-;
-Function copyFile
-
- ClearErrors
-
- Pop $0
-
- FileOpen $1 $0 r
-
- NoError:
-
- FileRead $1 $2
- IfErrors EOF 0
- FileWrite $R9 $2
-
- IfErrors 0 NoError
-
- EOF:
-
- FileClose $1
-
- ClearErrors
-
-FunctionEnd
-
-
-;--------------------------------
-;Uninstaller Section
-
-Section Uninstall
-
- Delete "$INSTDIR\modern.exe"
- Delete "$INSTDIR\Uninstall.exe"
-
- ; Stop Tomcat service monitor if running
- nsExec::ExecToLog '"$INSTDIR\bin\tomcat5w.exe" //MQ//Tomcat5'
- ; Delete Tomcat service
- nsExec::ExecToLog '"$INSTDIR\bin\tomcat5.exe" //DS//Tomcat5'
- ClearErrors
-
- DeleteRegKey HKCR "JSPFile"
- DeleteRegKey HKLM
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Apache Tomcat 5.5"
- DeleteRegKey HKLM "SOFTWARE\Apache Software Foundation\Tomcat\5.5"
- DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run"
"ApacheTomcatMonitor"
- RMDir /r "$SMPROGRAMS\Apache Tomcat 5.5"
- Delete "$INSTDIR\tomcat.ico"
- Delete "$INSTDIR\LICENSE"
- RMDir /r "$INSTDIR\bin"
- RMDir /r "$INSTDIR\common"
- Delete "$INSTDIR\conf\*.dtd"
- RMDir /r "$INSTDIR\shared"
- RMDir "$INSTDIR\logs"
- RMDir /r "$INSTDIR\server"
- RMDir /r "$INSTDIR\webapps\balancer"
- RMDir /r "$INSTDIR\webapps\tomcat-docs"
- RMDir /r "$INSTDIR\webapps\servlets-examples"
- RMDir /r "$INSTDIR\webapps\jsp-examples"
- RMDir /r "$INSTDIR\webapps\webdav"
- RMDir /r "$INSTDIR\work"
- RMDir /r "$INSTDIR\temp"
- RMDir /r "$INSTDIR\src"
- RMDir "$INSTDIR"
-
- IfSilent Removed 0
-
- ; if $INSTDIR was removed, skip these next ones
- IfFileExists "$INSTDIR" 0 Removed
- MessageBox MB_YESNO|MB_ICONQUESTION \
- "Remove all files in your Tomcat 5.5 directory? (If you have anything
\
- you created that you want to keep, click No)" IDNO Removed
- RMDir /r "$INSTDIR\webapps\ROOT" ; this would be skipped if the user
hits no
- RMDir "$INSTDIR\webapps"
- Delete "$INSTDIR\*.*"
- RMDir /r "$INSTDIR"
- Sleep 500
- IfFileExists "$INSTDIR" 0 Removed
- MessageBox MB_OK|MB_ICONEXCLAMATION \
- "Note: $INSTDIR could not be removed."
- Removed:
-
-SectionEnd
-
-;eof
+
+; Tomcat script for Nullsoft Installer
+; $Id$
+
+ ;Compression options
+ CRCCheck on
+ SetCompress force
+ SetCompressor lzma
+ SetDatablockOptimize on
+
+ Name "Apache Tomcat"
+
+ ;Product information
+ VIAddVersionKey ProductName "Apache Tomcat"
+ VIAddVersionKey CompanyName "Apache Software Foundation"
+ VIAddVersionKey LegalCopyright "Copyright (c) 1999-2005 The Apache
Software Foundation"
+ VIAddVersionKey FileDescription "Apache Tomcat Installer"
+ VIAddVersionKey FileVersion "2.0"
+ VIAddVersionKey ProductVersion "@VERSION@"
+ VIAddVersionKey Comments "jakarta.apache.org/tomcat"
+ VIAddVersionKey InternalName "[EMAIL PROTECTED]@.exe"
+ VIProductVersion @VERSION_NUMBER@
+
+!include "MUI.nsh"
+!include "StrFunc.nsh"
+${StrRep}
+ Var "JavaHome"
+
+
+
+;--------------------------------
+;Configuration
+
+ !define MUI_HEADERIMAGE
+ !define MUI_HEADERIMAGE_RIGHT
+ !define MUI_HEADERIMAGE_BITMAP header.bmp
+ !define MUI_WELCOMEFINISHPAGE_BITMAP side_left.bmp
+ !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\webapps\ROOT\RELEASE-NOTES.txt"
+ !define MUI_FINISHPAGE_RUN $INSTDIR\bin\tomcat5w.exe
+ !define MUI_FINISHPAGE_RUN_PARAMETERS //MR//Tomcat5
+ !define MUI_FINISHPAGE_NOREBOOTSUPPORT
+
+ !define MUI_ABORTWARNING
+
+ !define TEMP1 $R0
+ !define TEMP2 $R1
+
+ !define MUI_ICON tomcat.ico
+ !define MUI_UNICON tomcat.ico
+
+ ;General
+ OutFile tomcat-installer.exe
+
+ ;Install Options pages
+ LangString TEXT_JVM_TITLE ${LANG_ENGLISH} "Java Virtual Machine"
+ LangString TEXT_JVM_SUBTITLE ${LANG_ENGLISH} "Java Virtual Machine path
selection."
+ LangString TEXT_JVM_PAGETITLE ${LANG_ENGLISH} ": Java Virtual Machine path
selection"
+
+ LangString TEXT_CONF_TITLE ${LANG_ENGLISH} "Configuration"
+ LangString TEXT_CONF_SUBTITLE ${LANG_ENGLISH} "Tomcat basic configuration."
+ LangString TEXT_CONF_PAGETITLE ${LANG_ENGLISH} ": Configuration Options"
+
+ ;Install Page order
+ !insertmacro MUI_PAGE_WELCOME
+ !insertmacro MUI_PAGE_LICENSE INSTALLLICENSE
+ !insertmacro MUI_PAGE_COMPONENTS
+ !insertmacro MUI_PAGE_DIRECTORY
+ Page custom SetConfiguration Void "$(TEXT_CONF_PAGETITLE)"
+ Page custom SetChooseJVM Void "$(TEXT_JVM_PAGETITLE)"
+ !insertmacro MUI_PAGE_INSTFILES
+ Page custom CheckUserType
+ !insertmacro MUI_PAGE_FINISH
+
+ ;Uninstall Page order
+ !insertmacro MUI_UNPAGE_CONFIRM
+ !insertmacro MUI_UNPAGE_INSTFILES
+
+ ;License dialog
+ LicenseData License.rtf
+
+ ;Component-selection page
+ ;Descriptions
+ LangString DESC_SecTomcat ${LANG_ENGLISH} "Install the Tomcat Servlet
container."
+ LangString DESC_SecTomcatCore ${LANG_ENGLISH} "Install the Tomcat
Servlet container core."
+ LangString DESC_SecTomcatService ${LANG_ENGLISH} "Automatically start
Tomcat when the computer is started. This requires Windows NT 4.0, Windows 2000
or Windows XP."
+; LangString DESC_SecTomcatSource ${LANG_ENGLISH} "Install the Tomcat
source code."
+ LangString DESC_SecMenu ${LANG_ENGLISH} "Create a Start Menu program
group for Tomcat."
+ LangString DESC_SecDocs ${LANG_ENGLISH} "Install the Tomcat
documentation bundle. This include documentation on the servlet container and
its configuration options, on the Jasper JSP page compiler, as well as on the
native webserver connectors."
+ LangString DESC_SecExamples ${LANG_ENGLISH} "Installs some examples web
applications."
+ LangString DESC_SecAdmin ${LANG_ENGLISH} "Installs the administration
web application.";
+; LangString DESC_SecWebapps ${LANG_ENGLISH} "Installs other utility web
applications (WebDAV, balancer, etc)."
+; LangString DESC_SecCompat ${LANG_ENGLISH} "Installs Java2
compatibility package. This release of Apache Tomcat was packaged to run on
J2SE 5.0 or later. It can be run on earlier JVMs by installng this package."
+
+ ;Language
+ !insertmacro MUI_LANGUAGE English
+
+ ;Folder-select dialog
+ InstallDir "$PROGRAMFILES\Apache Software Foundation\Tomcat 5.5"
+
+ ;Install types
+ InstType Normal
+ InstType Minimum
+ InstType Full
+
+ ; Main registry key
+ InstallDirRegKey HKLM "SOFTWARE\Apache Software Foundation\Tomcat\5.5" ""
+
+ !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
+ ReserveFile "jvm.ini"
+ ReserveFile "config.ini"
+
+;--------------------------------
+;Installer Sections
+
+SubSection "Tomcat" SecTomcat
+
+Section "Core" SecTomcatCore
+
+ SectionIn 1 2 3 RO
+
+ IfSilent +2 0
+ Call checkJvm
+
+ SetOutPath $INSTDIR
+ File tomcat.ico
+ File LICENSE
+ File /r common
+ File /nonfatal /r shared
+ File /nonfatal /r logs
+ File /nonfatal /r work
+ File /nonfatal /r temp
+ SetOutPath $INSTDIR\bin
+ File bin\bootstrap.jar
+ File bin\commons-logging-api.jar
+ File bin\tomcat-juli.jar
+ File bin\*.exe
+ SetOutPath $INSTDIR\conf
+ File conf\*.*
+ SetOutPath $INSTDIR\server
+ File /r server\lib
+ File /nonfatal /r server\classes
+ SetOutPath $INSTDIR\server\webapps
+ File /r server\webapps\manager
+ File /r server\webapps\host-manager
+ SetOutPath $INSTDIR\webapps
+ File /r webapps\ROOT
+ SetOutPath $INSTDIR\conf\Catalina\localhost
+ File conf\Catalina\localhost\manager.xml
+ File conf\Catalina\localhost\host-manager.xml
+
+ Call configure
+ Call findJavaPath
+ Pop $2
+
+ IfSilent +2 0
+ !insertmacro MUI_INSTALLOPTIONS_READ $2 "jvm.ini" "Field 2" "State"
+
+ StrCpy "$JavaHome" $2
+ Call findJVMPath
+ Pop $2
+
+ DetailPrint "Using Jvm: $2"
+
+ InstallRetry:
+ ClearErrors
+ nsExec::ExecToLog '"$INSTDIR\bin\tomcat5.exe" //IS//Tomcat5 --DisplayName
"Apache Tomcat" --Description "Apache Tomcat @VERSION@ Server -
http://jakarta.apache.org/tomcat/" --LogPath "$INSTDIR\logs" --Install
"$INSTDIR\bin\tomcat5.exe" --Jvm "$2" --StartPath "$INSTDIR" --StopPath
"$INSTDIR"'
+ Pop $0
+ StrCmp $0 "0" InstallOk
+ MessageBox MB_ABORTRETRYIGNORE|MB_ICONSTOP \
+ "Failed to install Tomcat5 service.$\r$\nCheck your settings and
permissions$\r$\nIgnore and continue anyway (not recommended)?" \
+ /SD IDIGNORE IDIGNORE InstallOk IDRETRY InstallRetry
+ Quit
+ InstallOk:
+ ClearErrors
+
+SectionEnd
+
+Section "Service" SecTomcatService
+
+ SectionIn 3
+
+ IfSilent 0 +3
+ Call findJavaPath
+ Pop $2
+
+ IfSilent +2 0
+ !insertmacro MUI_INSTALLOPTIONS_READ $2 "jvm.ini" "Field 2" "State"
+
+ StrCpy "$JavaHome" $2
+ Call findJVMPath
+ Pop $2
+
+ nsExec::ExecToLog '"$INSTDIR\bin\tomcat5.exe" //US//Tomcat5 --Startup auto'
+ ; Bahave like Apache Httpd (put the icon in try on login)
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run"
"ApacheTomcatMonitor" '"$INSTDIR\bin\tomcat5w.exe" //MS//Tomcat5'
+
+ ClearErrors
+
+SectionEnd
+
+;Section "Source Code" SecTomcatSource
+;
+; SectionIn 3
+; SetOutPath $INSTDIR
+; File /r src
+;
+;SectionEnd
+
+SubSectionEnd
+
+Section "Start Menu Items" SecMenu
+
+ SectionIn 1 2 3
+
+ !insertmacro MUI_INSTALLOPTIONS_READ $2 "jvm.ini" "Field 2" "State"
+
+ SetOutPath "$SMPROGRAMS\Apache Tomcat 5.5"
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Tomcat Home Page.lnk" \
+ "http://jakarta.apache.org/tomcat"
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Welcome.lnk" \
+ "http://127.0.0.1:$R0/"
+
+; IfFileExists "$INSTDIR\server\webapps\admin" 0 NoAdminApp
+;
+; CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Tomcat Administration.lnk" \
+; "http://127.0.0.1:$R0/admin/"
+;NoAdminApp:
+
+ IfFileExists "$INSTDIR\server\webapps\manager" 0 NoManagerApp
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Tomcat Manager.lnk" \
+ "http://127.0.0.1:$R0/manager/html"
+
+NoManagerApp:
+
+ IfFileExists "$INSTDIR\webapps\webapps\tomcat-docs" 0 NoDocumentaion
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Tomcat Documentation.lnk" \
+ "$INSTDIR\webapps\tomcat-docs\index.html"
+
+NoDocumentaion:
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Uninstall Tomcat 5.5.lnk" \
+ "$INSTDIR\Uninstall.exe"
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Tomcat 5.5 Program
Directory.lnk" \
+ "$INSTDIR"
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Monitor Tomcat.lnk" \
+ "$INSTDIR\bin\tomcat5w.exe" \
+ '//MS//Tomcat5' \
+ "$INSTDIR\tomcat.ico" 0 SW_SHOWNORMAL
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 5.5\Configure Tomcat.lnk" \
+ "$INSTDIR\bin\tomcat5w.exe" \
+ '//ES//Tomcat5' \
+ "$INSTDIR\tomcat.ico" 0 SW_SHOWNORMAL
+
+SectionEnd
+
+Section "Documentation" SecDocs
+
+ SectionIn 1 3
+ SetOutPath $INSTDIR\webapps
+ File /r webapps\tomcat-docs
+
+SectionEnd
+
+Section "Examples" SecExamples
+
+ SectionIn 3
+
+ SetOverwrite on
+ SetOutPath $INSTDIR\webapps
+ File /r webapps\jsp-examples
+ File /r webapps\servlets-examples
+
+SectionEnd
+
+;Section "Administration" SecAdmin
+;
+; SectionIn 3
+;
+; SetOutPath $INSTDIR\server\webapps
+; File /r server\webapps\admin
+; SetOutPath $INSTDIR\conf\Catalina\localhost
+; File conf\Catalina\localhost\admin.xml
+;
+;SectionEnd
+
+Section "Webapps" SecWebapps
+
+ SectionIn 3
+
+ SetOutPath $INSTDIR\webapps
+ File /r webapps\balancer
+ File /r webapps\webdav
+
+SectionEnd
+
+;Section "Compatibility" SecCompat
+;
+; SetOutPath $INSTDIR
+; File /oname=bin\jmx.jar ..\compat\bin\jmx.jar
+; File /oname=common\endorsed\xercesImpl.jar
..\compat\common\endorsed\xercesImpl.jar
+; File /oname=common\endorsed\xml-apis.jar
..\compat\common\endorsed\xml-apis.jar
+;
+;SectionEnd
+
+Section -post
+ nsExec::ExecToLog '"$INSTDIR\bin\tomcat5.exe" //US//Tomcat5 --Classpath
"$INSTDIR\bin\bootstrap.jar" --StartClass org.apache.catalina.startup.Bootstrap
--StopClass org.apache.catalina.startup.Bootstrap --StartParams start
--StopParams stop --StartMode jvm --StopMode jvm'
+ nsExec::ExecToLog '"$INSTDIR\bin\tomcat5.exe" //US//Tomcat5 --JvmOptions
"-Dcatalina.home=$INSTDIR#-Dcatalina.base=$INSTDIR#-Djava.endorsed.dirs=$INSTDIR\common\endorsed#-Djava.io.tmpdir=$INSTDIR\temp#-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager#-Djava.util.logging.config.file=${catalina.base}\conf\logging.properties"
--StdOutput auto --StdError auto'
+
+ WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+ WriteRegStr HKLM "SOFTWARE\Apache Software Foundation\Tomcat\5.5"
"InstallPath" $INSTDIR
+ WriteRegStr HKLM "SOFTWARE\Apache Software Foundation\Tomcat\5.5"
"Version" @VERSION@
+ WriteRegStr HKLM
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Apache Tomcat 5.5" \
+ "DisplayName" "Apache Tomcat 5.5 (remove only)"
+ WriteRegStr HKLM
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Apache Tomcat 5.5" \
+ "UninstallString" '"$INSTDIR\Uninstall.exe"'
+
+SectionEnd
+
+Function .onInit
+
+ ;Extract Install Options INI Files
+ !insertmacro MUI_INSTALLOPTIONS_EXTRACT "config.ini"
+ !insertmacro MUI_INSTALLOPTIONS_EXTRACT "jvm.ini"
+
+FunctionEnd
+
+Function SetChooseJVM
+ !insertmacro MUI_HEADER_TEXT "$(TEXT_JVM_TITLE)" "$(TEXT_JVM_SUBTITLE)"
+ Call findJavaPath
+ Pop $3
+ !insertmacro MUI_INSTALLOPTIONS_WRITE "jvm.ini" "Field 2" "State" $3
+ !insertmacro MUI_INSTALLOPTIONS_DISPLAY "jvm.ini"
+FunctionEnd
+
+Function SetConfiguration
+ !insertmacro MUI_HEADER_TEXT "$(TEXT_CONF_TITLE)" "$(TEXT_CONF_SUBTITLE)"
+ !insertmacro MUI_INSTALLOPTIONS_DISPLAY "config.ini"
+FunctionEnd
+
+Function Void
+FunctionEnd
+
+;--------------------------------
+;Descriptions
+
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcat} $(DESC_SecTomcat)
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcatCore} $(DESC_SecTomcatCore)
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcatService}
$(DESC_SecTomcatService)
+; !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcatSource}
$(DESC_SecTomcatSource)
+; !insertmacro MUI_DESCRIPTION_TEXT ${SecCompat} $(DESC_SecCompat)
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecMenu} $(DESC_SecMenu)
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecDocs} $(DESC_SecDocs)
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecExamples} $(DESC_SecExamples)
+; !insertmacro MUI_DESCRIPTION_TEXT ${SecAdmin} $(DESC_SecAdmin)
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecWebapps} $(DESC_SecWebapps)
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+
+; =====================
+; CheckUserType Function
+; =====================
+;
+; Check the user type, and warn if it's not an administrator.
+; Taken from Examples/UserInfo that ships with NSIS.
+Function CheckUserType
+ ClearErrors
+ UserInfo::GetName
+ IfErrors Win9x
+ Pop $0
+ UserInfo::GetAccountType
+ Pop $1
+ StrCmp $1 "Admin" 0 +3
+ ; This is OK, do nothing
+ Goto done
+
+ MessageBox MB_OK|MB_ICONEXCLAMATION 'Note: the current user is not an
administrator. \
+ To run Tomcat as a Windows service, you must be an
administrator. \
+ You can still run Tomcat from the command-line as this type
of user.'
+ Goto done
+
+ Win9x:
+ # This one means you don't need to care about admin or
+ # not admin because Windows 9x doesn't either
+ MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
+
+ done:
+FunctionEnd
+
+
+; =====================
+; FindJavaPath Function
+; =====================
+;
+; Find the JAVA_HOME used on the system, and put the result on the top of the
+; stack
+; Will return an empty string if the path cannot be determined
+;
+Function findJavaPath
+
+ ;ClearErrors
+
+ ;ReadEnvStr $1 JAVA_HOME
+
+ ;IfErrors 0 FoundJDK
+
+ ClearErrors
+
+ ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment"
"CurrentVersion"
+ ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$2"
"JavaHome"
+ ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$2"
"RuntimeLib"
+
+ ;FoundJDK:
+
+ IfErrors 0 NoErrors
+ StrCpy $1 ""
+
+NoErrors:
+
+ ClearErrors
+
+ ; Put the result in the stack
+ Push $1
+
+FunctionEnd
+
+
+; ====================
+; FindJVMPath Function
+; ====================
+;
+; Find the full JVM path, and put the result on top of the stack
+; Argument: JVM base path (result of findJavaPath)
+; Will return an empty string if the path cannot be determined
+;
+Function findJVMPath
+
+ ClearErrors
+
+ ;Step one: Is this a JRE path (Program Files\Java\XXX)
+ StrCpy $1 "$JavaHome"
+
+ StrCpy $2 "$1\bin\hotspot\jvm.dll"
+ IfFileExists "$2" FoundJvmDll
+ StrCpy $2 "$1\bin\server\jvm.dll"
+ IfFileExists "$2" FoundJvmDll
+ StrCpy $2 "$1\bin\client\jvm.dll"
+ IfFileExists "$2" FoundJvmDll
+ StrCpy $2 "$1\bin\classic\jvm.dll"
+ IfFileExists "$2" FoundJvmDll
+
+ ;Step two: Is this a JDK path (Program Files\XXX\jre)
+ StrCpy $1 "$JavaHome\jre"
+
+ StrCpy $2 "$1\bin\hotspot\jvm.dll"
+ IfFileExists "$2" FoundJvmDll
+ StrCpy $2 "$1\bin\server\jvm.dll"
+ IfFileExists "$2" FoundJvmDll
+ StrCpy $2 "$1\bin\client\jvm.dll"
+ IfFileExists "$2" FoundJvmDll
+ StrCpy $2 "$1\bin\classic\jvm.dll"
+ IfFileExists "$2" FoundJvmDll
+
+ ClearErrors
+ ;Step tree: Read defaults from registry
+
+ ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment"
"CurrentVersion"
+ ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$1"
"RuntimeLib"
+
+ IfErrors 0 FoundJvmDll
+ StrCpy $2 ""
+
+ FoundJvmDll:
+ ClearErrors
+
+ ; Put the result in the stack
+ Push $2
+
+FunctionEnd
+
+
+; ====================
+; CheckJvm Function
+; ====================
+;
+Function checkJvm
+
+ !insertmacro MUI_INSTALLOPTIONS_READ $3 "jvm.ini" "Field 2" "State"
+ IfFileExists "$3\bin\java.exe" NoErrors1
+ MessageBox MB_OK|MB_ICONSTOP "No Java Virtual Machine found in
folder:$\r$\n$3"
+ Quit
+NoErrors1:
+ StrCpy "$JavaHome" $3
+ Call findJVMPath
+ Pop $4
+ StrCmp $4 "" 0 NoErrors2
+ MessageBox MB_OK|MB_ICONSTOP "No Java Virtual Machine found in
folder:$\r$\n$3"
+ Quit
+NoErrors2:
+
+FunctionEnd
+
+; ==================
+; Configure Function
+; ==================
+;
+; Display the configuration dialog boxes, read the values entered by the
user,
+; and build the configuration files
+;
+Function configure
+
+ !insertmacro MUI_INSTALLOPTIONS_READ $R0 "config.ini" "Field 2" "State"
+ !insertmacro MUI_INSTALLOPTIONS_READ $R1 "config.ini" "Field 5" "State"
+ !insertmacro MUI_INSTALLOPTIONS_READ $R2 "config.ini" "Field 7" "State"
+
+ IfSilent 0 +2
+ StrCpy $R4 'port="8080"'
+
+ IfSilent +2 0
+ StrCpy $R4 'port="$R0"'
+
+ IfSilent 0 +2
+ StrCpy $R5 ''
+
+ IfSilent Silent 0
+
+ ; Escape XML
+ Push $R1
+ Call xmlEscape
+ Pop $R1
+ Push $R2
+ Call xmlEscape
+ Pop $R2
+
+ StrCpy $R5 '<user name="$R1" password="$R2" roles="admin,manager" />'
+
+Silent:
+ DetailPrint 'HTTP/1.1 Connector configured on port "$R0"'
+ DetailPrint 'Admin user added: "$R1"'
+
+ SetOutPath $TEMP
+ File /r confinstall
+
+ ; Build final server.xml
+ Delete "$INSTDIR\conf\server.xml"
+ FileOpen $R9 "$INSTDIR\conf\server.xml" w
+
+ Push "$TEMP\confinstall\server_1.xml"
+ Call copyFile
+ FileWrite $R9 $R4
+ Push "$TEMP\confinstall\server_2.xml"
+ Call copyFile
+
+ FileClose $R9
+
+ DetailPrint "server.xml written"
+
+ ; Build final tomcat-users.xml
+
+ Delete "$INSTDIR\conf\tomcat-users.xml"
+ FileOpen $R9 "$INSTDIR\conf\tomcat-users.xml" w
+
+ Push "$TEMP\confinstall\tomcat-users_1.xml"
+ Call copyFile
+ FileWrite $R9 $R5
+ Push "$TEMP\confinstall\tomcat-users_2.xml"
+ Call copyFile
+
+ FileClose $R9
+
+ DetailPrint "tomcat-users.xml written"
+
+ RMDir /r "$TEMP\confinstall"
+
+FunctionEnd
+
+
+Function xmlEscape
+ Pop $0
+ ${StrRep} $0 $0 "&" "&"
+ ${StrRep} $0 $0 "$\"" """
+ ${StrRep} $0 $0 "<" "<"
+ ${StrRep} $0 $0 ">" ">"
+ Push $0
+FunctionEnd
+
+
+; =================
+; CopyFile Function
+; =================
+;
+; Copy specified file contents to $R9
+;
+Function copyFile
+
+ ClearErrors
+
+ Pop $0
+
+ FileOpen $1 $0 r
+
+ NoError:
+
+ FileRead $1 $2
+ IfErrors EOF 0
+ FileWrite $R9 $2
+
+ IfErrors 0 NoError
+
+ EOF:
+
+ FileClose $1
+
+ ClearErrors
+
+FunctionEnd
+
+
+;--------------------------------
+;Uninstaller Section
+
+Section Uninstall
+
+ Delete "$INSTDIR\modern.exe"
+ Delete "$INSTDIR\Uninstall.exe"
+
+ ; Stop Tomcat service monitor if running
+ nsExec::ExecToLog '"$INSTDIR\bin\tomcat5w.exe" //MQ//Tomcat5'
+ ; Delete Tomcat service
+ nsExec::ExecToLog '"$INSTDIR\bin\tomcat5.exe" //DS//Tomcat5'
+ ClearErrors
+
+ DeleteRegKey HKCR "JSPFile"
+ DeleteRegKey HKLM
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Apache Tomcat 5.5"
+ DeleteRegKey HKLM "SOFTWARE\Apache Software Foundation\Tomcat\5.5"
+ DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run"
"ApacheTomcatMonitor"
+ RMDir /r "$SMPROGRAMS\Apache Tomcat 5.5"
+ Delete "$INSTDIR\tomcat.ico"
+ Delete "$INSTDIR\LICENSE"
+ RMDir /r "$INSTDIR\bin"
+ RMDir /r "$INSTDIR\common"
+ Delete "$INSTDIR\conf\*.dtd"
+ RMDir /r "$INSTDIR\shared"
+ RMDir "$INSTDIR\logs"
+ RMDir /r "$INSTDIR\server"
+ RMDir /r "$INSTDIR\webapps\balancer"
+ RMDir /r "$INSTDIR\webapps\tomcat-docs"
+ RMDir /r "$INSTDIR\webapps\servlets-examples"
+ RMDir /r "$INSTDIR\webapps\jsp-examples"
+ RMDir /r "$INSTDIR\webapps\webdav"
+ RMDir /r "$INSTDIR\work"
+ RMDir /r "$INSTDIR\temp"
+ RMDir /r "$INSTDIR\src"
+ RMDir "$INSTDIR"
+
+ IfSilent Removed 0
+
+ ; if $INSTDIR was removed, skip these next ones
+ IfFileExists "$INSTDIR" 0 Removed
+ MessageBox MB_YESNO|MB_ICONQUESTION \
+ "Remove all files in your Tomcat 5.5 directory? (If you have anything
\
+ you created that you want to keep, click No)" IDNO Removed
+ RMDir /r "$INSTDIR\webapps\ROOT" ; this would be skipped if the user
hits no
+ RMDir "$INSTDIR\webapps"
+ Delete "$INSTDIR\*.*"
+ RMDir /r "$INSTDIR"
+ Sleep 500
+ IfFileExists "$INSTDIR" 0 Removed
+ MessageBox MB_OK|MB_ICONEXCLAMATION \
+ "Note: $INSTDIR could not be removed."
+ Removed:
+
+SectionEnd
+
+;eof
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]