Silent windows client (driver) installation

<p>After messing around with the client exe file and extracting the included dpinst, I got stuck.<br />
My idea was to distribute the VirtualHere client (drivers) with WPKG. The execution of the client application (tray icon) works, but as soon as the user wants to connect to a certain USB device, administrator privileges are requested.
</p>
<p>Some ideas anyone? Maybe some "silent installation" switches have to be set?
</p>
<p>Thank you.</p>

#2

Hi Forenbenutzer, The reason it still wants administrator privileges even after the drivers have been installed is that there is two steps to installing the driver. Running the driver installation vhdrivers only installs the drivers. It does not create the virtual device(s) for the drivers to bind to inside windows. There is a separate program called vhenum which is also extracted and run during installation that will create this virtualhere device inside the windows kernel for the drivers to bind to. Since you are not running this file there is no device. The client is setup to detect a missing virutalhere device and will then run vhenum and hence require administrator privileges. If you run vhenum after you run vhdrivers it should work.

By-the-way i will add an argument to the VirtualHere client to just extract the drivers and enumeration executables to a specific directory rather than having to interrupt the installation and search for the files in a random temp directory like currently in order to access these files.

Keep in mind that although you will be able to install the drivers separately to the client, sometimes i need to change the drivers and this would require an update your WPS installation with newer files. (The VirtualHere client will refuse to work with older drivers, and attempt an upgrade automatically)

#3

OK this is implemented in 2.0.1 with an argument extract. Just take all the files in the directory extracted to and import these into your automated remote installer...

See configuration info here

Now when you start virtualhere it will not require any admin access because the drivers were already installed via your installer.

#5

Ok, i got the wrong program, it is dpinsts (my signed version of dpinst)

dpinst is a microsoft program that installs drivers that has a /Q argument (use dpinsts.exe /? to seem them all)

I tried running dpinsts /q and it installed the virtualhere drivers silently. You can listen for the return code here http://msdn.microsoft.com/en-us/library/windows/hardware/ff544790(v=vs…

Dpinst seemed to return immediately so im not sure if/how you wait for it to install, anyway run vhenum.exe after dpinst and it will register a device for the drivers to bind to.

#6

This is, what I get so far:

INFO: Option set: dumping log info to console.
INFO: Current working directory: '\\server\cd\Software\virtualhere\64'
INFO: Running on path '\\server\cd\Software\virtualhere\64'
INFO: No valid 'dpinst.xml' file provided.
INFO: Install option set: Running in quiet mode. Suppressing Wizard and OS popups.
INFO: Found driver package: '\\server\cd\Software\virtualhere\64\vhhcd.inf'.
INFO: Found driver package: '\\server\cd\Software\virtualhere\64\vhhub.inf'.
INFO: Preinstalling '\\server\cd\software\virtualhere\64\vhhcd.inf' ...
INFO: ENTER: DriverPackagePreinstallW
INFO: RETURN: DriverPackagePreinstallW (0xE0000242)
INFO: Preinstalling '\\server\cd\software\virtualhere\64\vhhub.inf' ...
INFO: ENTER: DriverPackagePreinstallW
INFO: RETURN: DriverPackagePreinstallW (0xE0000242)
INFO: Returning with code 0x80020000

0x80 --> "If a driver package could not be installed, the 0x80 bit is set. If a computer restart is necessary, the 0x40 bit is set. Otherwise, no bits are set."

No valid 'dpinst.xml' file provided. --> Is this causing the error?

#7

Does your Control Panel -> Programs and Features have two items in there for virtualhere ? (i.e the two drivers) perhaps it did install correctly and you can ignore that return code?

#8

Sorry, forgot to mention that. Otherwise I would not have bothered you. :)

#10

OK i figured out how to automate it:

Extract the drivers from the virtualhere client by typing vhui64.exe --extract=%TEMP%\vhdrivers

1. cd %TEMP%\vhdrivers
2. Download the VirtualHere certificate from here and save to that directory
3. Download the startssl CA from here

Do this as Administrator

4. certutil -addstore Root ca.crt
5. certutil –addstore –f “TrustedPublisher” virtualhere.cer
6. vhenum.exe
7. dpinsts.exe /q /c

#11

Thank you so much, now it works on my local PC. I will do some tests in the network at the weekend.
Just as an idea: Why not integrate this process into the distribution binary?

"vhui64.exe /Q" as administrator, for example. :)

#12

Yeah i was thinking of that too, i was just waiting to see it works for you...ill put it in 2.0.3

#13

Worked fine, distributed it all over the domain (20 computers).

#14

Great! Thanks for the feedback, im working on putting it into 2.0.3...

#15

OK this is in 2.0.3. In the future, just run vhui32 or vhui64 with the -d argument and that will automatically perform all those actions listed above AND log the installation status to the console so you can check if it installled ok.