- Automated inf creation, using reported USB device name
- Automated catalog file creation and signing, using autogenerated certificate
- Automated driver files extraction, for both 32 and 64 bit platforms
- Automated driver installation, including UAC elevation where necessary
- Single library embedding all the required files
- Supports Windows platform from Windows 7 to Windows 10 (but NOT Windows 11)
Libwdi is NOT COMPATIBLE WITH WINDOWS 11 OR LATER.
This is due to Microsoft having removed Windows users' ability to indicate whether they want to trust a driver package in Windows 11, which libwdi needs in order to install a driver.
Currently, there is no known way to work around this, which means that libwdi is unlikely to ever be compatible with Windows 11.
If you are unhappy about this, feel free to tell Microsoft that keeping a user's ability to declare whether they want to trust a driver package, by adding its signing certificate into the Trusted Publishers store, is an important feature of earlier versions of Windows that should be retained in Windows 11.
- 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, WDK
See: https://github.com/pbatard/libwdi/wiki/Install