0
votes

Description of the problem:

  1. Insert USB-HID Device (Barcode scanner) on a clean Windows XP Machine.
  2. After windows loads the USB-HID Driver.
  3. Windows XP pops a dialog box asking the user to reboot the machine. (This is the problem)

Scenario:

  1. Remotely Deploy a software package to talk to these devices. (no hardware at this point)
  2. Remotely reboot machines.
  3. Hardware is added to each machine. (no reboot)

Investigation:

  1. Windows adds a control class referencing the "usb.inf" file.
  2. Windows adds a device class referencing the control class.
  3. Windows adds a enumerates the device referencing the device and HIDClass.

I believe what needs to be done is to "Pre-load" or "Pre-install" the driver, but we do not provide the INF files (provided via usb.inf).

Our other drivers utilize dpinst to handle installation on a different driver interface (btw this procedure does work for the desired behavior), but we are providing those INF / CAT / SYS files.


Is it possible to leverage SetupCopyOEMInf to perform this function?

What other avenues could be pursued to pre-load/pre-install this driver?

1
This is strange - you really shouldn't have to reboot after the installation of a USB HID class driver. Have you checked the setupapi.dev.log to see what is happening during installation of your device?Preston

1 Answers

1
votes

As it turns out, the problem was connecting to a device before it had enumerated its sub devices, locking the device tree, which caused the 'please reboot windows' dialog to appear when the last device enumerated.