From: Keith Packard Date: Mon, 22 Aug 2011 05:12:04 +0000 (-0700) Subject: altos-fat/windows: Check and install Java 1.6 as needed X-Git-Tag: 0.9.7.0~20 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=2353d83be15b398754c2564f95374c6ea0f8de92 altos-fat/windows: Check and install Java 1.6 as needed Signed-off-by: Keith Packard --- 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"'