Repair and Non-Repair mode

Learn about the Repair and Non-Repair mode.

The repair attribute is only valid for settings for *.msi or *.msp patches. For all other patches (*.exe, *.bat, *.cmd etc.), the launcher does not distinguish between repair and non-repair mode but always uses non-repair mode.

Repair mode

If the launcher tries to re-run an .msi or .msp patch that failed on a previous run, the launcher only applies the settings with repair attribute set to true or no repair attribute.

Non-repair mode

For the first run for *.msi or *.msp patches or all runs for '*.exe, *.bat or *.cmd patches, the launcher only applies the settings with repair attribute set to false or no repair attribute.

Powershell Scripts

To enable the execution of Powershell (*.ps1) scripts, uncomment or add the PatchSetting for *.ps1 files. A sample script without additional parameters.

<PatchingSettings>
  ...
  <Setting fileNameFilter="\.ps1$">
    <SuccessExitCodes>
      <Code>0</Code>
    </SuccessExitCodes>
  </Setting>
  ...
</PatchingSettings>

A sample script with additional parameters.

<PatchingSettings>
  ...
  <Setting fileNameFilter="MyFileNameThatNeedsParameter\.ps1$">
    <SuccessExitCodes>
      <Code>0</Code>
    </SuccessExitCodes>
    <Arguments>
      <Arg>My arg 1</Arg>
      <Arg>My arg 2</Arg>
      <Arg>My arg 3</Arg>
      <Arg>My arg 4</Arg>
    </Arguments>
  </Setting>
  ...
</PatchingSettings>

A sample script with NAMED parameters

<PatchingSettings>
  ...
  <Setting fileNameFilter="MyFileNameThatNeedsNamedParameter\.ps1$">
    <SuccessExitCodes>
      <Code>0</Code>
    </SuccessExitCodes>
    <Arguments>
      <Arg key="arg1">My arg 1</Arg>
      <Arg key="arg2">My arg 2</Arg>
      <Arg key="arg3">My arg 3</Arg>
      <Arg key="arg4">My arg 4</Arg>
    </Arguments>
  </Setting>
  ...
</PatchingSettings>
Note: The <Setting /> with the most specific filter should be at the top.