Fake USB connectivity for a virtual machine?

I am trying to install the network software for a HP printer inside a virtual machine that's running Windows XP Professional that has no USB connectivity - it doesn't even have USB drivers present. This is OK, because I'm trying to connect to the printer over the network.

However, the HP installation agent is refusing to install the required software because USB is not present (even though I've alread told it that I'm trying to connect over the network. Sigh).

So, are there any "fake" USB drivers, or a USB emulator, that I can install that will make it look like I have USB connectivity, just so I can get past this step in the setup procedure?

The OS is Windows XP Professional, and the virtualisation tool is Hyper-V (hence the lack of USB passthrough).


Solution 1:

Try to install Windows and the HP printer software in some other virtualization software that has USB passthrough support, like VirtualBox or VMware, and then import the disk image into Hyper-V.

Due to differences in the emulated hardware you might need to install some additional drivers before the import and reactivate Windows again after.

Also, the USB/IP project's Windows client driver might do what you need.

Solution 2:

What I ended up doing was this:

  1. Installing a 30-day trial of VMWare Workstation (although the free VMWare Player can now create virtual machines; back then it couldn't; that's probably a better solution). VMWare Workstation has USB pass-through which is why I chose it.

  2. Installed Windows XP and the HP Printer software in the VMWare virtual machine

  3. Used System Center Virtual Machine Manager to do a Virtual-to-Virtual (well, it thought it was a P2V, but the end effect was the same) of the VMWare machine into our Hyper-V cluster

It's been working fine for the last 12 months (almost exactly 12 months at the time of writing, actually).