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]