Driver Pack Mapping and Pre-Cache

Ok, this hasn’t changed since WaaS 1.0, but I don’t think I ever actually explained it.  So basically it’s just variables… one of my favorite things… along with Raindrops on roses and whiskers on kittens.

Basically we have two modules.  One that sets the Driver Packs, and one that downloads them.


So now that you’ve seen that image, it’s all crystal clear right?

First off, this is Mike’s baby, he came up with this.  For going a lot deeper than I am here, check out Mikes two Blog Posts: Configuration Manager Dynamic Drivers & BIOS Management with Total Control PART 1 & PART 2

Please NOTE, whenever I say “Driver Package” I am referring to a Legacy Package that consists of Drivers… not the Driver Package

So basically a quick overview.  Using Dynamic Variables, we match the Model to the CM Package ID of the Legacy Package that contains the Driver Pack for the model.

So IF ( Make = Dell & Model = Latitude 5290) THEN
W10X64DriverPackage = PackageID of Latitude 5290 “Driver” Package


So now that we’ve mapped the variable W10X64DriverPackage to the Package for the model of machine it’s running on… we need to download it… if you actually read Part 1 & 2 from Mike’s blog, you’d know where I am going with this…

So how do we download that?  All I have is a Variable… what good does that do me?  Here’s how we do it..

We tell OSDDownloadDownloadPackages to grab the Package from the W10X64DriverPackage variable.

So now that we set the Variables we need, (Not see the special conditions if it is running in WinPE, because we use this same method for both OSD & IPU… modular), we call the EXE binary that does the downloading, which calls those variables.

So then when it downloads the Driver Package Content, it creates a new variable called DRIVERS01, which contains the location of the Package in the CCMCache.


Then we just clear out the Variables, because we like to clean up after ourselves, it’s just being a good steward.

So then in the actual IPU Task Sequence.
We run the same modules, so it would download the Drivers again.. however when it calls the download, it finds that the contents are already in the CCMCache from the last time it ran those steps (Pre-Cache Task Sequence). 


So then we run the Upgrade Step with the Staged Driver Package using the %DRIVERS01% Variable.  See, simple way of dynamically downloading and applying a driver package during IPU.

Please let me know if you have any questions or if I need to fill in any gaps.


2 thoughts on “Driver Pack Mapping and Pre-Cache”

  1. Can this same process work with Driver Packages instead of Standard ones, or are the two types handled differently by the client?

    • You can't use traditional Driver Packages in IPU. It has to be Legacy Packages that contain the Driver Contents. This is why many are dumping the use of "Driver Packages" and switching their drivers to using Legacy Packages for both OSD & IPU.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.