Imagine yourself the following situation:
You are deploying Windows 7 using SCCM OSD.
You have performance issues which requires you to install let’s say >10 hotfixes.
The hotfix files that need to be deployed have the extension .msu or .msp.
You create a package which contains all the hotfix files.
For every hotfix you create a program.
The command line used for a .msu hotfix: wusa.exe <hotfix>.msu /quiet /norestart
The command line used for a .msp hotfix: msiexec.exe /p <hotfix>.msp /qn Reboot=ReallySupress
You create a Task Sequence to deploy the hotfixes to all existing workstations and you edit your Task Sequence(s) to include them in your deployment.
Now here’s the problem:
If a hotfix is installed it may generate success code 3010 which will initiate a reboot.
If the list is pretty long then it running the Task Sequence might take a lot longer than really necessary.
Even though the reboot has been suppressed in the command line, the reboot request (which occurs after success code 3010) will still be initiated as is described here:
This is a design limitation of SCCM 2007.
Side note: I expect this behavior to be the same in SCCM 2012 but I haven’t tested this yet.
You could modify the sitectrl.ct0 file but this is not supported by Microsoft.
Instead creating each task of type ‘Install Software’, you need to choose type ‘Run Command Line’
Each command line contains the same command as mentioned before.
You need to select the package that contains the hotfix files.
At every task you can define your own success codes, by default the codes 0 and 3010 are already present.