For years I am “selling” the brilliant idea of Build and Capture Task Sequence instead of capture a reference machine and for many good reasons. But to my opinion, the most important reason is the automatic installation of Microsoft Update, especially when speaking of Windows 7 which gained several hundreds of updates over the years.
If you ask me, I will recommend any organization to drop the idea of making a Windows 7 deployment and go toward to a fresh Windows 10 deployment. Despite my recommendation, many of my customers are still deploying Windows 7 and we have to maintain these Task Sequence and create new versions.
In the last 5 years I am using the same similar methods in System Center Configuration Manager (SCCM) and Microsoft Deployment Toolkit (MDT) of installing Microsoft Updates during Build and Capture Task Sequences and suddenly, for the last few month, I’ve noticed an issue with the process.
To overview my recommended steps to use in order to perform Windows\Microsoft Updates during Task Sequence, please refer to the following blog post: http://blogs.microsoft.co.il/u-btech/2016/01/24/how-to-enable-microsoft-windows-update-during-build-and-capture-task-sequence/
Recently, I’ve bumped into an issue when the Windows Update step is stuck in “Searching Updates” process and when checking WindowsUpdate.log I’ve noticed several rows that kept showing on a loop:
Handler Using CBS interface ICbsSession7
DtaStorWARNING: Attempted to add URL http://download.windowsupdate.com/d/msdownload/update/… = when file has not been previously added to the datastore
Searching online for this lines did not came with any solution. So I’ve tried to see if Windows is capable to search updates through the normal GUI control panel options, and same symptoms were there as well.
In order to solve this I tried first to add latest Windows Update Agent as an Application to the task sequence before with the following command line:
WindowsUpdateAgent-7.6-x64.exe /quiet /norestart
Than I’ve added 2 important updates to the “Packages” node in MDT
Click on Next and finish the process
After creating the folder I’ve downloaded the System Update Readiness Tool (kb947821) which is used to take care of issues of Windows Update.
In addition, I’ve downloaded the following KB (kb3102810): Installing and searching for updates is slow and high CPU usage occurs in Windows 7 and Windows Server 2008 R2
You can read about it in the following blog post: http://blogs.microsoft.co.il/u-btech/2014/09/07/windows-could-not-configure-one-or-more-system-componentsmdt-deployment/
Now, Place these updates (MSU Files) on a “temp” folder that I created in the DeploymentShare
Go to MDT, right click the “Windows 7 Capture Packages x64” folder under packages and choose Import OS Packages. Then, Provide the path to the folder that contains the MSU files on temp.
Click Next until finish.
The next phase will describe the process of creating a “Selection Profile” in MDT with our imported packages in order to specify which packages should be installed during Windows installation:
In MDT, go to Advanced Configuration and right-click Selection Profiles and choose New Selection Profile
Give it a name (I will keep consistency and call it “Windows 7 Capture Package x64”)
In the second page choose only the folder we have created under Packages
Click Next until you finish.
Go to your Build and Capture Task Sequence and search for Apply Patches step
By default, this step is using the “All Packages” Selection Profile which can cause issues when there are patches from different operating system versions. Change to selection profile to the one we have created earlier
That’s it, now when this Task Sequence deployment will run, the packages in our selection profile will be injected to the OS while it’s being installed and the Windows Update mechanism will be fixed before it runs.
Hope it helped,
System Center Cloud and DataCenter Management MVP