<?xml version="1.0" encoding="utf-8"?>
<SapSetup Context="Variables" Version="1">
    <Variable Name="PRE_IshMed" Persistent="FALSE">
      <Value>UNDEFINED</Value>
      <Value Script="TRUE">
		<![CDATA[
			NWEngine.Context.Log.Write "Script: Checking Installation Pre-Requisite for IshMed"
			If Not IsJreMissing() Then
		      	NwEngine.Variables.AppendDefaultValue "PRE_IshMed", "FULFILLED"
			End If
			Function IsJreMissing()
				IsJreMissing = vbTrue ' default
				bJreExists = vbFalse
				strJreHome = ""
				strJavaExe = ""
				NWEngine.Context.Log.Write "Variables-Script: Checking for Jre HOME"
				If bSearchForJavaMinorVersion( "1.6.0" ) Then
					bJreExists = vbTrue
				ElseIf bSearchForJavaHome( "1.6", "" ) Then
					bJreExists = vbTrue
				ElseIf bSearchForJavaMinorVersion( "1.5.0" ) Then
					bJreExists = vbTrue
				ElseIf bSearchForJavaHome( "1.5", "" ) Then
					bJreExists = vbTrue
				ElseIf bSearchForJavaMinorVersion( "1.4.2" ) Then
					bJreExists = vbTrue
				Else
					bJreExists = vbFalse
				End If
				If Not bJreExists Then
					NWEngine.Context.Log.WriteWarning "Variables-Script: JRE could not be detected!"
					IsJreMissing = vbTrue
				Else
					IsJreMissing = vbFalse
				End If
			End Function
			Function bSearchForJavaMinorVersion( szMajorVersion )
				bSearchForJavaMinorVersion = vbFalse
				iMinorVersion = 19
				Do While iMinorVersion > 0
					szMinorVersion = "0" & iMinorVersion
					If bSearchForJavaHome( szMajorVersion, szMinorVersion ) Then
						bSearchForJavaMinorVersion = vbTrue
						Exit Function
					Else
						iMinorVersion = iMinorVersion - 1
					End If
				Loop
				If bSearchForJavaHome( szMajorVersion, "" ) Then
					bSearchForJavaMinorVersion = vbTrue
				End If
			End Function
			Function bSearchForJavaHome( szMajorVersion, szMinorVersion )
				bSearchForJavaHome = vbFalse
				If szMajorVersion = "1.3" Then
					strVersionKey = "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\1.3"
				ElseIf szMajorVersion = "1.4" Then
					strVersionKey = "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\1.4"
				ElseIf szMajorVersion = "1.5" Then
					strVersionKey = "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\1.5"
				Else
					If szMinorVersion = "" Then
						strVersionKey = "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\" & szMajorVersion
					Else
						strVersionKey = "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\" & szMajorVersion & "_" & szMinorVersion
					End If
				End If
				strJavaHomeEntry = strVersionKey & "\JavaHome"
				If NWEngine.Shell.RegKeyExist( strVersionKey ) Then
					strJreHome = NWEngine.Shell.GetRegValue( strJavaHomeEntry )
					If strJreHome <> "" Then
						strJavaExe = strJreHome & "\bin\java.exe"
						NwEngine.Context.Log.Write "Scriptlet : Searching for " & strJavaExe & " ..."
						If NwEngine.Shell.FileExist( strJavaExe ) Then
							NwEngine.Context.Log.Write "Scriptlet : Java Runtime Environment detected."
							bSearchForJavaHome = vbTrue
							NwEngine.Variables.AppendDefaultValue "JreHomeForIshMed", strJreHome
							NwEngine.Variables.Persistent( "JreHomeForIshMed" ) = vbFalse
						End If
					End If
				End If
			End Function
		]]>
      </Value>
    </Variable>
</SapSetup>
