Deploy Intel Drivers With ConfigMgr After OSD Using DPInst

Overview

I recently had to deploy an Intel VGA driver to a company that was experiencing issues with Skype for Business crashing when a video call was initiated. The driver in question was Intel HD Graphics 520 version 21.20.16.4590. This post explains how to do so using DPInst.

We needed to deploy the updated version downloaded from the Lenovo website (version 21.20.16.4821) which we had proved resolved the issue. We had to do this without rebooting the machine and with minimal disruption to the user.

In the past I’ve been able to deploy driver updates as Packages by running the downloaded drivername.exe with the relevant switch. In this case when I tried that the install would hang as there were problems with the .exe running which would pop up an error which was hidden by the deployment. The .exe that I had downloaded from the Lenovo website was actually just a self extracting file which placed the content in C:\Drivers\VGA_Driver by default.

Deploying drivers using DPInst.exe

In the above screenshot the dpinst.exe file that comes as part of the driver download is the tool we will use to deploy the drivers. The actual drivers are in the source folder and there is a preconfigured XML file which is used by dpinst.exe too.

  1. The first step is to copy the entire contents of the VGA_Driver folder to your driver source folder on your SCCM server
  2. Then create a Package (a regular package, not a Driver package)
    1. Give it a name and fill out the version and manufacturer information as required
    2. Set the source file location to the location you saved the dpinst files and drivers.
    3. For the program itself, give it a name and specify the command line option as “dpinst.exe /S /SA /SE /SW /F”. Set the program to run “Whether or not a user is logged on” and make sure it’s hidden.
  3. At this point, unfortunately we can’t just push the package out to devices as you get some strange return codes that make SCCM think the install was unsuccessful, so we need to create a Task Sequence and make sure “Continue on error” is selected. It’s a simple Task Sequence with one step, and the option to hide the Task Sequence selected.
     
  4. Deploy your Task Sequence to a test device to ensure that this works as you’d expect. In the case of the VGA driver that I was deploying, the screen flickered a few times as you’d expect when updating a video driver. As you can see the driver version is updated straight away.