[wpkg-users] Can WPKG install packages while user is at desktop
Rainer Meier
r.meier at wpkg.org
Wed Mar 26 21:35:36 CET 2008
Hi Adam,
> My understanding is that even with execute="once", when the revision
> is incremented, it will rerun the check/install/upgrade. am I
> mistaken?
What do you mean by "it will return".
Let me explain the 1.0+ algorithm regarding this:
If execute="once" is set:
- if the package is not installed (not in local wpkg.xml)
- execute checks to verify if software is actually already there
- if yes, add it to wpkg.xml
- if no, install it and add it to wpkg.xml
- if package is installed (entry in wpkg.xml already exists)
- check revision
- if new revision is available => upgrade and update wpkg.xml
- if revision on server is equal or lower => skip, leaving entry
If execute="once" is not set:
- if package is not installed (not in wpkg.xml)
- execute checks to verify if software is actually already there
- if yes, add it to wpkg.xml
- if no, install it and add it to wpkg.xml
- if package is installed (netry in wpkg.xml already exists)
- check version
- if new revision is available
- upgrade
- add to wpkg.xml
- if revision on server is equal or lower
- execute checks to verify software is installed
- if installed, skip
- if checks fail, re-install
So proper checks will on one side speed up installation of a package in
case the software is already there (it will not be re-installed if it is
already installed). And on the other side it will make sure that the
application is really installed on each WPKG execution in case
execute="once" is not set.
So again. execute="once" is used to tell WPKG that a package is a
one-shot installation. Kind of "fire-and-forget". No matter if the user
is going to uninstall it or not - it will not be verified. Unless the
user removes the package manually from the local wpkg.xml (but this is
not done by uninstall procedures of any application).
Hope that clarifies slightly the (quite complex) algorithm behind.
This algorithm is also the reason why I am very careful when touching
the install method within wpkg.js. There are really a lot of special
cases and flags taken into account.
br,
Rainer
More information about the wpkg-users
mailing list