<?xml version="1.0" encoding="UTF-8"?>
<SapSetup Context="Variables" Version="13">
	<Variable Name="SapSetupDir" Persistent="true">
		<Value>%ProgramFiles%\SAP\SAPsetup</Value>
	</Variable>
	<Variable Name="CabFilesSrcDir" Persistent="false">
		<Value>%SapSrcDir%\CAB</Value>
	</Variable>
	<Variable Name="WinWordExist" Persistent="false">
		<Value>NO</Value>
		<Value Script="true"><![CDATA[
NWEngine.Context.Log.Write "Script: Checking for WinWord..."
If NWEngine.Shell.RegKeyExist("HKCR\Word.Document.8\shell\open\command") Then
  NWEngine.Variables.AppendDefaultValue "WinWordExist", "YES"
End If
NWEngine.Variables.Persistent( "WinWordExist" ) = vbFalse
		]]></Value>
	</Variable>
	<Variable Name="CommonStartUpGroup" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
szBuffer  = ""
szRegKey  = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
szRegName = szRegKey & "\Common Startup"
If NwEngine.Shell.RegKeyExist( szRegKey ) Then
        szPath = NwEngine.Shell.GetRegValue( szRegName )
        NwEngine.Context.Log.Write "Startup folder = " & Chr(34) & szPath & Chr(34)
        iPos = InstrRev( szPath, "\" )
        szBuffer = mid( szPath, iPos + 1 )
End if
NWEngine.Variables.AppendDefaultValue "CommonStartUpGroup", szBuffer
		]]></Value>
	</Variable>
	<Variable Name="JdkHome" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
IsJdkMissing()

Function IsJdkMissing()
        IsJdkMissing = vbFalse ' default
        bJdkExists = vbFalse
        strJdkHome = ""
        strJavaExe = ""
        NWEngine.Context.Log.Write "Variables-Script: Checking for JDK HOME"
        If bSearchForJavaMinorVersion( "1.5.0" ) Then
                bJdkExists = vbTrue
        ElseIf bSearchForJavaHome( "1.5", "" ) Then
                bJdkExists = vbTrue
        ElseIf bSearchForJavaMinorVersion( "1.4.2" ) Then
                bJdkExists = vbTrue
        ElseIf bSearchForJavaMinorVersion( "1.4.1" ) Then
                bJdkExists = vbTrue
        ElseIf bSearchForJavaHome( "1.4", "" ) Then
                bJdkExists = vbTrue
        ElseIf bSearchForJavaMinorVersion( "1.3.1" ) Then
                bJdkExists = vbTrue
        ElseIf bSearchForJavaHome( "1.3", "" ) Then
                bJdkExists = vbTrue
        Else
                bJdkExists = vbFalse
        End If
        If Not bJdkExists Then
                NWEngine.Context.Log.WriteWarning "Variables-Script: JDK could not be detected!"
                IsJdkMissing = vbTrue
        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 Development Kit\1.3"
        ElseIf szMajorVersion = "1.4" Then
                strVersionKey = "HKLM\SOFTWARE\JavaSoft\Java Development Kit\1.4"
        ElseIf szMajorVersion = "1.5" Then
                strVersionKey = "HKLM\SOFTWARE\JavaSoft\Java Development Kit\1.5"
        Else
                If szMinorVersion = "" Then
                        strVersionKey = "HKLM\SOFTWARE\JavaSoft\Java Development Kit\" & szMajorVersion
                Else
                        strVersionKey = "HKLM\SOFTWARE\JavaSoft\Java Development Kit\" & szMajorVersion & "_" & szMinorVersion
                End If
        End If
        strJavaHomeEntry = strVersionKey & "\JavaHome"
        If NWEngine.Shell.RegKeyExist( strVersionKey ) Then
                strJdkHome = NWEngine.Shell.GetRegValue( strJavaHomeEntry )
                If strJdkHome <> "" Then
                        strJavaExe = strJdkHome & "\bin\java.exe"
                        NWEngine.Context.Log.Write "Scriptlet : Searching for " & strJavaExe & " ..."
                        If NWEngine.Shell.FileExist( strJavaExe ) Then
                                NWEngine.Context.Log.Write "Scriptlet : Java Development Kit detected."
                                bSearchForJavaHome = vbTrue
                                NWEngine.Variables.AppendDefaultValue "JdkHome", strJdkHome
                        End If
                End If
        End If
End Function
		]]></Value>
	</Variable>
	<Variable Name="JreHome" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
IsJreMissing()

Function IsJreMissing()
        IsJreMissing = vbFalse ' default
        bJreExists = vbFalse
        strJreHome = ""
        strJavaExe = ""
        NWEngine.Context.Log.Write "Variables-Script: Checking for Jre HOME"
        If bSearchForJavaMinorVersion( "1.5.0" ) Then
                bJreExists = vbTrue
        ElseIf bSearchForJavaHome( "1.5", "" ) Then
                bJreExists = vbTrue
        ElseIf bSearchForJavaMinorVersion( "1.4.2" ) Then
                bJreExists = vbTrue
        ElseIf bSearchForJavaMinorVersion( "1.4.1" ) Then
                bJreExists = vbTrue
        ElseIf bSearchForJavaHome( "1.4", "" ) Then
                bJreExists = vbTrue
        ElseIf bSearchForJavaMinorVersion( "1.3.1" ) Then
                bJreExists = vbTrue
        ElseIf bSearchForJavaHome( "1.3", "" ) 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
        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 "JreHome", strJreHome
                        End If
                End If
        End If
End Function
		]]></Value>
	</Variable>
	<Variable Name="Jre6Version" Persistent="false">
		<Value>0.0.0.0</Value>
	</Variable>
	<Variable Name="Jre6Home" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
