;NSIS Lenya Installer script ; Licensed to the Apache Software Foundation (ASF) under one or more ; contributor license agreements. See the NOTICE file distributed with ; this work for additional information regarding copyright ownership. ; The ASF licenses this file to You under the Apache License, Version 2.0 ; (the "License"); you may not use this file except in compliance with ; the License. You may obtain a copy of the License at ; ; http://www.apache.org/licenses/LICENSE-2.0 ; ; Unless required by applicable law or agreed to in writing, software ; distributed under the License is distributed on an "AS IS" BASIS, ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ; See the License for the specific language governing permissions and ; limitations under the License. ; $Id$ ;-------------------------------- ;Include Modern UI !include "MUI.nsh" ;-------------------------------- ;Configuration ;General Var product_name Name "Apache Lenya 2.0-dev" OutFile "apache-lenya-2.0-dev-bin.exe" CRCCheck on SetCompress force SetDatablockOptimize on ;Folder selection page InstallDir "C:\apache-lenya-2.0-dev" ;-------------------------------- ;Interface Settings !define MUI_ABORTWARNING ;-------------------------------- ;Pages !insertmacro MUI_PAGE_LICENSE "LICENSE.txt" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES ;-------------------------------- ;Languages !insertmacro MUI_LANGUAGE "English" ;-------------------------------- ;Installer Sections Section "Apache Lenya 2.0-dev" SecDummy Call findJavaPath StrCpy $product_name "Apache Lenya 2.0-dev" SetOutPath $INSTDIR SetOutPath $INSTDIR\build\lenya\webapp File build\lenya\webapp\global-sitemap.xmap File build\lenya\webapp\sitemap.xmap File /r build\lenya\webapp\lenya File /r build\lenya\webapp\WEB-INF SetOutPath $INSTDIR File lenya.bat File build.properties File build.xml File NOTICE.txt File LICENSE.txt File README.txt File CREDITS.txt File /r tools File /r legal CreateDirectory "$SMPROGRAMS\$product_name" CreateShortCut "$SMPROGRAMS\$product_name\Apache Lenya Home Page.lnk" \ "http://lenya.apache.org/" CreateShortCut "$SMPROGRAMS\$product_name\Welcome to $product_name.lnk" \ "http://127.0.0.1:8888" CreateShortCut "$SMPROGRAMS\$product_name\Uninstall $product_name.lnk" \ "$INSTDIR\Uninstall.exe" CreateShortCut "$SMPROGRAMS\$product_name\Start $product_name.lnk" \ "$INSTDIR\lenya.bat" \ 'servlet' \ "$INSTDIR\lenya.bat" 1 SW_SHOWNORMAL ClearErrors ;Start Apache Lenya, wait 12 seconds to give it time to start, then launch start page ExecShell "open" '"$INSTDIR\lenya.bat"' 0 SW_SHOWMINIMIZED ;Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" Sleep 12000 ExecShell "open" '"http://127.0.0.1:8888"' 0 SW_SHOWNORMAL Quit SectionEnd ;-------------------------------- ;Descriptions LangString DESC_SecDummy ${LANG_ENGLISH} "Installs the Apache Lenya 2.0-dev Content Management System." !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy) !insertmacro MUI_FUNCTION_DESCRIPTION_END ;-------------------------------- ;Uninstaller Section Section "Uninstall" RMDir /r "$SMPROGRAMS\Apache Lenya 2.0-dev" RMDir /r "$INSTDIR" SectionEnd ; ===================== ; FindJavaPath Function ; ===================== ; ; Find the JAVA_HOME used on the system, and put the result on the top of the ; stack ; Will exit if the path cannot be determined ; Function findJavaPath ClearErrors ReadEnvStr $1 JAVA_HOME IfErrors 0 FoundJDK ClearErrors ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Development Kit" "CurrentVersion" ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Development Kit\$2" "JavaHome" ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion" ReadRegStr $4 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$3" "RuntimeLib" FoundJDK: IfErrors 0 NoAbort MessageBox MB_OK "Couldn't find a Java Development Kit installed on this \ computer. Please download one from http://java.sun.com. If there is already \ a JDK installed on this computer, set an environment variable JAVA_HOME to the \ pathname of the directory where it is installed." Abort NoAbort: ; Put the result in the stack Push $1 FunctionEnd