Advanced Autopilot XML File Structure

From Syntaro Help

The StepDefinition.xml file is separated in single steps, which consists of three parts. A description of these three parts can be found below:


The "item" element is mainly used for the design of the window. It determines the names of the buttons, the description of the task and the output.


  • buttonText="Name of the task" (Content of the button if the task hasn’t been executed yet)
  • buttonTextDone="The task is done" (Content of the button if the task finished successfully)
  • title="Name of the Task"
  • description="Description of the Task"
  • executionMessage="Current status of the task"

On the picture below you can see how the parameters affect the design.


<item buttonText="Start the task" buttonTextDone="The Task is done" title="Name of the Task" description="Description of the Task" executionMessage="The task started…">

Before execution of the task:
Enrollment App with Step not executed

After execution of the task:
Enrollment App with Step executed


The PowerShell Script in the “checkScript" element should only generate a value of true or false. If the value is false, then the Advanced Autopilot knows, that the remediation Script has to be executed. If the return value is true, then the task was completed successfully with no error. If that’s the case, then the button-value changes and the user can’t press the button again. Only after a task is completed successfully, the next task can be started.


<checkScript> If (Condition){ $true #Everything is ok, the task completed successfully } else { $false #The task was never executed or something went wrong } </checkScript>

Important: The condition script has to return true or false, everything else will be handled like when the condition is not met.


The “remediationScript" element is the main part of the whole script, it determines what the tasks does (Install a software, activate something, etc.). It is only executed, if the checkScript has previously delivered false as output. If the output is true, the code will not be executed.


  • topMost="true/false" (if the parameter is false, the opened program or console will come in the foreground. If the parameter is true, the installation tool will remain in the foreground.)


<remediationScript topMost="false"> #This code will be executed if the “checkScript" output is $false </remediationScript>