Is there any way to force windows to recheck all devices against drivers in its database (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DevicePath) and update to the latest drivers available? Something similar to what sysprep does when a cloned HD image is starting for the first time.

For example: When you install windows on a motherboard some devices are recognized and installed automatically with drivers from the windows CD. Some others are not recognized, therefore, not installed. Normally, you use the MB CD to update all drivers. There are two ways to do that:

  1. .exe file: Just run that and (normally) it updates all drivers (recognized or not).

  2. .inf file: IF the device isn't recognized, the driver installation wizard will find the driver on the CD automatically, otherwise you will have to update by hand (Device Manager -> device properties -> ... -> Update driver) IF you know which devices have updated drivers on the MB CD. You can check the .inf files on the CD to find which are supported, but it is a painful process.

I normally modify the DevicePath registry key and use driver packs when I create a PC image to clone later (I work for an IT department), and sysprep take cares of the rest. But when you want to install a PC differently of the saved HD image (therefore, you don't use sysprep) this process doesn't apply.

What I want to do is:

  1. After windows is installed, decompress the driver packs to a folder.

  2. Modify DevicePath

  3. Force Windows to update to the newer drivers (_already_recognized_devices_ are the most important thing here, there is no pain in the unrecognized ones).

It's the third step I don't know how to do.


Try using DevCon, a Microsoft utility.

The DevCon utility is a command-line utility that acts as an alternative to Device Manager. Using DevCon, you can enable, disable, restart, update, remove, and query individual devices or groups of devices.

As long as you unpack your drivers into a default search path, you could call a rescan to capture all the devices not installed initially.

| improve this answer | |

You can use DPInst.exe.

Here's a guide: http://blogs.technet.com/b/svengruenitz/...

This is the DPInst.xml file I use for silently updating all drivers.

<?xml version="1.0" ?>


    <!-- Suppress the addition of entries to Programs and Features in 
    Control Panel.-->

    <!-- install a driver package for a Plug and Play (PnP) function driver 
    only if the driver package matches a device that is configured in a 
    computer and the driver package is a better match for the device than 
    the driver package that is currently installed on the device. -->

    <!-- Suppress the display of user interface items that DPInst and 
    Windows generate. -->

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

You can also run DPInst.exe in command prompt with the /C flag to see what it's doing.

The DPInstall documentation is here: https://msdn.microsoft.com/...

| improve this answer | |

There is no generic method. If you have a Dell then Dell do a driver update package that will check all the Dell drivers and update them to the latest versions. You should be able to find it through the drivers area of the Dell web site by entering the tag number of your server.


| improve this answer | |

There are some (non free) programs that claim to do this for you. The 2 I can think of off the top of my head are:

Driver Robot

Driver Detective

I haven't used either of them so can't vouch for how good they are.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.