This is the procedure.
<?xml version="1.0" encoding="utf-8"?>
<ScriptExport xmlns:xsi="www.w3.org/.../XMLSchema-instance" xmlns:xsd="www.w3.org/.../XMLSchema" xmlns="www.kaseya.com/.../Scripting">
<Procedure name="MP6000 - Adobe Reader Choco Installer" treePres="3" id="455247381" folderId="849107974045494" treeFullPath="myProcedures - bta.ltd.uk/dgodwin.Installers._Template Installers">
<Body description="">
<Statement name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="#scriptIdTab.scriptName#" />
<Parameter xsi:type="StringParameter" name="VariableName" value="ScriptName" />
</Statement>
<Statement name="WriteScriptLogEntry" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="Comment" value="===== #ScriptName# --- about to start =====" />
</Statement>
<Statement 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="agentWorkDir" />
</Statement>
<Statement description="| Chocolately App Name below" name="GetVariable" continueOnFail="false" osType="Windows">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="adobereader" />
<Parameter xsi:type="StringParameter" name="VariableName" value="global:App" />
</Statement>
<Statement description="| Chocolately App Name above
| Full App Name below" name="GetVariable" continueOnFail="false" osType="Windows">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="Adobe Reader" />
<Parameter xsi:type="StringParameter" name="VariableName" value="global:appName" />
</Statement>
<Statement description="| Full App Name above
| 
| No edits required below this point
| 
| Script Working Directory Name below" name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="#global:App#" />
<Parameter xsi:type="StringParameter" name="VariableName" value="scriptDir" />
</Statement>
<Statement description="| Script Working Directory Name above" name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="#global:appName# was successfully installed on machine #vMachine.machName#." />
<Parameter xsi:type="StringParameter" name="VariableName" value="successMessage" />
</Statement>
<Statement name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="#global:appName# was NOT installed on machine #vMachine.machName#." />
<Parameter xsi:type="StringParameter" name="VariableName" value="failureMessage" />
</Statement>
<Statement name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="The latest version of #global:appName# is already installed on machine #vMachine.machName#." />
<Parameter xsi:type="StringParameter" name="VariableName" value="notReqMessage" />
</Statement>
<Statement name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="#ScriptName# may not run on this machine (#vMachine.machName#) because of its Operating System, Role, or other restriction." />
<Parameter xsi:type="StringParameter" name="VariableName" value="naMessage" />
</Statement>
<Statement name="GetVariable" continueOnFail="false" osType="Windows">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="#agentWorkDir#\#scriptDir#" />
<Parameter xsi:type="StringParameter" name="VariableName" value="scriptWorkingDir" />
</Statement>
<Statement name="GetVariable" continueOnFail="false" osType="Windows">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="#scriptWorkingDir#\results.txt" />
<Parameter xsi:type="StringParameter" name="VariableName" value="resultsFile" />
</Statement>
<Statement name="GetVariable" continueOnFail="false" osType="Windows">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="#scriptWorkingDir#\#interim.txt" />
<Parameter xsi:type="StringParameter" name="VariableName" value="interimFile" />
</Statement>
<Statement name="GetVariable" continueOnFail="false" osType="Windows">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="#scriptWorkingDir#\#global:App#Version.txt" />
<Parameter xsi:type="StringParameter" name="VariableName" value="versionFile" />
</Statement>
<If description="Check if machine is Windows">
<Condition name="CheckVariable">
<Parameter xsi:type="StringParameter" name="VariableName" value="#vAgentLabel.agntTyp#" />
<Parameter xsi:type="EnumParameter" name="Condition" value="Equals" />
<Parameter xsi:type="StringParameter" name="Value" value="0" />
</Condition>
<Then>
<Statement name="WriteScriptLogEntry" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Comment" value="===== It's a Windows Machine =====" />
</Statement>
<Statement description="Create the Script Working Directory" name="ExecuteShellCommand" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Command" value="md #scriptWorkingDir#" />
<Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="System" />
<Parameter xsi:type="BooleanParameter" name="Is64Bit" value="False" />
</Statement>
<If description="Windows Procedure must go below">
<Condition name="TestFile">
<Parameter xsi:type="StringParameter" name="Path" value="%ALLUSERSPROFILE%\chocolatey\bin\cinst.exe" />
<Parameter xsi:type="EnumParameter" name="Condition" value="NotExists" />
<Parameter xsi:type="StringParameter" name="Value" value="" />
</Condition>
<Then>
<Statement name="WriteScriptLogEntry" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Comment" value="===== Chocolatey is not installed - installing now... =====" />
</Statement>
<Statement name="ExecuteScript" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="ScriptID" value="1621160654" />
<Parameter xsi:type="StringParameter" name="ScriptName" value="Chocolatey Install" />
<Parameter xsi:type="StringParameter" name="TimeDelay" value="" />
<Parameter xsi:type="EnumParameter" name="TimeUnit" value="Immediate" />
</Statement>
</Then>
</If>
<Statement name="Execute Shell Command - Get Results to Variable" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Parameter1" value="%ALLUSERSPROFILE%\chocolatey\bin\cinst #global:App#" />
<Parameter xsi:type="StringParameter" name="Parameter2" value="False" />
<Parameter xsi:type="StringParameter" name="Parameter3" value="System" />
</Statement>
<If description="">
<Condition name="CheckVariable">
<Parameter xsi:type="StringParameter" name="VariableName" value="#global:cmdresults#" />
<Parameter xsi:type="EnumParameter" name="Condition" value="Exists" />
<Parameter xsi:type="StringParameter" name="Value" value="" />
</Condition>
<Then>
<Statement name="WriteScriptLogEntry" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Comment" value="===== #global:cmdresults# =====" />
</Statement>
<If description="">
<Condition name="CheckVariable">
<Parameter xsi:type="StringParameter" name="VariableName" value="#global:cmdresults#" />
<Parameter xsi:type="EnumParameter" name="Condition" value="Contains" />
<Parameter xsi:type="StringParameter" name="Value" value="has been installed" />
</Condition>
<Then>
<Statement name="WriteScriptLogEntry" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Comment" value="===== Success =====" />
</Statement>
<Statement name="GetVariable" continueOnFail="false" osType="Windows">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="Success" />
<Parameter xsi:type="StringParameter" name="VariableName" value="global:action" />
</Statement>
</Then>
<Else>
<If description="">
<Condition name="CheckVariable">
<Parameter xsi:type="StringParameter" name="VariableName" value="#global:cmdresults#" />
<Parameter xsi:type="EnumParameter" name="Condition" value="Contains" />
<Parameter xsi:type="StringParameter" name="Value" value="already installed" />
</Condition>
<Then>
<Statement name="WriteScriptLogEntry" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Comment" value="===== Nothing to see here - already installed =====" />
</Statement>
<Statement name="GetVariable" continueOnFail="false" osType="Windows">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="Not Required" />
<Parameter xsi:type="StringParameter" name="VariableName" value="global:action" />
</Statement>
</Then>
</If>
</Else>
</If>
<If description="">
<Condition name="CheckVariable">
<Parameter xsi:type="StringParameter" name="VariableName" value="#global:action#" />
<Parameter xsi:type="EnumParameter" name="Condition" value="Exists" />
<Parameter xsi:type="StringParameter" name="Value" value="" />
</Condition>
<Then>
<Statement name="ExecuteScript" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="ScriptID" value="442707748" />
<Parameter xsi:type="StringParameter" name="ScriptName" value="KP2012 - Lock and Load SSR.exe" />
<Parameter xsi:type="StringParameter" name="TimeDelay" value="" />
<Parameter xsi:type="EnumParameter" name="TimeUnit" value="Immediate" />
</Statement>
<Statement name="ExecuteShellCommand" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Command" value="%ALLUSERSPROFILE%\chocolatey\bin\cver #global:App# >> #resultsFile#" />
<Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="System" />
<Parameter xsi:type="BooleanParameter" name="Is64Bit" value="False" />
</Statement>
<Statement name="ExecuteShellCommand" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Command" value="type #resultsFile# | findstr /v foundCompare >> #interimFile#" />
<Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="System" />
<Parameter xsi:type="BooleanParameter" name="Is64Bit" value="False" />
</Statement>
<Statement name="ExecuteShellCommand" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Command" value="type #interimFile# | findstr found >> #versionFile#" />
<Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="System" />
<Parameter xsi:type="BooleanParameter" name="Is64Bit" value="False" />
</Statement>
<Statement name="ExecuteShellCommand" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Command" value="#scriptWorkingDir#\ssr -w found\s08=\s00 #versionFile#" />
<Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="System" />
<Parameter xsi:type="BooleanParameter" name="Is64Bit" value="False" />
</Statement>
<Statement name="ExecuteShellCommand" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Command" value="#scriptWorkingDir#\ssr -w \s01=\s00 #versionFile#" />
<Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="System" />
<Parameter xsi:type="BooleanParameter" name="Is64Bit" value="False" />
</Statement>
<Statement name="ExecuteShellCommand" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Command" value="#scriptWorkingDir#\ssr -w :=\s00 #versionFile#" />
<Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="System" />
<Parameter xsi:type="BooleanParameter" name="Is64Bit" value="False" />
</Statement>
<Statement name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="FileContent" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="#versionFile#" />
<Parameter xsi:type="StringParameter" name="VariableName" value="version" />
</Statement>
<Statement name="WriteScriptLogEntry" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="Comment" value="===== Installed Version is now = #version# =====" />
</Statement>
<If description="">
<Condition name="CheckVariable">
<Parameter xsi:type="StringParameter" name="VariableName" value="#global:action#" />
<Parameter xsi:type="EnumParameter" name="Condition" value="Contains" />
<Parameter xsi:type="StringParameter" name="Value" value="Success" />
</Condition>
<Then>
<Statement name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="#global:appName# #version# was successfully installed on machine #vMachine.machName#." />
<Parameter xsi:type="StringParameter" name="VariableName" value="successMessage" />
</Statement>
<Statement name="ExecuteScript" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="ScriptID" value="488221222" />
<Parameter xsi:type="StringParameter" name="ScriptName" value="Script Success" />
<Parameter xsi:type="StringParameter" name="TimeDelay" value="" />
<Parameter xsi:type="EnumParameter" name="TimeUnit" value="Immediate" />
</Statement>
</Then>
<Else>
<If description="">
<Condition name="CheckVariable">
<Parameter xsi:type="StringParameter" name="VariableName" value="#global:action#" />
<Parameter xsi:type="EnumParameter" name="Condition" value="Contains" />
<Parameter xsi:type="StringParameter" name="Value" value="Not Required" />
</Condition>
<Then>
<Statement name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
<Parameter xsi:type="StringParameter" name="SourceContent" value="The latest version of #global:appName# (#version#) is already installed on machine #vMachine.machName#." />
<Parameter xsi:type="StringParameter" name="VariableName" value="notReqMessage" />
</Statement>
<Statement name="ExecuteScript" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="ScriptID" value="953442695" />
<Parameter xsi:type="StringParameter" name="ScriptName" value="Script not Required" />
<Parameter xsi:type="StringParameter" name="TimeDelay" value="" />
<Parameter xsi:type="EnumParameter" name="TimeUnit" value="Immediate" />
</Statement>
</Then>
<Else>
<Statement name="WriteScriptLogEntry" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Comment" value="===== No output =====" />
</Statement>
</Else>
</If>
</Else>
</If>
</Then>
<Else>
<Statement name="WriteScriptLogEntry" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Comment" value="===== Failed =====" />
</Statement>
<Statement name="ExecuteScript" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="ScriptID" value="1957481308" />
<Parameter xsi:type="StringParameter" name="ScriptName" value="Script Failure" />
<Parameter xsi:type="StringParameter" name="TimeDelay" value="" />
<Parameter xsi:type="EnumParameter" name="TimeUnit" value="Immediate" />
</Statement>
</Else>
</If>
</Then>
<Else>
<Statement name="WriteScriptLogEntry" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Comment" value="===== No output =====" />
</Statement>
</Else>
</If>
<Statement description="Windows Procedure must go above" name="WriteScriptLogEntry" continueOnFail="false" osType="Windows">
<Parameter xsi:type="StringParameter" name="Comment" value="===== End of Windows Procedure =====" />
</Statement>
</Then>
</If>
<Statement name="Delete Directory" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="Parameter1" value="#scriptWorkingDir#" />
<Parameter xsi:type="StringParameter" name="Parameter2" value="true" />
</Statement>
<Statement name="WriteScriptLogEntry" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="Comment" value="===== #ScriptName# --- completed =====" />
</Statement>
</Body>
</Procedure>
</ScriptExport>