Escape NSIS variables
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@114196 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a1a0240489
commit
398dbe4127
@ -33,10 +33,10 @@
|
||||
CRCCheck on
|
||||
|
||||
; The name of the installer
|
||||
Name "${PROJECT_NAME}"
|
||||
Name "$${PROJECT_NAME}"
|
||||
|
||||
; Maven Setup executable
|
||||
OutFile "${PROJECT_BUILD_DIR}\${PROJECT_FINAL_NAME}.exe"
|
||||
OutFile "$${PROJECT_BUILD_DIR}\$${PROJECT_FINAL_NAME}.exe"
|
||||
|
||||
; Adds an XP manifest to the installer
|
||||
XPStyle on
|
||||
@ -49,108 +49,108 @@ AddBrandingImage left 70|267
|
||||
SetFont "Arial" 8
|
||||
|
||||
; License Information
|
||||
LicenseText "${PROJECT_LICENSE_TEXT}"
|
||||
LicenseData "${PROJECT_LICENSE_FILE}"
|
||||
LicenseText "$${PROJECT_LICENSE_TEXT}"
|
||||
LicenseData "$${PROJECT_LICENSE_FILE}"
|
||||
|
||||
; The default installation directory
|
||||
InstallDir "$PROGRAMFILES\${ORGANIZATION}\${PROJECT_NAME} ${PROJECT_VERSION}"
|
||||
InstallDir "$$PROGRAMFILES\$${ORGANIZATION}\$${PROJECT_NAME} $${PROJECT_VERSION}"
|
||||
; Registry key to check for directory (so if you upgrade, it will
|
||||
; overwrite the old one automatically)
|
||||
InstallDirRegKey HKLM "${PROJECT_REG_KEY}" "Install_Dir"
|
||||
InstallDirRegKey HKLM "$${PROJECT_REG_KEY}" "Install_Dir"
|
||||
|
||||
; The text to prompt the user to enter a directory
|
||||
ComponentText "This will install ${PROJECT_NAME} on your computer."
|
||||
ComponentText "This will install $${PROJECT_NAME} on your computer."
|
||||
; The text to prompt the user to enter a directory
|
||||
DirText "${PROJECT_NAME} Home Directory"
|
||||
DirText "$${PROJECT_NAME} Home Directory"
|
||||
|
||||
; -------------------------------------------------------------- Package up the files to be installed
|
||||
Section "${PROJECT_NAME} v${PROJECT_VERSION} Binaries"
|
||||
Section "$${PROJECT_NAME} v$${PROJECT_VERSION} Binaries"
|
||||
; Set output path to the installation directory.
|
||||
SetOutPath $INSTDIR
|
||||
SetOutPath $$INSTDIR
|
||||
; Put files and directories there
|
||||
; the script will be run from a directory below Maven
|
||||
File /r "${PROJECT_DIST_DIR}\*.*"
|
||||
File /r "$${PROJECT_DIST_DIR}\*.*"
|
||||
|
||||
; Write the installation path into the registry
|
||||
WriteRegStr HKLM "${PROJECT_REG_KEY}" "Install_Dir" "$INSTDIR"
|
||||
WriteRegStr HKLM "$${PROJECT_REG_KEY}" "Install_Dir" "$$INSTDIR"
|
||||
|
||||
; Write the environment variables to the Registry
|
||||
; FIXME: This should be a project include.
|
||||
; ${MAVEN_HOME}
|
||||
; $${MAVEN_HOME}
|
||||
Push "MAVEN_HOME"
|
||||
Push "$INSTDIR"
|
||||
Push "$$INSTDIR"
|
||||
Call WriteEnvStr
|
||||
|
||||
; TODO - Add MAVEN_HOME to the path
|
||||
|
||||
; TODO Prompt and write other environment variables to the Registry
|
||||
; WriteRegStr HKCU "Environment" "MAVEN_LOCAL_HOME" "$INSTDIR"
|
||||
; WriteRegStr HKCU "Environment" "MAVEN_LOCAL_HOME" "$$INSTDIR"
|
||||
|
||||
; Write the uninstall keys for Windows
|
||||
WriteRegStr HKLM "${PROJECT_REG_UNINSTALL_KEY}" "DisplayName" "${PROJECT_NAME} ${PROJECT_VERSION} (remove only)"
|
||||
WriteRegStr HKLM "${PROJECT_REG_UNINSTALL_KEY}" "UninstallString" '"$INSTDIR\Uninst.exe"'
|
||||
WriteRegStr HKLM "$${PROJECT_REG_UNINSTALL_KEY}" "DisplayName" "$${PROJECT_NAME} $${PROJECT_VERSION} (remove only)"
|
||||
WriteRegStr HKLM "$${PROJECT_REG_UNINSTALL_KEY}" "UninstallString" '"$$INSTDIR\Uninst.exe"'
|
||||
SectionEnd
|
||||
|
||||
; -------------------------------------------------------------- Create Shortcuts
|
||||
Section "Create Start Menu Shortcut(s)"
|
||||
CreateDirectory "${PROJECT_STARTMENU_FOLDER}"
|
||||
CreateDirectory "$${PROJECT_STARTMENU_FOLDER}"
|
||||
; it would be nice to get all this from navigation.xml :-)
|
||||
; FIXME: This should be a project include.
|
||||
CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Maven.lnk" "$INSTDIR\bin\maven.bat" "" "$INSTDIR\bin\maven.bat" 0
|
||||
CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Install Maven Repository.lnk" "$INSTDIR\bin\install_repo.bat" "" "$INSTDIR\install_repo.bat" 0
|
||||
CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Uninstall.lnk" "$INSTDIR\Uninst.exe" "" "$INSTDIR\Uninst.exe" 0
|
||||
CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Homepage.lnk" "http://maven.apache.org/"
|
||||
CreateShortCut "${PROJECT_STARTMENU_FOLDER}\User Guide.lnk" "http://maven.apache.org/reference/user-guide.html"
|
||||
CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Core Plugins.lnk" "http://maven.apache.org/reference/plugins/core-plugins.html"
|
||||
CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Optional Plugins.lnk" "http://maven.apache.org/reference/plugins/optional/optional.html"
|
||||
CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Reference.lnk" "http://maven.apache.org/reference/index.html"
|
||||
CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Report a Bug.lnk" "http://jira.codehaus.org/secure/BrowseProject.jspa?id=10030"
|
||||
CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Frequently Asked Questions.lnk" "http://maven.apache.org/faq.html"
|
||||
CreateShortCut "$${PROJECT_STARTMENU_FOLDER}\Maven.lnk" "$$INSTDIR\bin\maven.bat" "" "$$INSTDIR\bin\maven.bat" 0
|
||||
CreateShortCut "$${PROJECT_STARTMENU_FOLDER}\Install Maven Repository.lnk" "$$INSTDIR\bin\install_repo.bat" "" "$$INSTDIR\install_repo.bat" 0
|
||||
CreateShortCut "$${PROJECT_STARTMENU_FOLDER}\Uninstall.lnk" "$$INSTDIR\Uninst.exe" "" "$$INSTDIR\Uninst.exe" 0
|
||||
CreateShortCut "$${PROJECT_STARTMENU_FOLDER}\Homepage.lnk" "http://maven.apache.org/"
|
||||
CreateShortCut "$${PROJECT_STARTMENU_FOLDER}\User Guide.lnk" "http://maven.apache.org/reference/user-guide.html"
|
||||
CreateShortCut "$${PROJECT_STARTMENU_FOLDER}\Core Plugins.lnk" "http://maven.apache.org/reference/plugins/core-plugins.html"
|
||||
CreateShortCut "$${PROJECT_STARTMENU_FOLDER}\Optional Plugins.lnk" "http://maven.apache.org/reference/plugins/optional/optional.html"
|
||||
CreateShortCut "$${PROJECT_STARTMENU_FOLDER}\Reference.lnk" "http://maven.apache.org/reference/index.html"
|
||||
CreateShortCut "$${PROJECT_STARTMENU_FOLDER}\Report a Bug.lnk" "http://jira.codehaus.org/secure/BrowseProject.jspa?id=10030"
|
||||
CreateShortCut "$${PROJECT_STARTMENU_FOLDER}\Frequently Asked Questions.lnk" "http://maven.apache.org/faq.html"
|
||||
SectionEnd
|
||||
|
||||
; FIXME: This should be a project include.
|
||||
; OPTIONAL Desktop Shortcut
|
||||
; Section "Create Desktop Shortcut"
|
||||
; CreateShortCut "$DESKTOP\Maven.lnk" "$INSTDIR\bin\maven.bat" "" "$INSTDIR\bin\maven.bat"
|
||||
; CreateShortCut "$$DESKTOP\Maven.lnk" "$$INSTDIR\bin\maven.bat" "" "$$INSTDIR\bin\maven.bat"
|
||||
;SectionEnd
|
||||
|
||||
; -------------------------------------------------------------- Section to Install the Uninstaller
|
||||
Section "Install Uninstaller"
|
||||
; write the uninstaller to the installation directory
|
||||
WriteUninstaller "$INSTDIR\Uninst.exe"
|
||||
WriteUninstaller "$$INSTDIR\Uninst.exe"
|
||||
SectionEnd
|
||||
|
||||
; -------------------------------------------------------------- Maven Uninstaller
|
||||
Section "Uninstall"
|
||||
; remove registry keys
|
||||
DeleteRegKey HKLM "${PROJECT_REG_UNINSTALL_KEY}"
|
||||
DeleteRegKey HKLM "${PROJECT_REG_KEY}"
|
||||
DeleteRegKey HKLM "$${PROJECT_REG_UNINSTALL_KEY}"
|
||||
DeleteRegKey HKLM "$${PROJECT_REG_KEY}"
|
||||
|
||||
; FIXME: This should be a project include.
|
||||
; Remove ${MAVEN_HOME}
|
||||
; Remove $${MAVEN_HOME}
|
||||
Push "MAVEN_HOME"
|
||||
Call un.DeleteEnvStr
|
||||
|
||||
; remove files
|
||||
Delete $INSTDIR\*.*
|
||||
Delete $$INSTDIR\*.*
|
||||
|
||||
; MUST REMOVE UNINSTALLER, too
|
||||
Delete $INSTDIR\Uninst.exe
|
||||
Delete $$INSTDIR\Uninst.exe
|
||||
|
||||
; remove shortcuts, if any.
|
||||
Delete "${PROJECT_STARTMENU_FOLDER}\*.*"
|
||||
RMDir "${PROJECT_STARTMENU_FOLDER}"
|
||||
; Delete "$DESKTOP\Maven.lnk"
|
||||
Delete "$${PROJECT_STARTMENU_FOLDER}\*.*"
|
||||
RMDir "$${PROJECT_STARTMENU_FOLDER}"
|
||||
; Delete "$$DESKTOP\Maven.lnk"
|
||||
; Recursively remove files and directories used
|
||||
; this should also take care of the installer
|
||||
RMDir /r "$INSTDIR"
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION "${PROJECT_NAME} has been uninstalled"
|
||||
RMDir /r "$$INSTDIR"
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION "$${PROJECT_NAME} has been uninstalled"
|
||||
SectionEnd
|
||||
|
||||
; -------------------------------------------------------------- Add Images to the Installer / UnInstaller
|
||||
Function .onGUIInit
|
||||
!ifdef PROJECT_LOGO
|
||||
!insertmacro BrandingImage "${PROJECT_LOGO}" ""
|
||||
!insertmacro BrandingImage "$${PROJECT_LOGO}" ""
|
||||
; FIXME: Make an include
|
||||
; TODO Check for a JAVA_HOME environment variable
|
||||
Call AssertJavaHome
|
||||
@ -161,7 +161,7 @@ FunctionEnd
|
||||
; add the logo to the un-installer
|
||||
Function un.onGUIInit
|
||||
!ifdef PROJECT_LOGO
|
||||
!insertmacro BrandingImage "${PROJECT_LOGO}" ""
|
||||
!insertmacro BrandingImage "$${PROJECT_LOGO}" ""
|
||||
; FIXME: Make an include
|
||||
!endif
|
||||
FunctionEnd
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user