OK, let me add my two cents.

If you don't care about XP or earlier, have control over the device's 
firmware, and can live with WinUSB as a driver, then WCID [1] is the way 
to go (which is what Xiaofan alluded to with the "use Microsoft OS 
Descriptor", expect he forgot that the automated drive installation has 
ceased to be the realm of Windows 8 only since MS pushed a Vista and 
Windows 7 update in May 2012).

Seriously, in Windows 8, plug a WCID device and it'll just works with 
libusbx. No driver installation, no delay, no nothing - as close to 
instant access as OS-X and Linux have been providing for years.

In Windows 7 and Vista, it's almost the same, except for the 
instantaneous part, at least the first time around. The reason is that, 
unlike what is the case for Windows 8, the OS will need to download some 
parts from the Windows Update server, but this is a one of operation, 
and most people are expected to have internet access to be able to do 
so. The important part there again is that the OS will do the driver 
installation automatically, and the user doesn't have to do a thing.

So I would say, if you choose to disregard the soon to be obsoleted 
Windows XP [2], and have control over the device's firmware, you should 
seriously look into WCID, as it'll let you use libusbx across Linux, 
OS-X and Windows, and with the same level of driver installation 
involvement from your users.


Now, if you have control over the firmware but care about XP , then the 
second best choice will probably be to bastardize HID to suit your 
needs. Of course if you want cross platform access that includes OS-X 
support, since libusbx doesn't have an HID backend on OS-X, you'll 
probably have to pick up another library (or, if you want to look into 
bringing an HID backend to libusbx/OS-X, we'll be happy to hear from you).


Finally, if you have no control over the firmware, then you'll have no 
choice but to involve your users with the driver installation process, 
at least on Windows, though that may also give you greater control with 
regards to the driver. Plus there exists a tool that can help your users 
there [3], [4] through a simple (usually) 2 click process (allow 
elevation, click "Install Driver") that also avoid having to deal with 
the whole signed driver circus.


Hopefully, after you have a closer look at each one of them, you will 
find the option that's right for you.

Regards,

/Pete

[1] https://github.com/pbatard/libwdi/wiki/WCID-Devices
[2] http://windows.microsoft.com/en-us/windows/products/lifecycle#section_2
[3] https://sourceforge.net/projects/libwdi/files/zadig/
[4] https://github.com/pbatard/libwdi/wiki/Zadig

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to