Simple Java Runtime Download Script: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
m (Reverted edits by 122.175.28.102 to last version by Anders) |
|||
Line 4: | Line 4: | ||
This is a simple code snippet for downloading a JRE. | This is a simple code snippet for downloading a JRE. | ||
== The Snippet == | |||
This at the top: | |||
<highlight-nsis>!define JRE_VERSION "1.5" | |||
!define JRE_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=18675&/jre-1_5_0_15-windows-i586-p.exe" | |||
</highlight-nsis> | |||
or for Java 1.6: | |||
<highlight-nsis>; 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" | |||
</highlight-nsis> | |||
In your MainSection: | |||
<highlight-nsis>Call DetectJRE | |||
</highlight-nsis> | |||
And this wherever you want: | |||
<highlight-nsis> | |||
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 | |||
</highlight-nsis> | |||
[[Category:Code Examples]] | |||
[[Category:Java]] |
Latest revision as of 10:09, 28 August 2011
Author: mooxie (talk, contrib) |
Description
This is a simple code snippet for downloading a JRE.
The Snippet
This at the top:
!define JRE_VERSION "1.5" !define JRE_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=18675&/jre-1_5_0_15-windows-i586-p.exe"
or for Java 1.6:
; 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"
In your MainSection:
Call DetectJRE
And this wherever you want:
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