diff options
| author | Keith Packard <keithp@keithp.com> | 2014-06-17 20:46:33 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2014-06-20 11:32:19 -0700 | 
| commit | 44f60782d73bf5fdb6e1e54a3fdbe50808b7d7f5 (patch) | |
| tree | 05016e12e35126deb1b931225e3f960d31aa3c4c | |
| parent | 7140ca8a4bc0be8386f8edacadb7ac5d88c6f1b1 (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>
| -rw-r--r-- | altosui/Instdrv/NSIS/Includes/java.nsh | 50 | ||||
| -rw-r--r-- | altosui/altos-windows.nsi.in | 47 | ||||
| -rw-r--r-- | micropeak/Makefile.am | 2 | ||||
| -rw-r--r-- | micropeak/micropeak-windows.nsi.in | 46 | ||||
| -rw-r--r-- | telegps/telegps-windows.nsi.in | 47 | 
5 files changed, 58 insertions, 134 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 diff --git a/altosui/altos-windows.nsi.in b/altosui/altos-windows.nsi.in index b72772e2..ab5ac453 100644 --- a/altosui/altos-windows.nsi.in +++ b/altosui/altos-windows.nsi.in @@ -1,10 +1,8 @@  !addplugindir Instdrv/NSIS/Plugins +!addincludedir Instdrv/NSIS/Includes  !include x64.nsh -; Definitions for Java 1.7 Detection -!define JRE_VERSION "1.7" -!define JRE_ALTERNATE "1.6" -!define JRE32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=83383&/jre-7u51-windows-i586.exe" -!define JRE64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=83385&/jre-7u51-windows-x64.exe" +!include java.nsh +  !define PRODUCT_NAME "Altus Metrum Windows Software"  Name "Altus Metrum Installer" @@ -35,45 +33,6 @@ Function .onInit  	${EndIf}  FunctionEnd -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 "${PRODUCT_NAME} 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" - -  StrCmp $2 ${JRE_VERSION} done - -  StrCmp $2 ${JRE_ALTERNATE} done - -  Call GetJRE - -  done: -FunctionEnd -  ; Pages to present  Page license diff --git a/micropeak/Makefile.am b/micropeak/Makefile.am index 216874df..39ebc43a 100644 --- a/micropeak/Makefile.am +++ b/micropeak/Makefile.am @@ -272,7 +272,7 @@ $(MACOSX_DIST): $(MACOSX_FILES)  $(WINDOWS_DIST): $(WINDOWS_FILES) micropeak-windows.nsi  	-rm -f $@ -	makensis -Omicropeak-windows.log "-XOutFile $@" "-DVERSION=$(VERSION)" micropeak-windows.nsi +	makensis -Omicropeak-windows.log "-XOutFile $@" "-DVERSION=$(VERSION)" micropeak-windows.nsi || (cat micropeak-windows.log && exit 1)  Manifest.txt: Makefile  	echo 'Main-Class: org.altusmetrum.micropeak.MicroPeak' > $@ diff --git a/micropeak/micropeak-windows.nsi.in b/micropeak/micropeak-windows.nsi.in index 6dc9d8c1..bb5da1bb 100644 --- a/micropeak/micropeak-windows.nsi.in +++ b/micropeak/micropeak-windows.nsi.in @@ -1,11 +1,7 @@  !addplugindir Instdrv/NSIS/Plugins +!addincludedir ../altosui/Instdrv/NSIS/Includes  !include x64.nsh -; Definitions for Java 1.7 Detection -!define JRE_VERSION "1.7" -!define JRE_ALTERNATE "1.6" -!define JRE32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=83383&/jre-7u51-windows-i586.exe" -!define JRE64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=83385&/jre-7u51-windows-x64.exe" -!define PRODUCT_NAME "Altus Metrum Windows Software" +!include java.nsh  Name "Altus Metrum MicroPeak Installer" @@ -35,44 +31,6 @@ Function .onInit  	${EndIf}  FunctionEnd -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 "${PRODUCT_NAME} 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" -  StrCmp $2 ${JRE_VERSION} done - -  StrCmp $2 ${JRE_ALTERNATE} done - -  Call GetJRE - -  done: -FunctionEnd -  ; Pages to present  Page license diff --git a/telegps/telegps-windows.nsi.in b/telegps/telegps-windows.nsi.in index e6798c46..b4145520 100644 --- a/telegps/telegps-windows.nsi.in +++ b/telegps/telegps-windows.nsi.in @@ -1,11 +1,7 @@  !addplugindir ../altosui/Instdrv/NSIS/Plugins +!addincludedir ../altosui/Instdrv/NSIS/Includes  !include x64.nsh -; Definitions for Java 1.7 Detection -!define JRE_VERSION "1.7" -!define JRE_ALTERNATE "1.6" -!define JRE32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=83383&/jre-7u51-windows-i586.exe" -!define JRE64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=83385&/jre-7u51-windows-x64.exe" -!define PRODUCT_NAME "TeleGPS Windows Software" +!include java.nsh  Name "TeleGPS Installer" @@ -35,45 +31,6 @@ Function .onInit  	${EndIf}  FunctionEnd -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 "${PRODUCT_NAME} 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" - -  StrCmp $2 ${JRE_VERSION} done - -  StrCmp $2 ${JRE_ALTERNATE} done - -  Call GetJRE - -  done: -FunctionEnd -  ; Pages to present  Page license | 