Option Explicit
				NwEngine.Context.Log.Write "Script JRE6x86: Checking if Oracle JRE 1.6.0 (32 Bit) is installed"
				If NwEngine.Shell.RegValueExist("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\Java6FamilyVersion") Then
					Dim szJre6Version
					szJre6Version = NwEngine.Shell.GetRegValue("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\Java6FamilyVersion")
					NwEngine.Context.Log.Write "Script JRE6x86: Found Oracle JRE in version " & szJre6Version
					Dim strUnderscorePos
					strUnderscorePos = InStrRev(szJre6Version, "_", -1, 1 )
					Dim strJavaUpdate
					If strUnderscorePos > 0 Then
						strJavaUpdate = Mid (szJre6Version, strUnderscorePos + 1 )
					Else
						strJavaUpdate = 0
					End If
					NwEngine.Context.Log.Write "Script JRE6x86: Found Update " & strJavaUpdate
					If NwEngine.Shell.RegKeyExist("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\" & szJre6Version) Then
						Dim strJre6Path
						strJre6Path = NwEngine.Shell.GetRegValue("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\" & szJre6Version & "\JavaHome")
						If NwEngine.Shell.FileExist(strJre6Path & "\bin\java.exe") Then
							NwEngine.Context.Log.Write "Script JRE7x86: Found JRE 6 in " & strJre6Path
							NwEngine.Variables.AppendDefaultValue "Jre6Home", strJre6Path
							Dim strJre6VersionWOUpdate
							If strUnderscorePos > 0 Then
								strJre6VersionWOUpdate = Left(szJre6Version, strUnderscorePos - 1)
							Else
								strJre6VersionWOUpdate = szJre6Version
							End If
							NwEngine.Variables.AppendDefaultValue "Jre6Version", strJre6VersionWOUpdate & "." & strJavaUpdate
						Else
							NwEngine.Context.Log.Write "Script JRE7x86: JRE 6 path '" & strJre6Path & "\bin\java.exe' could not be found!"
						End If
					Else
						NwEngine.Context.Log.Write "Script JRE6x86: Java6FamilyVersion is set to " & szJre6Version & ", but registry key HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\" & szJre6Version & " could not be found."
						NwEngine.Context.Log.Write "Script JRE6x86: Maybe your JRE 6 installation is defect"
					End If
				Else
					NwEngine.Context.Log.Write "Script JRE6x86: Oracle JRE 1.6.0 is not installed!"
				End If
		]]></Value>
	</Variable>
	<Variable Name="Jre6x64Version" Persistent="false">
		<Value>0.0.0.0</Value>
	</Variable>
	<Variable Name="Jre6x64Home" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
Option Explicit
				If %WOW64MODE% = true Then
					NwEngine.Context.Log.Write "Script JRE6x64: Checking if Oracle JRE 1.6.0 (64 Bit) is installed"
					NwEngine.Shell.Use64BitHive = "true"
					If NwEngine.Shell.RegValueExist("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\Java6FamilyVersion") Then
						Dim szJre6x64Version
						szJre6x64Version = NwEngine.Shell.GetRegValue("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\Java6FamilyVersion")
						NwEngine.Context.Log.Write "Script JRE6x64: Found Oracle JRE in version " & szJre6x64Version
						Dim strUnderscorePos
						strUnderscorePos = InStrRev(szJre6x64Version, "_", -1, 1 )
						Dim strJavaUpdate
						If strUnderscorePos > 0 Then
							strJavaUpdate = Mid (szJre6x64Version, strUnderscorePos + 1 )
						Else
							strJavaUpdate = 0
						End If
						NwEngine.Context.Log.Write "Script JRE6x64: Found Update " & strJavaUpdate
						If NwEngine.Shell.RegKeyExist("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\" & szJre6x64Version) Then
							Dim strJre6x64Path
							strJre6x64Path = NwEngine.Shell.GetRegValue("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\" & szJre6x64Version & "\JavaHome")
							If NwEngine.Shell.FileExist(strJre6x64Path & "\bin\java.exe") Then
								NwEngine.Context.Log.Write "Script JRE6x64: Found JRE 6 in " & strJre6x64Path
								NwEngine.Variables.AppendDefaultValue "Jre6x64Home", strJre6x64Path
								Dim strJre6x64VersionWOUpdate
								If strUnderscorePos > 0 Then
									strJre6x64VersionWOUpdate = Left(szJre6x64Version, strUnderscorePos - 1)
								Else
									strJre6x64VersionWOUpdate = szJre6x64Version
								End If
								NwEngine.Variables.AppendDefaultValue "Jre6x64Version", strJre6x64VersionWOUpdate & "." & strJavaUpdate
							Else
								NwEngine.Context.Log.Write "Script JRE6x64: JRE 6 path '" & strJre6x64Path & "\bin\java.exe' could not be found!"
							End If
						Else
							NwEngine.Context.Log.Write "Script JRE6x64: Java6FamilyVersion is set to " & szJre6x64Version & ", but registry key HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\" & szJre6x64Version & " could not be found."
							NwEngine.Context.Log.Write "Script JRE6x64: Maybe your JRE 6 x64 installation is defect"
						End If
					Else
						NwEngine.Context.Log.Write "Script JRE6x64: Oracle JRE 1.6.0 is not installed!"
					End If
					NwEngine.Shell.Use64BitHive = "false"
				End If
		]]></Value>
	</Variable>
	<Variable Name="Jre7Version" Persistent="false">
		<Value>0.0.0.0</Value>
	</Variable>
	<Variable Name="Jre7Home" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NwEngine.Context.Log.Write "Script JRE7x86: Checking if Oracle JRE 1.7.0 (32 Bit) is installed"
				If NwEngine.Shell.RegValueExist("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\Java7FamilyVersion") Then
					szJre7Version = NwEngine.Shell.GetRegValue("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\Java7FamilyVersion")
					NwEngine.Context.Log.Write "Script JRE7x86: Found Oracle JRE in version " & szJre7Version
					strUnderscorePos = InStrRev(szJre7Version, "_", -1, 1 )
					If strUnderscorePos > 0 Then
						strJavaUpdate = Mid (szJre7Version, strUnderscorePos + 1 )
					Else
						strJavaUpdate = 0
					End If
					NwEngine.Context.Log.Write "Script JRE7x86: Found Update " & strJavaUpdate
					If NwEngine.Shell.RegKeyExist("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\" & szJre7Version) Then
						strJre7Path = NwEngine.Shell.GetRegValue("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\" & szJre7Version & "\JavaHome")
						If NwEngine.Shell.FileExist(strJre7Path & "\bin\java.exe") Then
							NwEngine.Context.Log.Write "Script JRE7x86: Found JRE 7 in " & strJre7Path
							NwEngine.Variables.AppendDefaultValue "Jre7Home", strJre7Path
							If strUnderscorePos > 0 Then
								strJre7VersionWOUpdate = Left(szJre7Version, strUnderscorePos - 1)
							Else
								strJre7VersionWOUpdate = szJre7Version
							End If
							NwEngine.Variables.AppendDefaultValue "Jre7Version", strJre7VersionWOUpdate & "." & strJavaUpdate
						Else
							NwEngine.Context.Log.Write "Script JRE7x86: JRE 7 path '" & strJre7Path & "\bin\java.exe' could not be found!"
						End If
					Else
						NwEngine.Context.Log.Write "Script JRE7x86: Java7FamilyVersion is set to " & szJre7Version & ", but registry key HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\" & szJre7Version & " could not be found."
						NwEngine.Context.Log.Write "Script JRE7x86: Maybe your JRE 7 installation is defect"
					End If
				Else
					NwEngine.Context.Log.Write "Script JRE7x86: Oracle JRE 1.7.0 is not installed!"
				End If
		]]></Value>
	</Variable>
	<Variable Name="Jre7x64Version" Persistent="false">
		<Value>0.0.0.0</Value>
	</Variable>
	<Variable Name="Jre7x64Home" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
