With a little experimentation, it seems that doing something like <variable name="PATCHLIST" value="%LOCALCACHE%\%PKG_PATH%\AdbeRdrUpd1015.msp;%LOCALCACHE%\%PKG_PATH%\AdbeRdrSecUpd1016.msp" /> <install cmd='msiexec /qb! /i "%LOCALCACHE%\%PKG_PATH%\AcroRead.msi" PATCH="%PATCHLIST%" TRANSFORMS="%LOCALCACHE%\%PKG_PATH%\AdbeRdr1010_en_US.mst" /log %LOG_PATCH% ALLUSERS=1 EULA_ACCEPT=YES /norestart'> also seems to only install the necessary patches without doing a full reinstall. No need to loop. Adobe reader/acrobat patches go base -> latest quarterly -> OOC patches. Right now, that's 10.1, 10.1.5, 10.1.6. On 2/24/2013 3:40 AM, Stefan Pendl wrote: > 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? > ------------------------------------------------------------------------- > wpkg-users mailing list archives >> > http://lists.wpkg.org/pipermail/wpkg-users/ > _______________________________________________ > wpkg-users mailing list > wpkg-users at lists.wpkg.org > http://lists.wpkg.org/mailman/listinfo/wpkg-users |