Selecting drivers based on hardware variation within a model?


  • I have a case, the Surface Pro (2017), my eternal tormenter, where the regular and LTE-equipped versions, are simply unrelated. They both have the model "Surface Pro" (as does the surface pro 1 but let's not talk about that thing), but they functionally have different motherboards with seemingly no overlapping hardware.

    I have a universal image now, and I took the driver package from a regular. When I deploy this onto an LTE, it has to reinstall all of the basic device drivers, motherboard firmware, etc; which succeeds, it's just time consuming. There's a bunch of quirks when this sort of deep clean driver swap happens, the touch screen doesn't work, most of the driver installations end in a fail state twice, despite having succeeded, which throws off our automation, forcing much more manual intervention.

    Is there maybe a good way to defer drivers until first-run, where I could use a dynamic group to detect motherboard revision or the NIC's presence?