How the Deployment Pack solves the problem

IBM® provides a state variable during the task sequence to control which steps are run in the sequence. The installation uses Windows® Management Instrumentation (WMI) remote calls to reset the PXE advertisement for the computer so that when it reboots it will rerun the task sequence appropriately.

To control the flow of the task sequence across reboots, groups are created that have conditions set on the state variable. This state variable is a task sequence variable, set via the Configuration Manager server or via a file-based method (in case of a disconnected deployment).

The task sequence flow is similar to the following:
First boot sequence
  1. The computer boots WinPE via PXE. The task sequence variable is not set. (RebootStep = null)
  2. The “Set RebootStep Variable” action sets the variable to 1.
  3. The “Configure Hardware” group runs.
  4. The group “Step 1” condition evaluates to TRUE. (RebootStep = 1).
    1. Actions inside this group run.
    2. The “Reboot to PXE/USB” resets the PXE advertisement.
  5. The group “Step 2” condition evaluates to FALSE, which skips some steps.
  6. The group “Step 3” condition evaluates to FALSE, which skips some steps.
  7. The “Deploy Operating System” group condition evaluates to FALSE.
  8. The task sequence ends and the computer reboots.
Second boot sequence
  1. The computer boots and uses PXE or USB to load WinPE again. (RebootStep = 1)
  2. The “Set RebootStep Variable” action sets the variable to 2. (RebootStep = 2)
  3. The “Configure Hardware” group runs.
  4. The group “Step 1” condition evaluates to FALSE, which skips some steps.
  5. The group “Step 2” condition evaluates to TRUE. (RebootStep = 2).
    1. Actions inside group 2 run.
    2. The “Reboot to PXE/USB” resets the PXE advertisement.
  6. The group “Step 3” condition evaluates to FALSE, which skips some steps.
  7. The “Deploy Operating System” group condition evaluates to FALSE.
  8. The task sequence ends and the computer reboots.
Third boot sequence
  1. The computer boots and uses PXE or USB to load WinPE again. (RebootStep = 2)
  2. The “Set RebootStep Variable” action sets the variable to 3. (RebootStep = 3)
  3. The “Configure Hardware” group runs.
  4. The group “Step 1” condition evaluates to FALSE, which skips some steps.
  5. The group “Step 2” condition evaluates to FALSE, which skips some steps.
  6. The group “Step 3” condition evaluates to TRUE. (RebootStep = 3)
    1. Actions inside group 3 run with no reboot at the end.
  7. The “Deploy Operating System” group condition evaluates to TRUE.
    1. Actions inside this group run.
    2. The “Reset RebootStep Variable” action sets the variable to 0. (RebootStep = 0)
  8. The task sequence ends and the computer reboots to the final operating system loaded on the disk.