Here is a script I wrote to update java silently for ie and firefox. Checks for 32 or 64 bit and downloads and installs.
<?xml version="1.0" encoding="utf-8"?>
<ScriptExport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.kaseya.com/vsa/2008/12/Scripting">
<Procedure name="Java v7 u11" treePres="3" id="88174724" folderId="41119136241189165144184311">
<Body description="Download and install java v7 u11 from java.com">
<Statement description="Create a named procedure variable and assign a value retrieved from the managed machine by the agent." name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="AgentTempDirectory" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="" />
<Parameter xsi:type="StringParameter" name="VariableName" value="path" />
</Statement>
<If description="">
<Condition name="Windows 32 or 64 Bit Check">
<Parameter xsi:type="EnumParameter" name="Condition" value="NotExists" />
<Parameter xsi:type="StringParameter" name="Value" value="" />
</Condition>
<Then>
<Statement description="Get the response from a web page." name="GetURL" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="URL" value="http://javadl.sun.com/webapps/download/AutoDL?BundleId=73141" />
<Parameter xsi:type="StringParameter" name="ResponseFileName" value="#path#\jre-v7-u11-32bit.exe" />
<Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
</Statement>
<Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="Path" value="#path#\jre-v7-u11-32bit.exe" />
<Parameter xsi:type="StringParameter" name="Arguments" value="/s MOZILLA=1 IEXPLORER=1" />
<Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
<Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
</Statement>
<Statement description="Write an Entry into the Procedure Log" name="WriteScriptLogEntry" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="Comment" value="JRE 7-11 installed." />
</Statement>
</Then>
<Else>
<Statement description="Write an Entry into the Procedure Log" name="WriteScriptLogEntry" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="Comment" value="JRE 7-11 Update Failed" />
</Statement>
</Else>
</If>
<If description="">
<Condition name="Windows 32 or 64 Bit Check">
<Parameter xsi:type="EnumParameter" name="Condition" value="Exists" />
<Parameter xsi:type="StringParameter" name="Value" value="" />
</Condition>
<Then>
<Statement description="Get the response from a web page." name="GetURL" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="URL" value="http://javadl.sun.com/webapps/download/AutoDL?BundleId=73143" />
<Parameter xsi:type="StringParameter" name="ResponseFileName" value="#path#\jre-v7-u11-32bit.exe" />
<Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
</Statement>
<Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="Path" value="#path#\jre-v7-u11-32bit.exe" />
<Parameter xsi:type="StringParameter" name="Arguments" value="/s MOZILLA=1 IEXPLORER=1" />
<Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
<Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
</Statement>
<Statement description="Write an Entry into the Procedure Log" name="WriteScriptLogEntry" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="Comment" value="JRE 7-11 installed." />
</Statement>
</Then>
<Else>
<Statement description="Write an Entry into the Procedure Log" name="WriteScriptLogEntry" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="Comment" value="JRE 7-11 Update Failed" />
</Statement>
</Else>
</If>
</Body>
</Procedure>
</ScriptExport>