[wpkg-users] trouble with check conditions

Stefan Pendl stefan.pendl.71 at gmail.com
Sun Feb 24 12:40:45 CET 2013

Am 22.02.2013 16:01, schrieb David Petterson:
> On 2013-02-21 20:35, Rob Bos wrote:
>> I'm trying to write a package that will install a patch if necessary,
>> but install the base version if it doesn't exist, but I'm running into
>> problems with the evaluation of check conditions. Specifically, Adobe
>> Acrobat, which requires that you first install up to the most recent
>> quarterly release, and then apply out-of-cycle patches on top of that.
>> So I can go none->10.1.5->10.1.6, or 10.1.5->10.1.6.
> I use a batch script that tries to install the latest patch.
> If errorlevel 0, exit script.
> If not errorlevel 0, uninstall all found acrobat readers, install the
> base version and then patch 10.1.5 and then 10.1.6.

You can just run all the MSP packages again, since the Acrobat Reader 
installation is really smart and doesn't install any MSP that is already 

Find my package below.

'---code start (watch for line wraps)

     <package id="AdobeReader10" name="Adobe Reader 10" 
revision="%PKG_VER%" reboot="false" priority="10">
         <variable name="PKG_NAME"      value="AdobeReader10" />
         <variable name="PKG_VER"       value="10.1.6" />
         <variable name="PKG_VER_MAIN"  value="1010" />
         <variable name="PKG_VER_START" value="1011" />
         <variable name="PKG_VER_END"   value="1016" />
         <variable name="PKG_LNG"       value="en_US"/>
         <variable name="PKG_LNG"       value="de_DE" 
lcid="407,c07,1407,1007,807" />
         <variable name="PKG_ATT"       value="EULA_ACCEPT=YES 

         <check type="uninstall" condition="versiongreaterorequal" 
path="Adobe Reader .+" value="%PKG_VER%" />

         <install cmd='MsiExec.exe /norestart /passive /log 
"%TMP%\%PKG_NAME%.log" /i "%SOFTWARE%\Adobe 
Reader\AdbeRdr%PKG_VER_MAIN%_%PKG_LNG%.msi" %PKG_ATT% ' >
             <exit code="3010" reboot="false"/>
         <install cmd='%ComSpec% /c for /l %V in 
(%PKG_VER_START%,1,%PKG_VER_END%) do @for %F in ( AdbeRdrUpd%V 
AdbeRdrSecUpd%V) do if exist "%SOFTWARE%\Adobe Reader\%F.msp" 
MsiExec.exe /norestart /passive /log "%TMP%\%PKG_NAME%_%V.log" /update 
"%SOFTWARE%\Adobe Reader\%F.msp" ' >
             <exit code="3010" reboot="false"/>

         <upgrade include="install" />

         <remove cmd='MsiExec.exe /norestart /passive /log 
"%TMP%\%PKG_NAME%.log" /x "%SOFTWARE%\Adobe 
Reader\AdbeRdr%PKG_VER_MAIN%_%PKG_LNG%.msi"' />

'---code end

Stefan P.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

More information about the wpkg-users mailing list