Hi Ralf, I'm using a "Meta"-package that pulls in (via dependencies) the base package plus patches where each of those package has file version checks on randomly picked files that are changed by the respective patches. This way, if the base package is missing, it will be installed. Then the next check finds the version to be less than the one included in the first patch, so it will install the patch package, too. Same for the following patches. If a client already has the base package and first patch installed, WPKG will shortcut to install from the second patch onward. There's one important workaround I use: the patch packages don't depend on the base package as they theoretically should because you can't uninstall individual patches. So everything is pulled in by the meta-package which is then included in the profile and assigned to the hosts. Works great for me with standard WPKG features. It goes like this (the 9.1.2 patch includes 9.1.1 and 9.2 is to be done):
<package id='adobe-reader' name='Adobe Reader: Meta' revision='20090812' execute='once'> <depends package-id='adobe-reader-base'/> <depends package-id='adobe-reader-patch-912'/> <depends package-id='adobe-reader-patch-913'/> </package> <package id='adobe-reader-base' name='Adobe Reader' revision='9.1'> <check type='file' condition='versiongreaterorequal' path='%ProgramFiles%\Adobe\Reader 9.0\Reader\AcroRd32.dll' value='9.1.0.163'/> <install cmd='msiexec /i %SOFTWARE%\adobe- reader\setup\AdbeRdr910_de_DE.msi TRANSFORMS=%SOFTWARE%\adobe- reader\custom\settings.mst /qn /norestart'> <exit code='3010' reboot='postponed'/> </install> <upgrade cmd='msiexec /i %SOFTWARE%\adobe- reader\setup\AdbeRdr910_de_DE.msi TRANSFORMS=%SOFTWARE%\adobe- reader\custom\settings.mst /qn /norestart'> <exit code='3010' reboot='postponed'/> </upgrade> <remove cmd='msiexec /x {AC76BA86-7AD7-1031-7B44-A91000000001} /qn /norestart'> <exit code='3010' reboot='postponed'/> </remove> </package> <package id='adobe-reader-patch-912' name='Adobe Reader: Sicherheitsupdate 9.1.2'> <check type='file' condition='versiongreaterorequal' path='%ProgramFiles%\Adobe\Reader 9.0\Reader\AcroRd32.dll' value='9.1.2.82'/> <install cmd='msiexec /update %SOFTWARE%\adobe- reader\update\AdbeRdrUpd912_all_incr.msp /qn /norestart'> <exit code='3010' reboot='postponed'/> </install> </package> <package id='adobe-reader-patch-913' name='Adobe Reader: Sicherheitsupdate 9.1.3'> <check type='file' condition='versiongreaterorequal' path='%ProgramFiles%\Adobe\Reader 9.0\Reader\authplay.dll' value='9.0.246.0'/> <install cmd='msiexec /update %SOFTWARE%\adobe- reader\update\AdbeRdrUpd913_all_incr.msp /qn /norestart'> <exit code='3010' reboot='postponed'/> </install> </package> Regards, Malte Am Montag, 19. Oktober 2009 13:16:46 schrieb Ralf Lederle: > Hi, > > I think it would be a good thing, if you could define different upgrade > commands for upgrades from specific revisions. > > For example: if you actually want to upgrade Adobe Acrobat 9, you first > need to uninstall it, install it again and then apply 4 patches, which > takes quite a lot of time. On machines, where the actual revision is > installed, applying only one new patch would be sufficient. > > I have something in mind like this: > > <upgrade fromrevisionlessthan="5" cmd="..."/> > <upgrade fromrevision="5" cmd="..."/> > <upgrade fromrevisiongreaterorequalthan="6" fromrevisionlessorequalthan="8" > cmd="..."/> > <upgrade fromrevisiongreaterthan="8" cmd="..."/> > > What do you think about this? > > > regards > Ralf > > ------------------------------------------------------------------------- > wpkg-users mailing list archives >> > http://lists.wpkg.org/pipermail/wpkg-users/ > _______________________________________________ > wpkg-users mailing list > wpkg-users@lists.wpkg.org > http://lists.wpkg.org/mailman/listinfo/wpkg-users > ------------------------------------------------------------------------- wpkg-users mailing list archives >> http://lists.wpkg.org/pipermail/wpkg-users/ _______________________________________________ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users