summaryrefslogtreecommitdiff
path: root/altosui/Instdrv/NSIS/Includes/java.nsh
blob: ebf1c5b96071223146a54f441ed021ecd1884557 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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