Silent windows client (driver) installation

15 posts / 0 new
Last post
forenbenutzer
Silent windows client (driver) installation

After messing around with the client exe file and extracting the included dpinst, I got stuck.
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.

Some ideas anyone? Maybe some "silent installation" switches have to be set?

Thank you.

Michael
Need to run vhenum also

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)

Michael
OK this is implemented in 2.0.1

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.

forenbenutzer
Good morning and thank you

Good morning and thank you very much.

I still have some issues:

"vhdrivers.exe /Q" still wants to interact with the user interface.

http://oi41.tinypic.com/2aj1ap2.jpg

Michael
Ok, i got the wrong program

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.85).aspx

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.

forenbenutzer
This is, what I get so far:

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?

Michael
Does your Control Panel ->

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?

forenbenutzer
Sorry, forgot to mention that

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

Michael
OK i see what is happening,

OK i see what is happening, basically you need to trust the publisher before the driver is installed. Its a bit convoluted and i hope you can automate this, here are the instructions http://www.richud.com/wiki/Windows_7_Broken_Trusted_Publisher_Certificat...

Michael
OK i figured out how to

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

forenbenutzer
Thank you so much, now it

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. :)

Michael
Yeah i was thinking of that

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

forenbenutzer
Worked fine, distributed it

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

Michael
Great! Thanks for the

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

Michael
OK this is in 2.0.3. In the

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.

Log in or register to post comments