[wpkg-users] Read exitcode of previous install command?
Nils Thiele
it.service.kultur at uni-hamburg.de
Fri Dec 11 15:46:23 CET 2015
Thanks for the working solution... in the end i used i different wpkg
only method but this only works for iexplorer so will keep your solution
for future packages
On our Systems (i guess all windows 7) even if iexplorer is deactivated
using dism there is still a folder in Program Files with an exe called
ieinstal.exe, this holds the same version number as the iexplorer.exe if
it is activated.
So in my package i first have a install command using dism but with the
condition that ieinstal.exe has a version number greater than the one
from the installer.
After that i have the install command using the packaged exe installer,
again with a condition that checks if the client is windows 7 and that
either the iexplorer.exe version number is smaller than the one from the
packaged installer or iexplorer exe doesnt exist at all.
install part:
<install cmd='dism /NoRestart /online /enable-feature
/featurename:%ie-feature%'>
<condition>
<check type="file" condition="versiongreaterthan"
path="%PKG_DESTINATION%\ieinstal.exe" value="%exeversion%" />
</condition>
</install>
<install
cmd='"%SOFTWARE%\MS\iexplorer\IE11-Windows6.1-%arch%-%locale%.exe"
%switches%'>
<condition>
<check type="logical" condition="and">
<check type="logical" condition="or">
<check type="file" condition="versionsmallerthan"
path="%PKG_DESTINATION%\iexplore.exe" value="%exeversion%" />
<check type="logical" condition="not">
<check type="file" condition="exists"
path="%PKG_DESTINATION%\iexplore.exe"/>
</check>
</check>
<check type="host" condition="os"
value="professional.+6\.1\.\d{4}" />
</check>
</condition>
<exit code='0' />
<exit code='3010' />
<exit code='40008' /> <!-- Greater Version installed -->
<!-- exit codes from
https://msdn.microsoft.com/en-us/library/dn321441.aspx -->
</install>
Am 11.12.2015 um 13:14 schrieb Rainer Meier:
> Hi Nils,
>
> On 11.12.2015 12:43, Nils Thiele wrote:
>> The Solution would be to use dism here instead of the installer to
>> activate ie
>> again.
>> Is there a way to do this inside a wpkg package?
>>
>> For example run the installer, if exitcode is 40008 run this command?
>
> I would recommend simply to place a small cmd script on your share and
> call it from WPKG.
>
> Contents might be something like:
>
> @echo off
> start /wait "IE install" "~dp0IE11-Windows6.1-x64-en-us.exe" /quiet
> /closeprograms /norestart
>
> if not %ERRORLEVEL% == 40008 goto skip-dism-install
>
> :: install using dism
> dism ......
>
> :: install IE11
> start /wait "IE install" "~dp0IE11-Windows6.1-x64-en-us.exe" /quiet
> /closeprograms /norestart
>
> :skip-dism-install
>
> exit /b 0
>
>
>
> This is just an example and not tested code at all.
>
> br,
> Rainer
--
IT-Support - Fachbereich 09 Kulturgeschichte und Kulturkunde
Universität Hamburg
Flügelbau West, R. 204
Edmund-Siemers-Allee 1
D-20146 Hamburg
Tel.: +49-40-42838-3024
Email: it.service.kultur at uni-hamburg.de
More information about the wpkg-users
mailing list