Microsoft

Authorize unsigned device drivers in Windows

A Windows test mode exists, which allows users to install self-signed drivers that don't require digital verification.

One of the most prominent differences between full-fledged computers and Internet appliances such as tablets is that, theoretically, the operator has full control over the hardware attached to the computer and the software running on it. In practice, that is rarely absolutely true - and this distinction is becoming less valid as technology advances.

Device drivers

For much of the history of Windows, users have been able to use device drivers not authorized by Microsoft simply by clicking "OK" on a few warning dialogues, or setting a command line option at boot. Starting in Windows Vista SP1, Microsoft removed that option, instead requiring the user to press F8 at boot to override authorization. However, with the increased speed of computers and disk drives, pressing F8 at the exact moment NTLDR is expecting you to do so can easily become like a game of blind Whac-a-Mole.

A workaround to this problem does exist. Microsoft is aware that developers do not have the time or resources to submit each revision of Beta device drivers. Because of this, a test mode exists that allows operators to install self-signed drivers that don't require digital verification. A freeware program called "Driver Signature Enforcement Overrider" or DSEO, was created to automate the process of using this mode and personally signing drivers for use on your computer.

Older devices with drivers designed before this limitation was introduced require this workaround. Other hardware, designed by small companies or independent hobbyists who don't have the money to pay Microsoft to authorize their driver, may also need this workaround to install the appropriate drivers. In this tutorial, we're installing the driver to a NAND Flash device used with embedded systems which is otherwise unsupported on Windows 7.

Authorizing a driver

After downloading the file here, the first step is to disable User Account Control from the Control Panel in order to use DSEO and the self-signed certificates. From the Start Menu, type "uac" and select "Change User Account Control settings".

tr005_01.png

From this menu, drag the slider down to "Never notify" and press OK. A tooltip will pop up notifying you that the computer must be restarted in order to turn off User Account Control. Restart the computer.

tr005_02.png

After the computer has been restarted, double-click "dseo13b.exe" to open DSEO.

On this screen explaining why the program exists, click "Next".

tr005_03.png

Click "Yes" to accept the License Agreement.

tr005_04.png

To start, click "Enable Test Mode" and click "Next". In order to enable Test Mode, you will need to restart the computer, and consequently this program. Once you've restarted and have opened the program back to the main menu, click "Sign a System File".

tr005_05.png

From here, type in the path and file you want to sign for use on your computer. The signed file will overwrite the input file, so the path must be writable - loading a file from disc will not work. Despite the warning that the program generates, it is not necessary to restart from this step.

Final steps

Now that our driver has been signed, find the corresponding .inf file in Windows Explorer, right-click it, and choose "Install". This step should work for most programs, though for this device, Windows reports "The INF file you have selected does not support this method of installation." In this case, simply plugging in the device and using the standard Driver Installation Wizard will install the drivers and allow you to use your device.

This fix will remain in place, even after a reboot, until you specifically disable it using DSEO. When enabled, the text "Windows 7 Test Mode" along with the build number will be placed on the Desktop in the lower-right corner. Using the "Remove Watermarks" feature will remove this text. Now you can use any device driver you wish with your computer.

If you've used this guide to install an unsigned device driver in Windows, let us know in the comments section what device you're using required this workaround.

About

James Sanders is a Java programmer specializing in software as a service and thin client design, and virtualizing legacy programs for modern hardware. James is currently a student at Wichita State University in Kansas.

Editor's Picks