[wpkg-users] wpkg's skipping behavior

Rainer Meier r.meier at wpkg.org
Mon Jul 6 18:33:34 CEST 2009


Hi Ben,

Ben Hartmann wrote:
> Hi there,
> 
> I don't really understand the way wpkg decides to skip (or bypass) an
> installation.
> 
> I've got the following scenario:
> I've rewritten the PDFCreator.xml to get rid of the old msi package and
> use the newest install exe. Now I want to roll this out to our office
> machines. There is only one little problem... Some of the machines are
> already manual updated to the newest version so I want wpkg to detect
> this and skip the upgrade process. Sadly, I wasn't able to get this
> working in our testing environment.
> 
> Is there a way to solve this?


As soon as you increment the package revision attribute WPKG will run the
upgrade commands. If you do not specify any upgrade commands nothing will be
executed - however this will prevent machines running the old version to upgrade
properly.

So the best way to execute your upgrade is to make sure your upgrade commands
work properly no matter if the old version is there or if the new version is
already installed. Most installers will anyway simply terminate with a clearly
defined code if the software is already installed. So it does not really matter
how often you run the setup process.

If PDFCreator is behaving differently you might need to write some scripts which
are handling each case properly like

- detect currently installed version
  - if new version is already there exit with code 0 (success)
  - if old version is installed run some install commands and then exit

As I wrote usually you can run the installer in both cases so the check is
superfluous.



WPKG skips the installation/upgrade only in a very limited amount of cases:
- Package has been processes (installed/upgraded) already during this WPKG
  session
- If execute attribute is not "always" AND the package has not been installed
  before (first-time-installation) and the checks already yield true on the
  system.
  e.g. if the software is already installed on the system before WPKT takes
  "control" on the software package.
- The package with execute=once attribute has been installed already once
  AND no revision change has been done
  (no matter if it is still installed correctly)
- The package without execute=once attribute which is installed properly
  (verified by checks) and no revision change has been done.


br,
Rainer



More information about the wpkg-users mailing list