If "%WOW64MODE%" = "true" Then
				NwEngine.Context.Log.Write "Script JRE7x64: Checking if Oracle JRE 1.7.0 (64 Bit) is installed"
				NwEngine.Shell.Use64BitHive = "true"
				If NwEngine.Shell.RegValueExist("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\Java7FamilyVersion") Then
					szJre7Version = NwEngine.Shell.GetRegValue("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\Java7FamilyVersion")
					NwEngine.Context.Log.Write "Script JRE7x64: Found Oracle JRE in version " & szJre7Version
					strUnderscorePos = InStrRev(szJre7Version, "_", -1, 1 )
					If strUnderscorePos > 0 Then
						strJavaUpdate = Mid (szJre7Version, strUnderscorePos + 1 )
					Else
						strJavaUpdate = 0
					End If
					NwEngine.Context.Log.Write "Script JRE7x64: Found Update " & strJavaUpdate
					If NwEngine.Shell.RegKeyExist("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\" & szJre7Version) Then
						strJre7Path = NwEngine.Shell.GetRegValue("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\" & szJre7Version & "\JavaHome")
						If NwEngine.Shell.FileExist(strJre7Path & "\bin\java.exe") Then
							NwEngine.Context.Log.Write "Script JRE7x64: Found JRE 7 in " & strJre7Path
							NwEngine.Variables.AppendDefaultValue "Jre7x64Home", strJre7Path
							If strUnderscorePos > 0 Then
								strJre7VersionWOUpdate = Left(szJre7Version, strUnderscorePos - 1)
							Else
								strJre7VersionWOUpdate = szJre7Version
							End If
							NwEngine.Variables.AppendDefaultValue "Jre7x64Version", strJre7VersionWOUpdate & "." & strJavaUpdate
						Else
							NwEngine.Context.Log.Write "Script JRE7x64: JRE 7 path '" & strJre7Path & "\bin\java.exe' could not be found!"
						End If
					Else
						NwEngine.Context.Log.Write "Script JRE7x64: Java7FamilyVersion is set to " & szJre7Version & ", but registry key HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\" & szJre7Version & " could not be found."
						NwEngine.Context.Log.Write "Script JRE7x64: Maybe your JRE 7 installation is defect"
					End If
				Else
					NwEngine.Context.Log.Write "Script JRE7x64: Oracle JRE 1.7.0 is not installed!"
				End If
				NwEngine.Shell.Use64BitHive = "false"
			End If
		]]></Value>
	</Variable>
	<Variable Name="AcroReader6Dir" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NWEngine.Context.Log.Write "Script: Checking for Adobe Acrobat Reader 6.0"
			szAcroReader6Dir = ""
			If NWEngine.Shell.RegKeyExist("HKLM\SOFTWARE\Adobe\Acrobat Reader\6.0\InstallPath") Then
				szAcroReader6Dir = NWEngine.Shell.GetRegValue( "HKLM\SOFTWARE\Adobe\Acrobat Reader\6.0\InstallPath\" )
				NwEngine.Context.Log.Write "Script: Found Adobe Acrobat Reader 6.0 in " & szAcroReader6Dir
				NwEngine.Variables.AppendDefaultValue "AcroReader6Dir", szAcroReader6Dir
			End If
		]]></Value>
	</Variable>
	<Variable Name="Acro6Dir" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NWEngine.Context.Log.Write "Script: Checking for Adobe Acrobat 6.0"
			szAcro6Dir = ""
			If NWEngine.Shell.RegKeyExist( "HKLM\SOFTWARE\Adobe\Adobe Acrobat\6.0\InstallPath" ) Then
				szAcro6Dir = NWEngine.Shell.GetRegValue( "HKLM\SOFTWARE\Adobe\Adobe Acrobat\6.0\InstallPath\" )
				NwEngine.Context.Log.Write "Script: Found Adobe Acrobat 6.0 in " & szAcro6Dir
				NwEngine.Variables.AppendDefaultValue "Acro6Dir", szAcro6Dir
			End If
		]]></Value>
	</Variable>
	<Variable Name="AcroReader7Dir" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NWEngine.Context.Log.Write "Script: Checking for Adobe Acrobat Reader 7.0"
			szAcroReader7Dir = ""
			If NWEngine.Shell.RegKeyExist("HKLM\SOFTWARE\Adobe\Acrobat Reader\7.0\InstallPath") Then
				szAcroReader7Dir = NWEngine.Shell.GetRegValue( "HKLM\SOFTWARE\Adobe\Acrobat Reader\7.0\InstallPath\" )
				NwEngine.Context.Log.Write "Script: Found Adobe Acrobat Reader 7.0 in " & szAcroReader7Dir
				NwEngine.Variables.AppendDefaultValue "AcroReader7Dir", szAcroReader7Dir
			End If
		]]></Value>
	</Variable>
	<Variable Name="Acro7Dir" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NWEngine.Context.Log.Write "Script: Checking for Adobe Acrobat 7.0"
			szAcro7Dir = ""
			If NWEngine.Shell.RegKeyExist( "HKLM\SOFTWARE\Adobe\Adobe Acrobat\7.0\InstallPath" ) Then
				szAcro7Dir = NWEngine.Shell.GetRegValue( "HKLM\SOFTWARE\Adobe\Adobe Acrobat\7.0\InstallPath\" )
				NwEngine.Context.Log.Write "Script: Found Adobe Acrobat 7.0 in " & szAcro7Dir
				NwEngine.Variables.AppendDefaultValue "Acro7Dir", szAcro7Dir
			End If
		]]></Value>
	</Variable>
	<Variable Name="AcroReader8Dir" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NWEngine.Context.Log.Write "Script: Checking for Adobe Acrobat Reader 8.0"
			szAcroReader8Dir = ""
			If NWEngine.Shell.RegKeyExist("HKLM\SOFTWARE\Adobe\Acrobat Reader\8.0\InstallPath") Then
				szAcroReader8Dir = NWEngine.Shell.GetRegValue( "HKLM\SOFTWARE\Adobe\Acrobat Reader\8.0\InstallPath\" )
				NwEngine.Context.Log.Write "Script: Found Adobe Acrobat Reader 8.0 in " & szAcroReader8Dir
				NwEngine.Variables.AppendDefaultValue "AcroReader8Dir", szAcroReader8Dir
			End If
		]]></Value>
	</Variable>
	<Variable Name="Acro8Dir" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NWEngine.Context.Log.Write "Script: Checking for Adobe Acrobat 8.0"
			szAcro8Dir = ""
			If NWEngine.Shell.RegKeyExist( "HKLM\SOFTWARE\Adobe\Adobe Acrobat\8.0\InstallPath" ) Then
				szAcro8Dir = NWEngine.Shell.GetRegValue( "HKLM\SOFTWARE\Adobe\Adobe Acrobat\8.0\InstallPath\" )
				NwEngine.Context.Log.Write "Script: Found Adobe Acrobat 8.0 in " & szAcro8Dir
				NwEngine.Variables.AppendDefaultValue "Acro8Dir", szAcro8Dir
			End If
		]]></Value>
	</Variable>
	<Variable Name="AcroReader9Dir" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NWEngine.Context.Log.Write "Script: Checking for Adobe Acrobat Reader 9.0"
			szAcroReader9Dir = ""
			If NWEngine.Shell.RegKeyExist("HKLM\SOFTWARE\Adobe\Acrobat Reader\9.0\InstallPath") Then
				szAcroReader9Dir = NWEngine.Shell.GetRegValue( "HKLM\SOFTWARE\Adobe\Acrobat Reader\9.0\InstallPath\" )
				NwEngine.Context.Log.Write "Script: Found Adobe Acrobat Reader 9.0 in " & szAcroReader9Dir
				NwEngine.Variables.AppendDefaultValue "AcroReader9Dir", szAcroReader9Dir
			End If
		]]></Value>
	</Variable>
	<Variable Name="Acro9Dir" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NWEngine.Context.Log.Write "Script: Checking for Adobe Acrobat 9.0"
			szAcro9Dir = ""
			If NWEngine.Shell.RegKeyExist( "HKLM\SOFTWARE\Adobe\Adobe Acrobat\9.0\InstallPath" ) Then
				szAcro9Dir = NWEngine.Shell.GetRegValue( "HKLM\SOFTWARE\Adobe\Adobe Acrobat\9.0\InstallPath\" )
				NwEngine.Context.Log.Write "Script: Found Adobe Acrobat 9.0 in " & szAcro9Dir
				NwEngine.Variables.AppendDefaultValue "Acro9Dir", szAcro9Dir
			End If
		]]></Value>
	</Variable>
	<Variable Name="AcroReader10Dir" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NWEngine.Context.Log.Write "Script: Checking for Adobe Acrobat Reader 10.0"
			szAcroReader10Dir = ""
			If NWEngine.Shell.RegKeyExist("HKLM\SOFTWARE\Adobe\Acrobat Reader\10.0\InstallPath") Then
				szAcroReader10Dir = NWEngine.Shell.GetRegValue( "HKLM\SOFTWARE\Adobe\Acrobat Reader\10.0\InstallPath\" )
				NwEngine.Context.Log.Write "Script: Found Adobe Acrobat Reader 10.0 in " & szAcroReader10Dir
				NwEngine.Variables.AppendDefaultValue "AcroReader10Dir", szAcroReader10Dir
			End If
		]]></Value>
	</Variable>
	<Variable Name="Acro10Dir" Persistent="false">
		<Value>C:\UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NWEngine.Context.Log.Write "Script: Checking for Adobe Acrobat 10.0"
			szAcro10Dir = ""
			If NWEngine.Shell.RegKeyExist( "HKLM\SOFTWARE\Adobe\Adobe Acrobat\10.0\InstallPath" ) Then
				szAcro10Dir = NWEngine.Shell.GetRegValue( "HKLM\SOFTWARE\Adobe\Adobe Acrobat\10.0\InstallPath\" )
				NwEngine.Context.Log.Write "Script: Found Adobe Acrobat 10.0 in " & szAcro10Dir
				NwEngine.Variables.AppendDefaultValue "Acro10Dir", szAcro10Dir
			End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV114322" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 1.1 (v1.1.4322)"
szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322"
If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
        NwEngine.Context.Log.Write "Script: .NET Framework Version 1.1 (v1.1.4322) exists."
NwEngine.Variables.AppendDefaultValue "DotNetV114322", "EXISTING"
End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV2050727" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 2.0 (v2.0.50727)"
szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727"
If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
        NwEngine.Context.Log.Write "Script: .NET Framework Version 2.0 (v2.0.50727) exists."
NwEngine.Variables.AppendDefaultValue "DotNetV2050727", "EXISTING"
End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV2050727x64" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
If "%WOW64MODE%" = "true" Then
  NwEngine.Shell.Use64BitHive = "true"
  NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 2.0 (v2.0.50727)"
  szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727"
  If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
          NwEngine.Context.Log.Write "Script: .NET Framework Version 2.0 (v2.0.50727) exists."
    NwEngine.Variables.AppendDefaultValue "DotNetV2050727x64", "EXISTING"
  End If
  NwEngine.Shell.Use64BitHive = "false"
End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV30" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 3.0 (v3.0)"
szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0"
If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
        NwEngine.Context.Log.Write "Script: .NET Framework Version 3.0 (v3.0) exists."
  NwEngine.Variables.AppendDefaultValue "DotNetV30", "EXISTING"
End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV30x64" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
If "%WOW64MODE%" = "true" Then
  NwEngine.Shell.Use64BitHive = "true"
  NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 3.0 (v3.0)"
  szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0"
  If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
          NwEngine.Context.Log.Write "Script: .NET Framework Version 3.0 (v3.0) exists."
    NwEngine.Variables.AppendDefaultValue "DotNetV30", "EXISTING"
  End If
  NwEngine.Shell.Use64BitHive = "false"
End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV35" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 3.5 (32 Bit)"
szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5"
If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
  szVersion = NwEngine.Shell.GetRegValue(szRegKeyDotNetFramework & "\Version")
  NwEngine.Context.Log.Write "Script: .NET Framework Version 3.5 (32 Bit) exists in version " & szVersion & "."
  NwEngine.Variables.AppendDefaultValue "DotNetV35", "EXISTING"
End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV35x64" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
If "%WOW64MODE%" = "true" Then
  NwEngine.Shell.Use64BitHive = "true"
  NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 3.5 (64 Bit)"
  szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5"
  If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
    szVersion = NwEngine.Shell.GetRegValue(szRegKeyDotNetFramework & "\Version")
    NwEngine.Context.Log.Write "Script: .NET Framework Version 3.5 (64 Bit) exists in version " & szVersion & "."
    NwEngine.Variables.AppendDefaultValue "DotNetV35x64", "EXISTING"
  End If
  NwEngine.Shell.Use64BitHive = "false"
End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV35SP1" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 3.5 (32 Bit)"
        szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5"
        If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
          szRegKeyDotNetFrameworkVersion = NwEngine.Shell.GetRegValue(szRegKeyDotNetFramework & "\Version")
          szRegKeyDotNetFrameworkSP = NwEngine.Shell.GetRegValue(szRegKeyDotNetFramework & "\SP")
          If szRegKeyDotNetFrameworkSP > 0 Then
            NwEngine.Context.Log.Write "Script: .NET Framework Version 3.5 (32 Bit) is installed in Version " & szRegKeyDotNetFrameworkVersion & " with SP " & szRegKeyDotNetFrameworkSP
            NwEngine.Variables.AppendDefaultValue "DotNetV35SP1", "EXISTING"
          Else
            NwEngine.Context.Log.Write "Script: Warning: .NET Framework is installed in Version " & szRegKeyDotNetFrameworkVersion & " without ServicePack"
          End If
        End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV35SP1x64" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
If "%WOW64MODE%" = "true" Then
				NwEngine.Shell.Use64BitHive = "true"
				NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 3.5 (64 Bit)"
				szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5"
				If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
					szRegKeyDotNetFrameworkVersion = NwEngine.Shell.GetRegValue(szRegKeyDotNetFramework & "\Version")
					szRegKeyDotNetFrameworkSP = NwEngine.Shell.GetRegValue(szRegKeyDotNetFramework & "\SP")
					If szRegKeyDotNetFrameworkSP > 0 Then
						NwEngine.Context.Log.Write "Script: .NET Framework Version 3.5 (64 Bit) is installed in Version " & szRegKeyDotNetFrameworkVersion & " with SP " & szRegKeyDotNetFrameworkSP
						NwEngine.Variables.AppendDefaultValue "DotNetV35SP1x64", "EXISTING"
					Else
						NwEngine.Context.Log.Write "Script: Warning: .NET Framework is installed in Version " & szRegKeyDotNetFrameworkVersion & " without ServicePack"
					End If
				End If
				NwEngine.Shell.Use64BitHive = "false"
			End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV45ClientProfile" Persistent="false">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="DotNetV4ClientProfile" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 4 and 4.5 Client Profile (32 Bit)"
			szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client"
			If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
				szVersion = NwEngine.Shell.GetRegValue(szRegKeyDotNetFramework & "\Version")
				If NwEngine.DE.ConditionsHandler.Evaluate(szVersion & " > 4.5.0") Then
					NwEngine.Context.Log.Write "Script: .NET Framework Version 4.5 Client Profile (32 Bit) exists in version " & szVersion & "."
					NwEngine.Variables.AppendDefaultValue "DotNetV4ClientProfile", "EXISTING"
					NwEngine.Variables.AppendDefaultValue "DotNetV45ClientProfile", "EXISTING"
				Else
					NwEngine.Context.Log.Write "Script: .NET Framework Version 4 Client Profile (32 Bit) exists in version " & szVersion & "."
					NwEngine.Variables.AppendDefaultValue "DotNetV4ClientProfile", "EXISTING"
				End If
			End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV45ClientProfilex64" Persistent="false">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="DotNetV4ClientProfilex64" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
If "%WOW64MODE%" = "true" Then
				NwEngine.Shell.Use64BitHive = "true"
				NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 4 and 4.5 Client Profile (64 Bit)"
				szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client"
				If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
					szVersion = NwEngine.Shell.GetRegValue(szRegKeyDotNetFramework & "\Version")
					If NwEngine.DE.ConditionsHandler.Evaluate(szVersion & " > 4.5.0") Then
						NwEngine.Context.Log.Write "Script: .NET Framework Version 4.5 Client Profile (64 Bit) exists in version " & szVersion & "."
						NwEngine.Variables.AppendDefaultValue "DotNetV4ClientProfilex64", "EXISTING"
						NwEngine.Variables.AppendDefaultValue "DotNetV45ClientProfilex64", "EXISTING"
					Else
						NwEngine.Context.Log.Write "Script: .NET Framework Version 4 Client Profile (64 Bit) exists in version " & szVersion & "."
						NwEngine.Variables.AppendDefaultValue "DotNetV4ClientProfilex64", "EXISTING"
					End If
				End If
				NwEngine.Shell.Use64BitHive = "false"
			End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV45FullProfile" Persistent="false">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="DotNetV4FullProfile" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 4 and 4.5 Full Profile (32 Bit)"
			szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full"
			If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
				szVersion = NwEngine.Shell.GetRegValue(szRegKeyDotNetFramework & "\Version")
				If NwEngine.DE.ConditionsHandler.Evaluate(szVersion & " > 4.5.0") Then
					NwEngine.Context.Log.Write "Script: .NET Framework Version 4.5 Client Profile (32 Bit) exists in version " & szVersion & "."
					NwEngine.Variables.AppendDefaultValue "DotNetV4FullProfile", "EXISTING"
					NwEngine.Variables.AppendDefaultValue "DotNetV45FullProfile", "EXISTING"
				Else
					NwEngine.Context.Log.Write "Script: .NET Framework Version 4 Client Profile (32 Bit) exists in version " & szVersion & "."
					NwEngine.Variables.AppendDefaultValue "DotNetV4FullProfile", "EXISTING"
				End If
			End If
		]]></Value>
	</Variable>
	<Variable Name="DotNetV45FullProfilex64" Persistent="false">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="DotNetV4FullProfilex64" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
