summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2011-08-21 22:12:04 -0700
committerKeith Packard <keithp@keithp.com>2011-08-22 17:20:06 -0700
commit2353d83be15b398754c2564f95374c6ea0f8de92 (patch)
tree08a89b8cf6c8593c7e4ae797c24fbb3876c07712
parenta08826292ebd802a1ff2effccac3b96fd061c47d (diff)
altos-fat/windows: Check and install Java 1.6 as needed
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--altosui/altos-windows.nsi37
1 files 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"'