Windows 10 - Client -d silent install fails

When using the -d silent install on the latest version of the client to install the drivers, the following error is displayed and the drivers do not get installed: "Error, a root-enumerated HCD device has been created but there are no drivers to bind!"

It appears to work if I then attempt to use a device and install the drivers via the GUI method.

So to be specific, it appears to be an issue on Windows 10, using the -d install option from the command line.

Tested this on a brand new Windows 10 install and found the same issue.

Any help would be appreciated.

Thanks.

#2

Just tested and it works fine for me. I think you are running the -d in a cmd prompt without administrator privileges?

#3

Unfortunately not, I am definitely running it with administrative privileges.

Is there any logging information I can provide to aid in finding a solution? Or something else I can try? Is there any required Windows 10 updates?

It is a fresh Windows 10 install running virtually through VMWare. As I said previously, I've found that VH runs perfectly fine on Windows 7/8.

#4

Alternatively, is there another way to install the drivers I can utilise? I'm trying to automate/script the installation process.

#5

Try

vhui64.exe -d -r c:\temp\log.txt

then take a look in log.txt it may have an error message in there as to why it wont install the driver

#6

Unfortunately, no error message. I get the same popup as mentioned before, referring to the enumerated-root thing, but nothing in the text file.

Additionally, I'm trying to extract the drivers to a folder to perform a manual install, but every single time, no matter which folder, I get told that access is denied.

I'm trying this: vhui64.exe -x -r c:\test\ and vhui64.exe -x -r c:\test and neither work. I also tried putting them in my local user file and get the same.

Do you mind trying this for yourself - Attempting to redirect the extraction of drivers. I tried on Win 10 and Win 7 with an admin command prompt and experienced similar behaviour.

#7

OK thats interesting, so you are trying to extract the drivers and its saying permission denied. Thats probably why the driver installation is failing as its blocked from extracting the drivers to %TEMP%\vh<random number>

the temp dir is always writeable unless you have a virus scanner that is blocking it? Do you have a virus program? Can you disable it temporarily to see if that fixes the problem

#8

No anti virus installed as this is currently just a local VM for testing.

I believe the driver extraction command works differently to how I expected. hui64.exe -x works fine and extracts to %TEMP%\vh. I believed however that I could use the -r to redirect the driver extraction to a specific folder, but apparently not - it simply redirects out text (logging) output to a file. When trying vhui64.exe -x -r c:\test\file.txt it worked fine (extracting drivers to %TEMP%\vh and logging to c:\test\file.txt), thereby it being differently behaved from what I expected.

Anyway, my problem still exists - when trying to install the drivers through the command line -d command, I get the error: "Error, a root-enumerated HCD device has been created but there are no drivers to bind!". When using the GUI way of installing (clicking "Use this device" and then following the wizard to install drivers) it works fine. The problem is that I want to automate the installation of drivers.

OS: Windows 10 Virtual Machine
Arch: 32Bit

Do you have another way of installing the drivers or any additional options I can try to debug this? What does it mean?

P.S. I know I've said I'm using vhui64 ,but I just used that as a placeholder. I'm using the correct architecture application.

#9

Looking at the logs, the error appears to fail when executing "vhenum.exe -3" command. It then logs success straight after that and exits. It definitely wasn't successful and the drivers did not install.

#10

This is the steps the client takes when it automatically installs the drivers when it needs to, you can do the same thing manually:

1. vhui64.exe -x
2. cd to the directory it says
3. dpinsts.exe
4. vhenum.exe -3
5. Have a look in Device manager , do you see "VirtualHere eXtensible Host Controller" listed under USB Devices?

If its still failing send me the c:\windows\inf\setupapi.dev.log

#11

Okay, I think I've narrowed down the issue.
The problem lies when installing the certificate, when executing dpinst.exe via cmd prompt. It doesn't seem the certificate is being installed.

I managed to get it to work by doing the following:
1. Installing the drivers/certificate using the GUI.
2. Using certmgr.msc to locate and export the Virtualhere certificate in "Trusted Publisher" and save it locally, e.g. mycert.cer.
3. Revert the state of my VM to a pre-virtualhere state.
4. Install the certificate using certutil to the Trusted Publisher store.. (certutil -addstore "Trusted Publisher" mycert.cer).
5. Run vhui64.exe -d
6. Success!!

Therefore, the problem currently lies with with -d when installing a fresh certificate. I've experienced this issue on: Windows 10, Vista and I believe XP. It works fine on Windows 8 and Windows 7.

It makes perfect sense that your installation worked, as you no doubt have the certificate installed. I'd like to ask you (On a Windows 10 box) to remove the certificates using certmgr.msc and then use vhui64.exe -y and then try a vhui64 -d. You should then experience the error in question.

If you could address this problem asap, that would be great. I am potentially looking at using this software on a bigger scale, but without the scripted installation, it's not really feasible.

Thanks again!!

#12

Okay, I did a little more digging.
I was hoping that I could take any generic exported certificate for this application and use it on any operating system/machine - this does not work. I'm not very experienced when it comes to certificates. I found you have to export the certificate for the specific machine following the steps above and then it can be reused for any subsequent installations. It's all very hacky and very much prevents any automation taking place.

I hope this helps with debugging this issue. I'm almost certain you will be able to recreate it on your side.

Thanks

#13

Ok yes thanks for the detailed info, i see the problem, the client is pre-installing the wrong (sha2) cert into the TrustedPublishers, this needs to be the (sha1) certificate instead

Im away for a week so i cant work on this until next week but for a workaround you can do this

1. Install Virtualhere client and driver by using something via the client.
2. Open certmgr.msc and go to Trusted Publishers and then export the sha1 based virtualhere certificate by right clicking All Tasks -> Export and export as DER encoded binary.
3. Now to automate the installation you shoud now be able to run as administrator

cerutil -addstore -f "TrustedPublisher" exported_sha1_cert.cer

4. Now run vhui64.exe -d to install the drivers silently.

This used to work fine so somewhere a bug must have crept in recently...

#14

I'm glad you've managed to see the problem.

The issue with that workaround, it doesn't seem to work for multiple operating systems. As I posted in my previous message, it seems the certificate exported only then addresses the -d installation issue for that particular machine.

I'll break this down:
If I export the SHA1 certificate on a Windows 10 box and then automate installation on this box by firstly installing that certificate and then using the -d command, it works.

However, if I export the SHA1 certificate on a Windows 10 box and then automate the installation on a Windows Vista box by firstly installing the certificate, I get the same error. The certificate installs, but doesn't "fit all" machines to address the binding error.

Therefore I'm wondering if there is a "one size fits all" solution in terms of the certificate or shall I just wait for your fix? As I said, I don't understand much about the certificate side of things.

Thanks.

#15

Windows Vista not supported nor is xp for this reason among others, Microsoft no longer supports these os's you must use win 7 win 2008r2 or later, it will not work with Vista etc