[wpkg-users] Excluding particular OS and architecture types from patch application

Lukasz Zalewski lukas at dcs.qmul.ac.uk
Wed Apr 28 16:15:40 CEST 2010

On 28/04/2010 13:59, Rainer Meier wrote:
> Hi Lukas,
Hi Rainer,
> On 28.04.2010 14:00, Lukasz Zalewski wrote:
>> I was wondering if it would be possible to add an option to package
>> definition which will apply a patch to only  particular OS version(s)
>> ignoring others, i.e. applying patches to XP only, or Windows 7 or
>> Vista, maybe with the architecture as well
>> e.g.
>> <applyToOS condition="equal"  target="Windows XP" architecture="x86"/>
>> <applyToOS condition="lessorequal"  target="Windows Vista"
>> architecture="AMD64" />
>> <applyToOS condition="greaterorequal"  target="Windows 7"/>
> A similar request has been pushed to the list recently. See
> <http://lists.wpkg.org/pipermail/wpkg-users/2010-January/006209.html>.
I quite like the above but i see two issues with it:
1. It would make the package seem to be installed and appear in local 
wpkg.xml file although the package does not exist on the target machine.
2. It would not be processed during the upgrade stage hence executing 
the upgrade cmd - in most cases it would result in failed install but 
could have more serious implications (do correct me if im wrong - 
increasing the revision does not perfomr checks it executes the upgrade 
section and then checks if the conditions are met)
> First of all I am still not convinced that this is the right way to go. It
> increases complexity of package trees and wpkg.js while some information might
> be hard to retrieve by WSH or not available at all. In addition it's pretty easy
> to create a package which does not apply any software to a system with an
> architecture not matching. Please see the post I linked above.
> The required sample scripts which can be re-used for almost any application can
> be found here
> <http://rapidshare.com/files/381162609/Microsoft_Internet_Explorer_8.zip.html>.
I think the beauty of wpkg is that it has a lot of built-in logic to 
perform various checks for various scnearios making upgrading and 
maintaning a large number of packages a breeze. Before moving to wpkg we 
had a in-house system that had most of the logic placed in the package 
scripts themselves - It took significant ammount of time to write and 
test those scripts - as you mentioned, the IE8 scripts in the link above 
could be used as a template but still will have to be modified to suit 
needs of a particular package, hence increasing the number of scripts 
that would have to be maintained (this is besides main .xml package 
definition) and having scripts-that-invoke-scripts dependency. It would 
be nice to avoid writing complex cmd scripts for logic that could be 
incorporated in the wpkg itself
> br,
> Rainer

This feature might not be for everyone but IMHO its a veryh very useful 
feature to have.

Kind Regards


P.S. In addition (sorry for being so cheeky) it would be nice to have 
arch="" in install, upgrade and remove <install arch="x86|AMD64">. I 
know one can use if %PROCESDSOR_ARCHITECTURE% == "x86" but it would 
remove some of the duplicated code and reduce possibility of a mistake 
(i did have a typo in the above statement and could not figure out why 
it fails)

More information about the wpkg-users mailing list