[wpkg-users] virtualbox deployment issue

Rainer Meier r.meier at wpkg.org
Mon Nov 28 11:39:47 CET 2011


Hi Anthony,

On 28.11.2011 10:54, Anthony Walters wrote:
> My issue is with the virtualbox installer, Virtualbox resets the network
> inetrfaces on install[1] and so wpkg.js stops executing immediately after
> virtualbox is installed. From the log below, Virtualbox returns a status of
> zero, so the virtualbox installer seems to run and finish ok, but wpkg.js does
> not continue executing.
>
> Does anyone have any suggestions on how i could get around this?

I think you are right regarding the issue that losing the network connectivity 
could lead to WPKG termination in your case. However there might be work-arounds 
for that.
The VirtualBox installer seems to cut the network connectivity twice during 
installation, but after that the connectivity should return and Windows shall 
also reconnect network resources. Honestly I did not yet try to deploy 
VirtualBox via WPKG, but I've created a silent installer which I use on some of 
my lab computers.

Here I usually extract the MSI installers from the exe installer using
<exe-installer> -x -p "<destination>"

Then I use "msiexec /i /qn <msi>" to deploy it.

Maybe you can wrap the installer with a cmd script and add some delay before it 
exits in order to allow Windows to restore network connections. Maybe it would 
even be sufficient to add some commands to the package:

<install cmd='%COMSPEC% /c ping -n 10 localhost' />


Or call a cmd script like the following:

@echo off

set VERIFY_HOST=172.16.22.63

echo Waiting for network connectivity to be back
setlocal enabledelayedexpansion
for /L %%C IN (1,1,90) DO (
   ping -n 2 %VERIFY_HOST% > NUL
   if !ERRORLEVEL! == 0 goto good_end
   ping -n 2 localhost > NUL
)

:bad_end
echo Installation finished but connectivity did not return.
exit /b 1

:good_end
echo Installation successful
exit /b 0



This will wait until either the host specified in VERIFY_HOST is reachable or 
timeout is reached.

You might have to copy the installer and verify script to local drive (e.g. 
%TEMP%) in order to make this work:

<package
         id="virtualbox"
         name="Virtualbox"
         revision="%version%"
         reboot="false"
         priority="10">
         <variable name="version" value="4.1.6" />
         <check type="uninstall" condition="exists" path="Oracle VM VirtualBox 
4.1.6" />

         <install cmd='%COMSPEC% /c copy /Y 
"%SOFTWARE%\virtualbox\VirtualBox-4.1.6-74713-Win.exe" "%TEMP%' />
         <install cmd='%COMSPEC% /c copy /Y 
"%SOFTWARE%\virtualbox\test-connection.cmd" "%TEMP%' />

	<install cmd='"%TEMP%\VirtualBox-4.1.6-74713-Win.exe" -s' />

	<install cmd='"%TEMP%\test-conection.cmd"' />
...


</package>


br,
Rainer



More information about the wpkg-users mailing list