BUG: Mouse or Keyboard Driver Not Updated if Driver Version is Missing from .inf File (816659)



The information in this article applies to:

  • Microsoft Windows XP Driver Development Kit (DDK)
  • Microsoft Windows 2000 Driver Development Kit (DDK)

SYMPTOMS

A Mouse or Keyboard driver will not update programmatically. Although you can update the driver by means of Device Manager and the Add Hardware Wizard, the DDK DevCon tool or a setup application do not update the driver.

If you collect a verbose Setupapi.log file, it will have entries such as the following:

#V166 Device install function:
		  DIF_SELECTBESTCOMPATDRV.
[...]
#I319 Driver .... skipped (DNF_BAD_DRIVER).
#W059 Selecting best compatible driver failed. Error 0xe0000228: There are no compatible drivers for this device.
#E154 Class installer failed. Error 0xe0000228: There are no compatible drivers for this device.

CAUSE

This problem occurs because a version number parameter is missing from the value for the DriverVer directive in the .inf file of the input device.

RESOLUTION

To avoid this problem, add a version number to the DriverVer directive in the driver's .inf file. Generally, the DriverVer= directive is in either or both of your "Version" or "DDInstall" sections:
[Version]
DriverVer=mm/dd/yyyy,w.x.y.z
The w.x.y.z value is the version number. The version number is generally an optional parameter, but you must include it for Mouse and Keyboard drivers.

For more information about the .inf DriverVer directive, see the documentation in the Windows DDK.

WORKAROUND

You can force the driver to be updated by using the Update Driver feature in Device Manager. To update the driver, follow these steps:
  1. Open Device Manager: right-click My Computer, click Properties. On the Hardware tab, click Device Manager.
  2. Locate the device that you want to update the driver for.
  3. Right-click the device, and then click Update Driver. The Add Hardware Wizard starts.
  4. On the first page of the wizard, select the Install from list or specific location option, and then click Next.
  5. Select Don't Search. I will choose the driver to install, and then click Next.
  6. Click Have Disk, browse for the location of the driver, and then click OK.

STATUS

Microsoft has confirmed that this is a problem in the Windows XP and Windows 2000 operating systems. This problem was corrected in Windows Server 2003 and later operating systems.

Modification Type:MinorLast Reviewed:7/21/2004
Keywords:kbDDK kbHID kbprb KB816659 kbAudOEM