Driver installation and updating made easy: DPInst.exe

Installing or updating drivers on a system does always take a long time since you need to run many different driver installers to get all the devices in a system running. How about just running one installer and all your drivers are installed afterwards? A dream? Stop dreaming and do it right now with the Driver Package Installer (DPinst).

The details are here: http://msdn.microsoft.com/en-us/library/ms791049.aspx

DPInst is part of the Windows Driver Kit (WDK). More details here: http://www.microsoft.com/whdc/devtools/WDK/default.mspx

 

So, how can you use this tool?

  1. Download the WDK in order to get the latest version of DPInst (can be found under the “DIFx” tools)

  2. Create a new directory e.g. “c:\drivers” and copy DPInst.exe to that directory
    Note: There is a different version for x86 and x64

  3. Create a dpinst.xml file to control DPinst.
    All possible settings can be found here: http://msdn.microsoft.com/en-us/library/ms791067.aspx
    An example can look like this:

    <?xml version="1.0" ?>
    <dpinst>

    <suppressAddRemovePrograms/>

    <!-- The following search and subDirectory elements direct
    DPInst to search all subdirectories (under the DPInst working directory) to locate driver
    packages. -->
    <search>
    <subDirectory>*</subDirectory>
    </search>

    <!-- The following language element localizes its child elements
    for the English (Standard) language. The child elements
    customize the text that appears on the DPInst wizard pages. -->
    <language code="0x0409">
    <dpinstTitle>Device Driver Updater</dpinstTitle>
    <welcomeTitle>Welcome to the Device Installer!</welcomeTitle>
    <welcomeIntro>This wizard will walk you through updating the drivers for your device.</welcomeIntro>
    <installHeaderTitle>Installing the software for your device...</installHeaderTitle>
    <finishTitle>Congratulations! You finished installing your device drivers.</finishTitle>
    </language>

        <scanHardware/>

    </dpinst>

  4. Create sub directories for drivers and place the driver files (.inf, .sys, cat, .dll, etc.) into these directories.
    My example looks like this:
    image 

  5. Copy the complete directory to an external storage drive or network location and execute DPInst.exe to install / update the drivers
    on that machine. This dialogue will be displayed and pressing “Next” will start the installation…
    image

Done. :-) This will save a lot of your time.

I created a sample package that contains all necessary files for x86 and x64. You can get it here:
 

This sample also contains a script “installdrvs.cmd” which shows you how to use DPInst in silent mode.

Using DPInst in silent mode as part of your Windows XP or Windows Vista installation does work very well and is faster than using
a “Driver Path” in an unattend file as it will only install the drivers that match your hardware and not all drivers present in the driver directory.
So one example would be to add a driver folder containing DPinst,the dpinst.xml file and all drivers to the $OEM$\$1\ folder
(This will be on the C:\ driver after the installation) and then call installdrvs.cmd as “RunSynchronousCommand” during “Audit User” phase of
the Windows Vista setup.  Looks like this in System Image Manager:
image

Have fun.