[wpkg-users] Suggestion: upgrades from specific revisions
Malte Starostik
malte at malte.homeip.net
Mon Oct 19 13:51:56 CEST 2009
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 at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/wpkg-users
>
More information about the wpkg-users
mailing list