From 2353d83be15b398754c2564f95374c6ea0f8de92 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 21 Aug 2011 22:12:04 -0700 Subject: [PATCH] altos-fat/windows: Check and install Java 1.6 as needed Signed-off-by: Keith Packard --- altosui/altos-windows.nsi | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/altosui/altos-windows.nsi b/altosui/altos-windows.nsi index 7c9b7a28..70dc03ca 100644 --- a/altosui/altos-windows.nsi +++ b/altosui/altos-windows.nsi @@ -1,4 +1,8 @@ !addplugindir Instdrv/NSIS/Plugins +; Definitions for Java 1.6 Detection +!define JRE_VERSION "1.6" +!define JRE_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=18714&/jre-6u5-windows-i586-p.exe" +!define PRODUCT_NAME "Altus Metrum Windows Software" Name "Altus Metrum Installer" @@ -18,6 +22,31 @@ ShowInstDetails Show ComponentText "Altus Metrum Software and Driver Installer" +Function GetJRE + MessageBox MB_OK "${PRODUCT_NAME} uses Java ${JRE_VERSION}, it will now \ + be downloaded and installed" + + StrCpy $2 "$TEMP\Java Runtime Environment.exe" + nsisdl::download /TIMEOUT=30000 ${JRE_URL} $2 + Pop $R0 ;Get the return value + StrCmp $R0 "success" +3 + MessageBox MB_OK "Download failed: $R0" + Quit + ExecWait $2 + Delete $2 +FunctionEnd + + +Function DetectJRE + ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \ + "CurrentVersion" + StrCmp $2 ${JRE_VERSION} done + + Call GetJRE + + done: +FunctionEnd + ; Pages to present Page license @@ -51,6 +80,8 @@ Section "Install Driver" InstDriver SectionEnd Section "AltosUI Application" + Call DetectJRE + SetOutPath $INSTDIR File "altosui-fat.jar" @@ -68,7 +99,7 @@ Section "AltosUI Application" File "../icon/*.ico" - CreateShortCut "$SMPROGRAMS\AltusMetrum.lnk" "$INSTDIR\altosui-fat.jar" "" "$INSTDIR\altus-metrum.ico" + CreateShortCut "$SMPROGRAMS\AltusMetrum.lnk" "$SYSDIR\javaw.exe" "-jar altosui-fat.jar" "$INSTDIR\altus-metrum.ico" SectionEnd Section "AltosUI Desktop Shortcut" @@ -99,12 +130,12 @@ SectionEnd Section "Uninstaller" ; Deal with the uninstaller - + SetOutPath $INSTDIR ; Write the install path to the registry WriteRegStr HKLM SOFTWARE\AltusMetrum "Install_Dir" "$INSTDIR" - + ; Write the uninstall keys for windows WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AltusMetrum" "DisplayName" "Altus Metrum" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AltusMetrum" "UninstallString" '"$INSTDIR\uninstall.exe"' -- 2.30.2