You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2001/07/14 01:15:28 UTC

cvs commit: jakarta-tomcat-4.0 tomcat.nsi tomcat.ico build.xml

remm        01/07/13 16:15:28

  Modified:    .        build.xml
  Added:       .        tomcat.nsi tomcat.ico
  Log:
  - Add an experimental installer based on Nullsoft Installer. I just
    started toying with it a couple hours ago, but it's so easy to use I was able
    to generate an install script for Tomcat in no time.
  - It's Windows-only, sorry. I like native installers a lot better. The main advantage
    of using Nullsoft's is that :
    - It's free (open source)
    - It's easy to use
    - It's small and fast
  - The installer will only be able to set CATALINA_HOME under Win2k or WinXP.
    Under older versions of Windows, you may have to set it manually. You need
    to log off and back on before you can use Tomcat 4.0.
  - The uninstaller won't remove the CATALINA_HOME env variable it creates
    (attempting to do it wiped out all my user env variables on my setup, so
    I removed it until I figure out how to do it right).
  - I'll upload (if I have enough karma) a generated installer to the
    Tomcat 4 nightly directory, so that people can easily try it (and complain :))
  - Comments are welcome :)
  - Download Nullsoft Installer (only needed to generate the installer) at
    http://www.winamp.com/nsdn/superpimp
  - Thanks to Henri for suggesting we should have a look at it.
  
  Revision  Changes    Path
  1.24      +13 -0     jakarta-tomcat-4.0/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/build.xml,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- build.xml	2001/05/22 01:59:04	1.23
  +++ build.xml	2001/07/13 23:15:28	1.24
  @@ -162,6 +162,19 @@
     </target>
   
   
  +  <!-- ================= DIST: Create Windows Installer =================== -->
  +  <target name="installer" depends="dist">
  +    <echo message="Builds a Windows installer based on Nullsoft Installer"/>
  +    <echo message="The target requires Nullsoft Installer to be in your PATH"/>
  +    <copy file="tomcat.ico" tofile="${tomcat.dist}/tomcat.ico"/>
  +    <copy file="tomcat.nsi" tofile="${tomcat.dist}/tomcat.nsi"/>
  +    <copy file="README.txt" tofile="${tomcat.dist}/README.txt"/>
  +    <exec dir="${tomcat.dist}" executable="makensis.exe">
  +      <arg value="tomcat.nsi"/>
  +    </exec>
  +  </target>
  +
  +
     <!-- ====================== DIST: Clean Directory ======================= -->
     <target name="dist-clean">
       <delete dir="${tomcat.dist}"/>
  
  
  
  1.1                  jakarta-tomcat-4.0/tomcat.nsi
  
  Index: tomcat.nsi
  ===================================================================
  
  ; Tomcat 4 script for Nullsoft Installer
  
  !ifdef NO_COMPRESSION
  SetCompress off
  SetDatablockOptimize off
  !endif
  
  !ifdef NO_CRC
  CRCCheck off
  !endif
  
  Name "NSIS"
  Caption "Jakarta Tomcat 4.0"
  OutFile tomcat4.exe
  
  #BGGradient 000000 800000 FFFFFF
  #InstallColors FF8080 000000
  
  LicenseText "You must read the following license before installing:"
  LicenseData LICENSE
  ComponentText "This will install the Jakarta Tomcat 4.0 servlet container on your computer:"
  InstType Normal
  InstType "Full (w/ Source Code)"
  AutoCloseWindow false
  ShowInstDetails show
  DirText "Please select a location to install Tomcat 4.0 (or use the default):"
  SetOverwrite on
  SetDateSave on
  !ifdef HAVE_UPX
    !packhdr tmp.dat "upx\upx --best --compress-icons=1 tmp.dat"
  !endif
  
  InstallDir "$PROGRAMFILES\Jakarta Tomcat 4.0"
  InstallDirRegKey HKLM "SOFTWARE\Apache\Jakarta\Tomcat 4.0" ""
  
  Section "Tomcat 4.0 (required)"
    SectionIn 1 2
    SetOutPath $INSTDIR
    File tomcat.ico
    File LICENSE
    File README.txt
    File /r bin
    File /r common
    File /r conf
    File /r jasper
    File /r lib
    File /r logs
    File /r server
    File /r webapps
    File /r work
  SectionEnd
  
  Section "JSP Development Shell Extensions"
    SectionIn 1 2
  
    ; back up old value of .nsi
    ReadRegStr $1 HKCR ".jsp" ""
    StrCmp $1 "" Label1
      StrCmp $1 "JSPFile" Label1
      WriteRegStr HKCR ".jsp" "backup_val" $1
  Label1:
  
    WriteRegStr HKCR ".jsp" "" "JSPFile"
    WriteRegStr HKCR "JSPFile" "" "Java Server Pages source"
    WriteRegStr HKCR "JSPFile\shell" "" "open"
    WriteRegStr HKCR "JSPFile\DefaultIcon" "" $INSTDIR\tomcat.ico
    WriteRegStr HKCR "JSPFile\shell\open\command" "" 'notepad.exe "%1"'
    WriteRegStr HKCR "JSPFile\shell\compile" "" "Compile JSP"
    WriteRegStr HKCR "JSPFile\shell\compile\command" "" '"$INSTDIR\bin\jspc.bat" "%1"'
  SectionEnd
  
  Section "Tomcat 4.0 Start Menu Group"
    SectionIn 1 2
    SetOutPath "$SMPROGRAMS\Tomcat 4.0"
    CreateShortCut "$SMPROGRAMS\Tomcat 4.0\Tomcat Home Page.lnk" \
                   "http://jakarta.apache.org/tomcat"
    CreateShortCut "$SMPROGRAMS\Tomcat 4.0\Uninstall Tomcat 4.0.lnk" \
                   "$INSTDIR\uninst-tomcat4.exe"
    CreateShortCut "$SMPROGRAMS\Tomcat 4.0\Tomcat 4.0 Documentation.lnk" \
                   "http://jakarta.apache.org/tomcat/tomcat-4.0-doc/index.html"
    CreateShortCut "$SMPROGRAMS\Tomcat 4.0\Tomcat 4.0 Program Directory.lnk" \
                   "$INSTDIR"
    CreateShortCut "$SMPROGRAMS\Tomcat 4.0\Start Tomcat.lnk" \
                   "$INSTDIR\bin\startup.bat"
    CreateShortCut "$SMPROGRAMS\Tomcat 4.0\Stop Tomcat.lnk" \
                   "$INSTDIR\bin\shutdown.bat"
  SectionEnd
  
  !ifndef NO_SOURCE
  SectionDivider
  
  Section "Tomcat 4.0 Source Code"
    SectionIn 2
    SetOutPath $INSTDIR\Source
    File /r src
  SectionEnd
  
  !endif
  
  Section -post
    SetOutPath $INSTDIR
  
    ; since the installer is now created last (in 1.2+), this makes sure 
    ; that any old installer that is readonly is overwritten.
    Delete $INSTDIR\uninst-tomcat4.exe 
  
    WriteRegStr HKLM "SOFTWARE\Tomcat 4.0" "" $INSTDIR
    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tomcat 4.0" \
                     "DisplayName" "Jakarta Tomcat 4.0 (remove only)"
    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tomcat 4.0" \
                     "UninstallString" '"$INSTDIR\uninst-tomcat4.exe"'
    ExecShell open '$INSTDIR'
  
    WriteRegStr HKCU "Environment" "CATALINA_HOME" $INSTDIR
  
    Sleep 500
    BringToFront
  SectionEnd
  
  Function .onInstSuccess
    MessageBox MB_YESNO|MB_ICONQUESTION \
               "Setup has completed. View readme file now?" \
               IDNO NoReadme
      ExecShell open '$INSTDIR\README.txt'
    NoReadme:
  FunctionEnd
  
  !ifndef NO_UNINST
  UninstallText "This will uninstall Jakarta Tomcat 4.0 from your system:"
  UninstallExeName uninst-tomcat4.exe
  
  Section Uninstall
    ReadRegStr $1 HKCR ".nsi" ""
    StrCmp $1 "JSPFile" 0 NoOwn ; only do this if we own it
      ReadRegStr $1 HKCR ".jsp" "backup_val"
      StrCmp $1 "" 0 RestoreBackup ; if backup == "" then delete the whole key
        DeleteRegKey HKCR ".jsp"
      Goto NoOwn
      RestoreBackup:
        WriteRegStr HKCR ".jsp" "" $1
        DeleteRegValue HKCR ".jsp" "backup_val"
    NoOwn:
  
    DeleteRegKey HKCR "JSPFile"
    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tomcat 4.0"
    DeleteRegKey HKLM $InstallDirRegKey
    Delete "$SMPROGRAMS\Tomcat 4.0\*.lnk"
    RMDir "$SMPROGRAMS\Tomcat 4.0"
    Delete $INSTDIR\tomcat.ico
    Delete $INSTDIR\LICENSE
    Delete $INSTDIR\README.txt
    RMDir /r bin
    RMDir /r common
    RMDir /r conf
    RMDir /r jasper
    RMDir /r lib
    RMDir /r logs
    RMDir /r server
    RMDir /r webapps
    RMDir /r work
    RMDir /r $INSTDIR\Source
    RMDir $INSTDIR
  
    ; if $INSTDIR was removed, skip these next ones
    IfFileExists $INSTDIR 0 Removed 
      MessageBox MB_YESNO|MB_ICONQUESTION \
        "Remove all files in your Tomcat 4.0 directory? (If you have anything\
   you created that you want to keep, click No)" IDNO Removed
      Delete $INSTDIR\*.* ; this would be skipped if the user hits no
      RMDir /r $INSTDIR
      IfFileExists $INSTDIR 0 Removed 
        MessageBox MB_OK|MB_ICONEXCLAMATION \
                   "Note: $INSTDIR could not be removed."
    Removed:
  SectionEnd
  
  !endif
  
  
  
  1.1                  jakarta-tomcat-4.0/tomcat.ico
  
  	<<Binary file>>