Featured Article HOW-TO: ADS - Automated driver selection
  • KB ID: AA-00930
  • Created: 01/31/2017 6:01 PM
  • Updated: 01/31/2017 6:32 PM
  • Views: 3279
  • 0 Ratings


In order to simplify the driver selection, a job for OS deployment is included with Columbus 7.3 and later. This job automatically selects the correct driver package according to the manufacturer and model of the computer. This functionality  makes the manual selection of the hardware collection obsolete and minimizes the configuration in the console and facilitates the deployment process. The job itself i set as mandatory and will be included in every staging process.

More Information

How does it work?

The job delivered with the setup, is called «S_ADS» and will automatically be included in every deployment of an operating system.
It uses the information given by the vendor which is found in the SMBIOS information.

You can easily check your settings by running msinfo32.exe on your machine.

Based upon these information, a folder structure will be created to easily manage the the drivers for your machines.
The repositories for the drivers is located underneath the OS-Depot folder and is called «DrvStore» (please note that non-alpha characters are removed e.g.  dot in "Dell Inc.").

The automated driver selection will additionally add automatically add the NT Version and architecture. The following template shows how the structure is created. The architecture and NTVersion are related to the selected OS to be installed.


As examples:

…\DrvStore\VMware Inc\VMware Virtual Platform\NT61\x86
…\DrvStore\Hewlett Packard\HP EliteBook 2560p\NT62\x64

«Drivers» and «ASetup\Drivers

For the implementation, keep in mind that there are different stages to include the drivers. The first –  «Drivers» – is during the Windows setup. This means, every driver will be checked by the windows setup if it's fitting to this environment. The second one – «ASetup\Drivers» – is during the post-setup phase where the Columbus OS-Deployment takes place. The given drivers will be checked with DPInst if they're capable for installation and afterwards installed. Secondly, if you need to install a driver by a setup, this is the way to go.

Therefore we Columbus provides 2 similar but different folders for the installation of drivers.

Ok, well, i assume that your thoughts are "Lets put all drivers into «Drivers» folder and windows will know what to do". This works in the most of the cases but is not recommended. A best-practice advice shows to split the drivers as follows. Mainly you do not want to inject every driver into the Windows driver store. This will keep windows much more cleaner and also, we have experienced that some drivers may cause complications or errors during installation if they're installed during the windows setup. Use the following table to get them right.

 - Only Drivers needed for initial installation
 --> Ethernet NIC Drivers (for domain join)
 --> Special devices drivers (e.g. SATA Controller, NVMe) which are needed for the installation
 Everything else

Getting your drivers ready 

You'll need get the latest drivers from your manufacturer. Luckily, there's no need anymore to download each device driver individually. Manufacturers mostly provide a plug'n'play package which contains all the drivers for each model in the series.
In most cases, you'll end up to 90-100% of a complete driver installation. Some drivers may still needed installed by setup. This will be described later in this tutorial.

In the following list, we have already collected some links for such collections. The packages are usually around 500MB - 1GB (rarely up to 1.7G).


  1. Add the machine to Columbus by booting with PXE
  2. Schedule an OS Installation on this machine
  3. Boot the machine and let the os install
    --> The folder structure will be created during the job processing shortly before the windows installation starts.
  4. After the structure has been created,
  5. Unpack your driver bucket  to a temporary directory
  6. Copy the driver for the network card to «Drivers» folder
  7. Copy the rest of the drivers to «ASetup\Drivers» folder

Et voilà! ... Let your machine deploy again ...

Ok, good so far. What about drivers which needs to be run with a setup? No problem, Columbus has also a solution for them! The ASetup post-installation provides a scripting environment where you can do your magic ...
You may have already noticed the «S_InstallScript.wms.example» file in the ASetup folder. This file can be used for running driver setups or additional installations.
By giving the file a meaningful name like «S_Optiplex790.wms» and opening it in a text editor will give you the possibilities which the Columbus Scripting language is capable of.

The parameters may vary from setup to setup. Please see the read me files of the driver for more Information.
Softpacks from HP may contain a file «SPXXXXX.CVA». Open it with your favorite editor and search for silent. This will lead you where to go.

Drivers consist of many many small files which will produce a large amount of traffic compared to their size. So its recommended to create one large file to be copied once. This will also save a massive amount of time during the deployment
The «ASetup» contains a file «Drivers.zip.example». Delete this dummy an create a zip of the contents of the «ASetup\Drivers» - not the drivers folder itself, just the content of it. Save it in the «ASetup» folder and delete the «ASetup\Drivers» folder.

It should look something like this:


Driver, dpinst




Did you find this article helpful?

© 2000-2018 Brainware Consulting & Development AG     Impressum / Legal Notice  |  Datenschutz / Privacy Policy