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.
Preload USB.inf and with VID/PID for hardware product (USB-HID) - Windows XP
-
03-10-2022 - |
Question
Description of the problem:
- Insert USB-HID Device (Barcode scanner) on a clean Windows XP Machine.
- After windows loads the USB-HID Driver.
- Windows XP pops a dialog box asking the user to reboot the machine. (This is the problem)
Scenario:
- Remotely Deploy a software package to talk to these devices. (no hardware at this point)
- Remotely reboot machines.
- Hardware is added to each machine. (no reboot)
Investigation:
- Windows adds a control class referencing the "usb.inf" file.
- Windows adds a device class referencing the control class.
- 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?
Solution
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow