Driver Discovery on Windows Embedded 8

For Windows Embedded 8, we’ve done what we can to make the OS development process easier and more streamlined. I think you’ll like the changes. However in working with customers, I’ve found that it’s not always straightforward to understand which drivers are needed on a particular device. With this post, I will provide some tools and best practices that will help ensure that you end up with the correct drivers on your devices.

Tip #1 – Start with Windows 8

By installing Windows 8 onto your target hardware, you will ensure that all possible drivers are included on the system, since Windows 8 ships with all “In Box” drivers included.

Tip #2 – Attach All Your Peripherals and Devices

Ensure that you have attached any external devices you may be using. This could be a USB mouse, a barcode scanner, or a camera connected via Firewire. This will ensure that those buses and devices are correctly enumerated and discovered.

Tip #3 – Use Tap.exe

Tap.exe is a small standalone software program that can be found on your Windows Embedded 8 toolkit ISO. By copying and running it on a target device running Windows 8, a list of most (if not all) of the drivers on the system will be produced in the form of a .pmq file. This .pmq file can be imported into Image Configuration Editor (ICE) or Image Building Wizard (IBW).

Tip #4 – Download Third Party Drivers

For any special hardware you have that may require additional drivers installed, download the installers. This could be from the device creator’s website, media that’s shipped with the device, or from Windows Update. These drivers can be added to a custom module using Module Designer, and easily included when deploying your final image.

Tip #5 – Use Driver Extractor

Driver Extractor is a tool from Elbacom, which you may remember as the creator of DISMUI. This tool provides several different pieces of functionality, combining some of the steps enumerated above.

Extract any installed drivers on your system into Modules (or just extract the raw files)