[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