Chapter 11. Driver Installation — Advanced Issues

11.1. Windows INF Files

Device information (INF) files are text files that provide information used by the Windows Plug-and-Play mechanism to install software that supports a given hardware device. INF files are required for hardware that identifies itself, such as USB and PCI. An INF file includes all necessary information about a device and the files to be installed. When hardware manufacturers introduce new products, they must create INF files to explicitly define the resources and files required for each class of device.

In some cases, the INF file for your specific device is supplied by the operating system. In other cases, you will need to create an INF file for your device. WinDriver's DriverWizard can generate a specific INF file for your device. The INF file is used to notify the operating system that WinDriver now handles the selected device.

For USB devices, you will not be able to access the device with WinDriver (either from DriverWizard or from the code) without first registering the device to work with windrvr1260.sys. This is done by installing an INF file for the device. DriverWizard will offer to automatically generate the INF file for your device.

You can use DriverWizard to generate the INF file on the development machine — as explained in Section 5.2 of the manual — and then install the INF file on any machine to which you distribute the driver, as explained in the following sections.

11.1.1. Why Should I Create an INF File?

  • To bind the WinDriver kernel module to a specific USB device.
  • To override the existing driver (if any).
  • To enable WinDriver applications and DriverWizard to access a USB device.

11.1.2. How Do I Install an INF File When No Driver Exists?

[Note]
You must have administrative privileges in order to install an INF file.

You can use the wdreg utility with the install command to automatically install the INF file:
wdreg -inf <path to the INF file> install
(For more information, refer to Section 9.2.1 of the manual.)

On the development PC, you can have the INF file automatically installed when selecting to generate the INF file with DriverWizard, by checking the Automatically Install the INF file option in the DriverWizard's INF generation window (refer to Section 5.2).

It is also possible to install the INF file manually, using either of the following methods:

  • Windows Found New Hardware Wizard: This wizard is activated when the device is plugged in or, if the device was already connected, when scanning for hardware changes from the Device Manager.
  • Windows Add/Remove Hardware Wizard: Right-click the mouse on My Computer, select Properties, choose the Hardware tab and click on Hardware Wizard....
  • Windows Upgrade Device Driver Wizard: Locate the device in the Device Manager devices list and select the Update Driver... option from the right-click mouse menu or from the Device Manager's Action menu.

In all the manual installation methods above you will need to point Windows to the location of the relevant INF file during the installation.
We recommend using the wdreg utility to install the INF file automatically, instead of installing it manually.

[Note]
If the installation fails with an ERROR_FILE_NOT_FOUND error, inspect the Windows registry to see if the RunOnce key exists in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. This registry key is required by Windows Plug-and-Play in order to properly install drivers using INF files. If the RunOnce key is missing, create it; then try installing the INF file again.

11.1.3. How Do I Replace an Existing Driver Using the INF File?

[Note]
You must have administrative privileges in order to replace a driver.
  1. Install your INF file.

    You can use the wdreg utility with the install command to automatically install the INF file:
    wdreg -inf <path to INF file> install
    (For more information, refer to Section 9.2.1 of the manual.)

    On the development PC, you can have the INF file automatically installed when selecting to generate the INF file with DriverWizard, by checking the Automatically Install the INF file option in the DriverWizard's INF generation window (refer to Section 5.2).

    It is also possible to install the INF file manually, using either of the following methods:

    • Windows Found New Hardware Wizard: This wizard is activated when the device is plugged in or, if the device was already connected, when scanning for hardware changes from the Device Manager.
    • Windows Add/Remove Hardware Wizard: Right-click on My Computer, select Properties, choose the Hardware tab and click on Hardware Wizard....
    • Windows Upgrade Device Driver Wizard: Locate the device in the Device Manager devices list and select the Update Driver... option from the right-click mouse menu or from the Device Manager's Action menu.

    In the manual installation methods above you will need to point Windows to the location of the relevant INF file during the installation. If the installation wizard offers to install an INF file other than the one you have generated, select Install one of the other drivers and choose your specific INF file from the list.

    We recommend using the wdreg utility to install the INF file automatically, instead of installing it manually.

[Note]
If the installation fails with an ERROR_FILE_NOT_FOUND error, inspect the Windows registry to see if the RunOnce key exists in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. This registry key is required by Windows Plug-and-Play in order to properly install drivers using INF files. If the RunOnce key is missing, create it; then try installing the INF file again.