libwdi: A Windows Driver Installation library for USB devices
Main features
- Automated inf creation, using reported USB device name
- Automated catalog file creation and signing, using autogenerated certificate
- Automated driver files extraction, for x86_32 x86_64 and ARM64 platforms
- Automated driver installation, including UAC elevation where necessary
- Single library embedding all the required files
- Supports Windows platform from Windows 7 to Windows 11
Additional features
- Embedding of WinUSB, libusb0.sys or libusbK.sys, USB Serial (CDC) or your own USB drivers (eg. WHQL)
- Full locale support with UTF-8 API strings and UTF-16 autogenerated inf files
- Resolution of USB Vendor IDs, based on the data maintained by Stephen J. Gowdy at http://www.linux-usb.org/usb.ids
- Fully Open Source (LGPL v3), with multiple sample applications
- Supports MinGW32, MinGW-w64, Visual Studio
Installation and Compilation
See: https://github.com/pbatard/libwdi/wiki/Install
API usage
See: https://github.com/pbatard/libwdi/wiki/Usage