Drivers via WINNT.SIF
Submitted by Alanoll
If you ever had to update a lot of drivers after installing Windows, then this guide will show you how you can get Windows Setup to install your updated drivers rather than the ones from the drivers.cab file on the CD. It's not as difficult as you think!
» Drivers in winnt.sif [Unattended]
This is where you can tell Setup to search your updated drivers folders to find a better match than what's in the existing drivers.cab on the Windows CD. If it finds a better match it will install those instead.
Note: Separate different directories with a semi-colon ";"
This will force Setup to install drivers that may not be WHQL certified. This is used in conjunction with OemPnPDriversPath. (Feedback from the MSFN forums have said that this doesn't always work. Try to use WHQL certified drivers if you can!)
You can add as many drivers as you want for several machines with different hardware specs. There is no risk of installing wrong drivers on a specific machine because Windows detects the best driver match for the hardware.
» How to prepare your drivers
All drivers are packaged differently, which is why we can't make a guide for every driver. But most of them can be extracted using extraction software and will contain one, or several INF files inside.
Extract your driver package to any folder, and examine the contents of it. Sometimes you will find several sub-folders containing the INF files in which case you need to make separate direct paths to them in OemPnPDriversPath. This is because Windows Setup will not scan any sub-folders for any INF files.
Name your folders starting with numbers, this ensures that specific drivers get installed in a numerical order. As you may already know, its important for chipset drivers to be installed before any other driver, this is why the chipset folder is given a number of 000, so its the first folder that Setup checks and installs. Here's an example below of how you can lay yours out:
So first, its the chipset drivers, then your network card, followed by graphics and sound (and tv out if you have one), then monitor drivers, and lastly any peripherals such as the keyboard, mouse, printer etc.
Copy all your driver folders to \$OEM$\$1\drivers\
Open up winnt.sif and add these two lines under the [Unattended] section (the paths to the drivers are an example for this guide, so simply replace with your own):
As you can see, its pointing to the folder where the .inf files are stored, not directly to the .inf file itself. Save winnt.sif and you're all done!
Not all drivers installations will work using this method. If you come across one that doesn't work, then you may want to consider doing a silent installation on the driver package itself and run it from [GuiRunOnce]. You can check this page for guides on several installation packages.
If some drivers are NOT being installed, then it might be because you've exceeded the 4096-character limit that applies to the OemPnPDriversPath entry in the winnt.sif file!
Other notes: You can install the ATi Catalyst drivers using the method above, but the Catalyst Control Center won't be installed. However you can install it automatically: you'll have to perform an administrative installation to get to the files you need. Then all you have to do is do a silent installation during [GUIRunOnce], for example. You could of course also use XPlode, WPI, or any other post-install software.
You can also ask for help in the Device Drivers forum.
Last updated 2006-08-13 19:32:36 by BÃ¢shrat the Sneaky [Edit]