summaryrefslogtreecommitdiff
path: root/altosui/Instdrv/NSIS/Includes/java.nsh
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-06-17 20:46:33 -0700
committerKeith Packard <keithp@keithp.com>2014-06-20 11:32:19 -0700
commit44f60782d73bf5fdb6e1e54a3fdbe50808b7d7f5 (patch)
tree05016e12e35126deb1b931225e3f960d31aa3c4c /altosui/Instdrv/NSIS/Includes/java.nsh
parent7140ca8a4bc0be8386f8edacadb7ac5d88c6f1b1 (diff)
Fix java version detection and downloading
Move java stuff to a common include file, java.nsh Let any version no older than 1.6 serve by using ${VersionCompare} Use version 6 downloads as those don't require a click-through agreement. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/Instdrv/NSIS/Includes/java.nsh')
-rw-r--r--altosui/Instdrv/NSIS/Includes/java.nsh50
1 files changed, 50 insertions, 0 deletions
diff --git a/altosui/Instdrv/NSIS/Includes/java.nsh b/altosui/Instdrv/NSIS/Includes/java.nsh
new file mode 100644
index 00000000..ebf1c5b9
--- /dev/null
+++ b/altosui/Instdrv/NSIS/Includes/java.nsh
@@ -0,0 +1,50 @@
+!include WordFunc.nsh
+
+; Definitions for Java Detection
+
+!define JRE_VERSION "1.6"
+!define JRE32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=52247&/jre-6u27-windows-i586.exe"
+!define JRE64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=52249&/jre-6u27-windows-x64.exe"
+
+Var JavaDownload
+Var JavaBits
+
+Function GetJRE
+ ${If} ${RunningX64}
+ StrCpy $JavaDownload ${JRE64_URL}
+ StrCpy $JavaBits "64"
+ ${Else}
+ StrCpy $JavaDownload ${JRE32_URL}
+ StrCpy $JavaBits "32"
+ ${EndIf}
+
+ MessageBox MB_OK "This product uses Java ${JRE_VERSION}, \
+ $JavaBits bits, it will now \
+ be downloaded and installed"
+
+ StrCpy $2 "$TEMP\Java Runtime Environment.exe"
+ nsisdl::download /TIMEOUT=30000 $JavaDownload $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"
+
+ DetailPrint "Desired Java version ${JRE_VERSION}"
+ DetailPrint "Actual Java version $2"
+
+ ${VersionCompare} $2 ${JRE_VERSION} $3
+
+ IntCmp $3 1 done done
+
+ Call GetJRE
+
+done:
+
+FunctionEnd