[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 
installed.

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 
SUPPRESS_APP_LAUNCH=YES AgreeToLicense=Yes ENABLE_CACHE_FILES=No 
ALLUSERS=1" />

         <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>
         <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"/>
         </install>

         <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"' />
     </package>

'---code end

--
Stefan P.

Top-posting:
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