Update 8-12-15: A hotfix has been released! Get it here: https://support.microsoft.com/en-us/kb/3084586
Today’s post is talk about a the recently released Service Pack 1 for System Center Configuration Manager 2012 R2, and a particularly ugly Driver import bug.
At a high level, what appears to be happening is that when you import a set a drivers, for every .inf file within the driver set it imports the full content of files along with it.
For example, if you have a 500 MB driver set that contains 15 .inf files within, this could result in an overall size of 7.5GB driver store (500MB x 15 inf files).
You will notice this very quickly when you import drivers as the process that would normally take 1-5 minutes depending on the size of the driver set, may take several hours to complete! As you might imagine, this will also effect your Task Sequences deployment times given the significantly larger driver package that must be downloaded and applied. Microsoft has recognized this issue, however at the time of this post no ETA on a fix.
At a recent client, I tested the following workaround until such time the issue has been resolved.
Extract your driver set to your SCCM source code directory, then instead of importing the drivers, create a standard “Package” using the driver set directory as the source.
Do not create a Program when creating the package as we will add the appropriate command line in our task sequence.
Distribute the content to your Distribution Point(s)/Group(s)
Edit your Task Sequence, and where you would normally add an Apply Driver Package step, add a Run Command Line step. Select the package you created and then enter the following command line:
Dism.exe /image:%OSDisk%\ /Add-Driver /Driver:. /recurse
Don’t forget to add the option to run only on the required model in the Options tab (via the %Model% TS variable or a WMI query)
Tip: You can track the progress of the DISM command in the smsts.log.
Once a fix has been released, you can go back and import your drivers into the driver store and update your Task Sequence accordingly.
There is a running TechNet Forums post discussing this issue here:
Hope this helps others out there!