Recently at a client in production and in my home lab, I ran into the an issue where the Software Updates task in my Build and Capture TS for Windows 7 would just hang. It would get to the task and scan for updates correctly according to the log and the UI, then it would just sit on “Installing Update 1 of x” forever (and never time out). Digging through the logs didn’t reveal much except for errors in the UpdateHandler.log with the error code 0x80040669. I have previously seen this error code before and even documented some fix actions (Build and Capture and Software Updates) but those were not working even though they were in place.
After comparing settings, rebuilding packages, recreating Update Deployments, and searching the web, I finally found the issue: our old friend, the boundary. In the cases where this issue was cropping up, an AD Boundary was in use. Switching the boundary to an IP Range fixed this issue. I don’t recall specifically whether or not the IP Subnet was included in the AD boundary or not, but I think it was and given that these task sequences, like all good build and captures task sequences, were executing on non-domain joined systems, the AD site was useless.
An excellent summary of all the fix actions (that I have ever seen) for Software Updates in a task sequence is at http://coreworx.blogspot.com/2010/08/configmgr-install-software-updates-task.html.
Just another reason why I refuse to use or recommend anything except IP Range boundaries (future blog post on that).