Kurz gesagt: ja. Hier ist die lange Version:

Normalerweise wird nach dem Aufruf eines Pakets dieses lediglich gequeued und der ausführende Prozess erhält sofort wieder die Kontrolle. Das Paket wird dann asynchron durch den Dienst ausgeführt.

Dieses Verhalten wäre in einer Task-Sequence nicht sinnvoll, da die Ausführung parallel zur Task-Sequence weiterlaufen würde und das Ende der Ausführung nicht kontrollierbar wäre.

Deswegen wartet PackageShell in einer Task-Sequence und terminiert erst, wenn der Dienst das Paket ausgeführt hat.

Wenn das Paket einen Reboot benötigt, übernimmt PackageShell die notwendige Abstimmung mit der Task-Sequence um den Reboot korrekt einzuleiten. Nach dem Neustart startet die Task-Sequence automatisch wieder PackageShell und die Ausführung geht weiter.

Achtung: Task-Sequences unterstützen keine spontanen Neustarts durch Pakete. Zwar kann PackageShell dieses Verhalten bei Bedarf tolerieren, aber eine Task-Sequence kann mit derlei Abbrüchen nicht umgehen. Wenn sie ein Paket haben, welches einen Reboot erzwingt, sollten sie den PackageShell Parameter OSDQueue benutzen.