Pocket AVR Programmer not found in Arduino IDE

I have a Sparkfun pocket AVR Programmer. Usually, I use this from Linux with command-line avrdude, and it works fine.

However, now I need to use it from a Windows 8.1 / x64 machine, from the Arduino IDE, and I can’t get it recognized.

I downloaded and ran the zadig.exe installer (from an administrator command line window.) When I plugged in the USBtinyISP, it detected the VID/PID, and I selected “install driver.”

It seems to install fine, and Windows disconnects and then reconnects the device. However, when I choose “Upload using Programmer” in the Arduino IDE, I still get the error that it can’t find the USBtinyISP:

avrdude: Error: Could not find USBtiny device (0x1781/0xc9f)

FWIW, I’m using arduino-1.06 IDE, because the Arduino products I’m working with don’t support the 1.5 IDE.

I’m sure this is some bullsh!t Windows USB driver signing blech going on – but zadig is supposed to work for Windows 8, right?

How can I make this product actually work with my computer?

After trying a number of things, I found the solution. It turns out, the zadig.exe installer by default installs the WinUSB driver (which is the native Windows 8 way of talking to USB.)

However, avrdude wants to use libusb-win32, which I can choose to install instead. Uninstalling the driver for the programmer, and re-installing the driver as libusb-win32, solved the problem and Arduino IDE / avrdude now finds the device.

I couldn’t really find this documented anywhere obvious – the way I stumbled across it was in a mention about using avrdude on Windows on some other website, where in passing it said “avrdude uses libusb.”