If "%WOW64MODE%" = "true" Then
				NwEngine.Shell.Use64BitHive = "true"
				NwEngine.Context.Log.Write "Script: Checking for .NET Framework Version 4 and 4.5 Full Profile (64 Bit)"
				szRegKeyDotNetFramework = "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full"
				If NwEngine.Shell.RegKeyExist( szRegKeyDotNetFramework ) Then
					szVersion = NwEngine.Shell.GetRegValue(szRegKeyDotNetFramework & "\Version")
					If NwEngine.DE.ConditionsHandler.Evaluate(szVersion & " > 4.5.0") Then
						NwEngine.Context.Log.Write "Script: .NET Framework Version 4.5 Client Profile (64 Bit) exists in version " & szVersion & "."
						NwEngine.Variables.AppendDefaultValue "DotNetV4FullProfilex64", "EXISTING"
						NwEngine.Variables.AppendDefaultValue "DotNetV45FullProfilex64", "EXISTING"
					Else
						NwEngine.Context.Log.Write "Script: .NET Framework Version 4 Client Profile (64 Bit) exists in version " & szVersion & "."
						NwEngine.Variables.AppendDefaultValue "DotNetV4FullProfilex64", "EXISTING"
					End If
				End If
				NwEngine.Shell.Use64BitHive = "false"
			End If
		]]></Value>
	</Variable>
	<Variable Name="ProxyServer" Persistent="false">
		<Value>ProxyName:ProxyPort</Value>
		<Value Script="true"><![CDATA[
NWEngine.Context.Log.Write "Script: Checking ProxyServer"
strRegValue_ProxyServer = NwEngine.Shell.GetRegValue( "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer" )
NwEngine.Context.Log.Write "Script: Reading IE Proxy Server = " & strRegValue_ProxyServer
If Not strRegValue_ProxyServer = "" Then
NwEngine.Variables.AppendDefaultValue "ProxyServer", strRegValue_ProxyServer
End If
		]]></Value>
	</Variable>
	<Variable Name="ProxyOverride" Persistent="false">
		<Value>UNDEFINED</Value>
		<Value Script="true"><![CDATA[
NwEngine.Context.Log.Write "Script: Checking ProxyOverride"
strRegValue_ProxyOverride = NwEngine.Shell.GetRegValue( "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyOverride" )
NwEngine.Context.Log.Write "Script: Reading IE Proxy Server = " & strRegValue_ProxyOverride
If Not strRegValue_ProxyOverride = "" Then
NwEngine.Variables.AppendDefaultValue "ProxyOverride", strRegValue_ProxyOverride
End If
		]]></Value>
	</Variable>
	<Variable Name="MSProject2010Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSAccess2010Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSExcel2010Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSPowerPoint2010Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSPublisher2010Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSOutlook2010Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSWord2010Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSInfoPath2010Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSVisio2010Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSOneNote2010Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSO2007Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSProject2007Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSAccess2007Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSExcel2007Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSPowerPoint2007Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSPublisher2007Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSOutlook2007Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSWord2007Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSInfoPath2007Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSVisio2007Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSOneNote2007Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSO2003Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSProject2003Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSAccess2003Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSExcel2003Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSPowerPoint2003Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSPublisher2003Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSOutlook2003Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSWord2003Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSInfoPath2003Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSVisio2003Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSOneNote2003Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSO2010Is64Bit" Persistent="FALSE">
		<Value>UNDEFINED</Value>
	</Variable>
	<Variable Name="MSO2010Exists" Persistent="FALSE">
		<Value>UNDEFINED</Value>
		<Value Script="TRUE"><![CDATA[
Option Explicit

				Dim officeArray(2)
				officeArray(0) = "MSO2010Exists"
				officeArray(1) = "MSO2007Exists"
				officeArray(2) = "MSO2003Exists"

				'An array for all office products
				Dim officeProductArray(32)
				'----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
				'Array element                 |Product Name (0)     |Product Variable (1)     |Regular Expression for product (2)                                                                       |32/64/   |Office
				'                                                                                                                                                                                         Both (3) |Version
				'----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
				officeProductArray( 0) = Array("MS Office 2010",     "MSO2010Exists",          "^{9[0-25]140000-00((1[1234])|(2[fF])|(3[dD]))-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",               "Both",    "2010")
				officeProductArray( 1) = Array("MS Project 2010",    "MSProject2010Exists",    "^{9[0-25]140000-003[ABab]-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                   "Both",    "2010")
				officeProductArray( 2) = Array("MS Access 2010",     "MSAccess2010Exists",     "^{9[0-25]140000-0015-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                        "Both",    "2010")
				officeProductArray( 3) = Array("MS Excel 2010",      "MSExcel2010Exists",      "^{9[0-25]140000-0016-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                        "Both",    "2010")
				officeProductArray( 4) = Array("MS PowerPoint 2010", "MSPowerPoint2010Exists", "^{9[0-25]140000-0018-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                        "Both",    "2010")
				officeProductArray( 5) = Array("MS Publisher 2010",  "MSPublisher2010Exists",  "^{9[0-25]140000-0019-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                        "Both",    "2010")
				officeProductArray( 6) = Array("MS Outlook 2010",    "MSOutlook2010Exists",    "^{9[0-25]140000-001A-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                        "Both",    "2010")
				officeProductArray( 7) = Array("MS Word 2010",       "MSWord2010Exists",       "^{9[0-25]140000-001B-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                        "Both",    "2010")
				officeProductArray( 8) = Array("MS InfoPath 2010",   "MSInfoPath2010Exists",   "^{9[0-25]140000-0044-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                        "Both",    "2010")
				officeProductArray( 9) = Array("MS Visio 2010",      "MSVisio2010Exists",      "^{9[0-25]140000-0057-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                        "Both",    "2010")
				officeProductArray(10) = Array("MS OneNote 2010",    "MSOneNote2010Exists",    "^{9[0-25]140000-00A1-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                        "Both",    "2010")

				officeProductArray(11) = Array("MS Office 2007",     "MSO2007Exists",          "^{9[0-2]120000-00((1[1234])|(2[eEfF])|(3[0135])|([Cc][Aa]))-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$", "32",      "2007")
				officeProductArray(12) = Array("MS Project 2007",    "MSProject2007Exists",    "^{9[0-2]120000-003[ABab]-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                    "32",      "2007")
				officeProductArray(13) = Array("MS Access 2007",     "MSAccess2007Exists",     "^{9[0-2]120000-0015-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                         "32",      "2007")
				officeProductArray(14) = Array("MS Excel 2007",      "MSExcel2007Exists",      "^{9[0-2]120000-0016-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                         "32",      "2007")
				officeProductArray(15) = Array("MS PowerPoint 2007", "MSPowerPoint2007Exists", "^{9[0-2]120000-0018-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                         "32",      "2007")
				officeProductArray(16) = Array("MS Publisher 2007",  "MSPublisher2007Exists",  "^{9[0-2]120000-0019-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                         "32",      "2007")
				officeProductArray(17) = Array("MS Outlook 2007",    "MSOutlook2007Exists",    "^{9[0-2]120000-001A-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                         "32",      "2007")
				officeProductArray(18) = Array("MS Word 2007",       "MSWord2007Exists",       "^{9[0-2]120000-001B-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                         "32",      "2007")
				officeProductArray(19) = Array("MS InfoPath 2007",   "MSInfoPath2007Exists",   "^{9[0-2]120000-0044-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                         "32",      "2007")
				officeProductArray(20) = Array("MS Visio 2007",      "MSVisio2007Exists",      "^{9[0-2]120000-005[13]-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                      "32",      "2007")
				officeProductArray(21) = Array("MS OneNote 2007",    "MSOneNote2007Exists",    "^{9[0-2]120000-00A1-[0-9A-Fa-f]{4}-[0-1]000-[0-1]000000FF1CE}$",                                         "32",      "2007")

				officeProductArray(22) = Array("MS Office 2003",     "MSO2003Exists",          "^{9[0-2]((1[123])|([eE]3)|([Cc][Aa]))[0-9A-F][0-9A-F][0-9A-F][0-9A-F]-6000-11D3-8CFE-0150048383C9}$",    "32",      "2003")
				officeProductArray(23) = Array("MS Project 2003",    "MSProject2003Exists",    "^{9[0-2]3[ABab][0-9A-Fa-f]{4}-6000-11D3-8CFE-0150048383C9}$",                                            "32",      "2003")
				officeProductArray(24) = Array("MS Access 2003",     "MSAccess2003Exists",     "^{9[0-2]15[0-9A-Fa-f]{4}-6000-11D3-8CFE-0150048383C9}",                                                  "32",      "2003")
				officeProductArray(25) = Array("MS Excel 2003",      "MSExcel2003Exists",      "^{9[0-2]16[0-9A-Fa-f]{4}-6000-11D3-8CFE-0150048383C9}",                                                  "32",      "2003")
				officeProductArray(26) = Array("MS PowerPoint 2003", "MSPowerPoint2003Exists", "^{9[0-2]18[0-9A-Fa-f]{4}-6000-11D3-8CFE-0150048383C9}",                                                  "32",      "2003")
				officeProductArray(27) = Array("MS Publisher 2003",  "MSPublisher2003Exists",  "^{9[0-2]19[0-9A-Fa-f]{4}-6000-11D3-8CFE-0150048383C9}",                                                  "32",      "2003")
				officeProductArray(28) = Array("MS Outlook 2003",    "MSOutlook2003Exists",    "^{9[0-2]1A[0-9A-Fa-f]{4}-6000-11D3-8CFE-0150048383C9}",                                                  "32",      "2003")
				officeProductArray(29) = Array("MS Word 2003",       "MSWord2003Exists",       "^{9[0-2]1B[0-9A-Fa-f]{4}-6000-11D3-8CFE-0150048383C9}",                                                  "32",      "2003")
				officeProductArray(30) = Array("MS InfoPath 2003",   "MSInfoPath2003Exists",   "^{9[0-2]44[0-9A-Fa-f]{4}-6000-11D3-8CFE-0150048383C9}",                                                  "32",      "2003")
				officeProductArray(31) = Array("MS Visio 2003",      "MSVisio2003Exists",      "^{9[0-2]5[13][0-9A-Fa-f]{4}-6000-11D3-8CFE-0150048383C9}",                                               "32",      "2003")
				officeProductArray(32) = Array("MS OneNote 2003",    "MSOneNote2003Exists",    "^{9[0-2]A1[0-9A-Fa-f]{4}-6000-11D3-8CFE-0150048383C9}",                                                  "32",      "2003")

				Function IsGivenVariableAnOfficeVariable(varName)
					Dim officeVariable
					IsGivenVariableAnOfficeVariable = "False"
					For Each officeVariable in officeArray
						If officeVariable = varName Then
							IsGivenVariableAnOfficeVariable = "True"
							Exit For
						End If
					Next
				End Function

				Function PrintInstalledOfficeParts(regExpString, officeVersion)
					Dim strVersionMajor, strVersionMinor, officeComponent, officeRegKey
					strVersionMajor = NwEngine.Shell.GetRegValue("HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\" & regExpString & "\VersionMajor")
					strVersionMinor = NwEngine.Shell.GetRegValue("HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\" & regExpString & "\VersionMinor")
					officeRegKey = "HKLM\SOFTWARE\Microsoft\Office\" & strVersionMajor & "." & strVersionMinor
					For Each officeComponent In NwEngine.Shell.EnumRegKeys(officeRegKey)
						If NwEngine.Variables.GetValue("MS" & officeComponent & officeVersion & "Exists") = "UNDEFINED" Then
							NwEngine.Context.Log.Write "              - MS " & officeComponent & " " & officeVersion
						        NwEngine.Variables.AppendDefaultValue "MS" & officeComponent & officeVersion & "Exists", "TRUE"
					        End If
					Next
				End Function

				Function ExecuteRegExp(registryKey, regExpString)
					Dim regExpObject, matchesObject
					Set regExpObject = CreateObject("VBScript.RegExp")
					regExpObject.Pattern = regExpString
					Set matchesObject = regExpObject.Execute(registryKey)
					If matchesObject.Count > 0 Then
						ExecuteRegExp = true
						regExpString = matchesObject(0).Value
					Else
						ExecuteRegExp = false
					End If
				End Function

				Function CheckProduct(registryKey, counter, bits)
					Dim officeProductArrayItem
					For Each officeProductArrayItem in officeProductArray
						Dim doExecute
						doExecute = False
						If bits = officeProductArrayItem(3) Or officeProductArrayItem(3) = "Both" Then
							doExecute = True
						End If
						Dim strVarIsSet
						strVarIsSet = NwEngine.Variables.GetValue(officeProductArrayItem(1))
						If strVarIsSet = "UNDEFINED" Then
							If doExecute And ExecuteRegExp(registryKey, officeProductArrayItem(2)) Then
								counter = counter + 1
								NwEngine.Context.Log.Write "OfficeScript: Found " & officeProductArrayItem(0)
								NwEngine.Variables.AppendDefaultValue officeProductArrayItem(1), "TRUE"

								If IsGivenVariableAnOfficeVariable(officeProductArrayItem(1)) = "True" Then
									PrintInstalledOfficeParts officeProductArrayItem(2), officeProductArrayItem(4)
								End If
							End If
						End If
					Next
				End Function

				Function LogInstalledProducts(bitness, counter)
					If counter > 0 Then
						NwEngine.Context.Log.Write "OfficeScript: Found " & counter & " " & bitness & " Bit Office Product(s)"
						If bitness = 64 Then
							NwEngine.Variables.AppendDefaultValue "MSO2010Is64Bit", "TRUE"
						Else
							NwEngine.Variables.AppendDefaultValue "MSO2010Is64Bit", "FALSE"
						End If
					Else
						NwEngine.Context.Log.Write "OfficeScript: No " & bitness & " Bit Office Products found"
					End if
				End Function


				NwEngine.Context.Log.Write "OfficeScript: Checking for 32 Bit Office Products..."
				Dim registryKey
				Dim count32BitProducts
				count32BitProducts = 0
				For Each registryKey in NwEngine.Shell.EnumRegKeys("HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall")
					On Error Resume Next
					CheckProduct registryKey, count32BitProducts, "32"
				Next
				LogInstalledProducts 32, count32BitProducts

				If %WOW64MODE% = true Then
					NwEngine.Context.Log.Write "OfficeScript: Checking for 64 Bit Office Products..."
					NwEngine.Shell.Use64BitHive = vbTrue
					Dim count64BitProducts
					count64BitProducts = 0
					For Each registryKey in NwEngine.Shell.EnumRegKeys("HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall")
						On Error Resume Next
						CheckProduct registryKey, count64BitProducts, "64"
					Next
					NwEngine.Shell.Use64BitHive = vbFalse
					LogInstalledProducts 64, count64BitProducts
				Else
					NwEngine.Context.Log.Write "OfficeScript: Skipping 64 Bit Office Product checks, System is a 32 Bit OS"
				End If
		]]></Value>
	</Variable>
	<Variable Name="SapSetupInstallDate" Persistent="FALSE">
		<Value>0</Value>
		<Value Script="TRUE"><![CDATA[NwEngine.Variables.AppendDefaultValue "SapSetupInstallDate", FormatDateTime(Date(), 2)]]></Value>
	</Variable>
</SapSetup>
