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:
.exe file: Just run that and (normally) it updates all drivers (recognized or not).
.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:
After windows is installed, decompress the driver packs to a folder.
Modify DevicePath
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.