[wpkg-announce] Announcement: WPKG 1.1.2 release
Rainer Meier
r.meier at wpkg.org
Sat Sep 26 00:39:37 CEST 2009
Hi all,
A lot of smaller issues have been fixed since last WPKG 1.1.1 release. In
addition a couple of smaller improvements have been implemented. The number of
changes/fixes significantly decreased in the past two weeks so I consider this
version to be read to be released officially.
Again WPKG 1.1.2 is fully backwards compatible to version 1.1.1 (if not, then
please report it).
As long was WPKG 1.1.1 is not available on the main WPKG home page you can fetch
it from Bugzilla (but I am sure Tomasz will put it on the main page very soon):
<http://bugzilla.wpkg.org/attachment.cgi?id=154>
Here's a list of changes:
Change notes
============
WPKG Version: 1.1.2
Author: : Rainer Meier <skybeam (at) users.sourceforge.net>
Date : 2009-09-26
Status : released
Changes/fixes visible to the user:
Summary:
- Added path/value expansion for registry checks. Fixes Bug 139.
- Added variable expansion for registry uninstall searches.
- Fixed typos.
- Added additional status print messages on installation tasks.
- Fixed exception when getting system locale on some systems.
- Another small fix for system locale read.
- Moved documents to documents/ folder.
- Updated some documentation.
- WPKG now saves progress immediately to settings (wpkg.xml)
- Environment load/restore code changes.
- Revert partially the environment load/restore code changes.
- Fixed two more environment load/restore bugs.
- Fixed bug introduced with immediate setting save. Fixes Bug 167.
- Fixed uninstall version check in case of non-installed software.
- Fixed uninstall version comparison "versionsmallerthan".
- Added execute="changed" attribute to packages.
- Fixed notify="false" was not taken into account during removal.
- Notifications are now only sent if commands are executed.
- Version comparison improvement during installation.
- Added regular expression matching to uninstall key search.
- Changed informational level to debug level output for registry check.
- Added Windows Vista/7 msg.exe user-notification support.
- Added expansion of environment variables in rebootCmd setting.
- Fixed typo in registry equality check.
- Fixed some more code formatting and typo.
- Updated built-in user notification text.
- Added environment expansion in package revision attribute.
- Fixed duplicated version read from file if a file version check is used.
- Added environment value expansion for file version values.
- Added environment value expansion for uninstall version values.
- Added environment value expansion for execute check return values.
- Modified printed debug message if uninstall checks regex match fails.
NEW: Registry path checks can now contain variables in the form of %VAR% too.
Variable expansion is allowed for the value attribute too. Please note
that WPKG first tries to locate the unexpanded key and compare unexpanded
values. For example if you use a registry equal check for the value of
"%APPDATA%" then it first tries to look for the "%APPDATA%" string and
only if this value does not exist it will compare the expanded value.
This allows you to still match REG_EXPAND_SZ values which contain
variable definitions.
This should fix Bug 139 as reported on Bugzilla.
Thanks to "graham" for reporting.
NEW: Variable expansion (see Bug 139) is now supported for uninstall entries as
as well.
FIX: Fixed a couple of typos. Thanks to Malte Starostik for reporting.
NEW: Added additional output to the status printer (when /sendStatus is
enabled) when installPackage() performs installation tasks and therefore
takes some time to finish. This allows external tools to inform the user
about ongoing actions.
Thanks to Malte Starostik for the suggestion.
FIX: Retrieving the system locale caused an exception on some systems.
Thanks to Simon Kelsall for reporting.
FIX: Fixed another small problem when locating system locales which could lead
to an exception in case the "HKCU\Control Panel\International\Locale" key
does not exist.
MOD: Moved documents to the documents/ sub-folder in order to clean up the root
directory.
MOD: Small corrections and updates to some documents.
MOD: Modified bahavior of WPKG whensaving settings (wpkg.xml). Now the settings
are saved immediately after modification instead of just when WPKG
terminates. Mainly this helps in case of unexpected reboot (initiated
outside WPKG) to prevent loss of some progress in case of unexpected
interruption.
Thanks to Johannes Brix for open discussion on the mailing list.
MOD: Changed some code to load package environment and and when restoring
previous environment to prevent some IDE errors (but cscript somehow seems
to accept the code).
FIX: The environment set changes done in previous release did not work as$
expected. WSH does not provide convenient methods to modify the
environment. Maybe I will find a work-around later...
FIX: Fixed two more bugs introduced in 1.1.2-RC6 regarding environment
handling.
Fixes Bug 164.
Fixes Bug 165.
Thanks to Stefan Pendl.
FIX: The change introduced to save the settings on each change inroduced some
problems in case the settings (wpkg.xml) are created from scratch.
In this case the settings were not saved at all until a change (package
added to or package removed from) was done during WPKG operation.
This fixes Bug 167. Thanks to Falko Trojahn for reporting.
FIX: Version checks on uninstall enttries could evaluate "true" in case the
software is not installed at all.
Fixes Bug 170. Thanks to Malte Starostik for reporting and discussion.
FIX: Fixed bug where "versionsmallerthan" version comparison on uninstall
entries almost always returned false.
Thanks to Falko Trojahn for reporting.
NEW: Added possibility to set execute="changed". This allows you to specify
packages which are executed only if there are other packages (with
different execute attributes) processed during this WPKG run.
If no package is processed an execute="changed" package will not be
processed at all. This allows one to define packages for actions which
should run on every change (but not each time like execute="always"
would).
Please note: Due to the nature of these packages they form their own
"group" in the WPKG package tree. All execute="changed" packages are
executed in the order of priority at the end of the synchronization.
Packages with lower priority but other execute attribute values are always
executed before execute="changed" packages (even if the execute="changed"
package has higher priority).
Also note that the package using execute="changed" will be processed
like every other package. So if you define checks which yield true, then
the package is not installed/upgraded. If you want it to be executed on
really each system change, then you should not specify any check.
Addresses feature request as proposed in Bug 168.
FIX: If notify="false" attribute is used WPKG was still notifying users during
removal. Now WPKG will also not notify users on removal of such packages.
MOD: During install/upgrade/downgrade the user was notified (if notifications
are enabled) even if the package did not have any commands specified for
the action to be processed (e.g. upgrade without upgrade commands).
This has been changed now and the user will be notified only if some
commands are actually executed.
FIX: Version comparison is now done only once to detect if upgrade or downgrade
should be performed. This has not been a bug actually but it prevents
duplicated version checking and prevents redundant log output.
NEW: Added expression matching to uninstall key scanner. This allows to specify
a check as follows:
<check type='uninstall' condition='exists' path='Mozilla Firefox.*' />
This matches all Firefox versions. In this case the check remains true if
the user changes to another Firefox versions. Note that in this case WPKG
would not even complain/reinstall the package if the user downgrades.
To prevent this you might specify
<check type='uninstall' condition='exists'
path='Mozilla Firefox \(3\.5\.[0-9]*\)' />
This would allow any Firefox 3.5.x version to be installed by the user.
Plese note that this does not prevent WPKG to upgrade the package when
the administrator provides a new version.
For example the Administrator might install Firefox 3.5.1. Then version
3.5.2 is released and manually installed by the user. WPKG will accept
this new version due to the regular expression and will not try to
re-install (downgrade in this case) to version 3.5.1. But as soon as
the administrator releases version 3.5.2 officially and increases the
package version then WPKG will enforce to install the version provided
by the administrator.
Please also note that the regular expression you give has to match the
full string read from the uninstall key. The heading "^" and trailing
"$" are automatically added to the regular expression.
This implements change request included in Bug 166.
Thanks to Stefan Pendl.
MOD: Changed information-level output to debug-level output in registry equal
checks if check fails. This avoids unnecessary output in the event log.
Thanks to Malte Starostik for reporting.
NEW: Added support for Windows Vista/7 msg.exe-based user notification
(replaces "net send" messaging on those systems). Unfortunately there are
some limitations. For example the message is ignored if it is longer than
256 characters. So be aware and update your config.xml as needed.
A new option to define a timeout after which the notification disappears
automatically on those systems has been added (notificationDisplayTime).
This defaults to 10 which will make the message to be automatically
discarded after 10 seconds.
Adresses report 171. Thanks to Ralf Lederle.
NEW: Added expansion of environment variables in rebootCmd setting.
Thanks to grubi for request.
On this occasion I've updated some code to correctly expand
settings_file_name too (in case no settings_file_path is defined).
Environment expansion of logfilePattern setting has been added too.
FIX: Fixed typo in registry equality checks which caused exceptions.
Thanks to Malte Starostik.
FIX: Fixed some code formatting and typo.
MOD: Updated built-in user notification to fit within the 256 character limit.
NEW: Expands environment variables in package revision. For example
revision="%PRG_VERSION%" is valid now. Make sure the environment variable
is defined before you use it.
Fixes Bug 173. Thanks to Stefan Pendl.
MOD: Added check for package revision environment expansion. Expansion is only
done if the revision string contains two "%" characters which indicates
an environment definition in the form of %VAR%.
This should prevent unneeded environment setups and therefore it prevents
wasting resources.
FIX: Fixed duplicated version read from file if a file version check is used.
NEW: Added environment value expansion for file version values.
NEW: Added environment value expansion for uninstall version values.
NEW: Added environment value expansion for execute check return values.
MOD: Modified message if uninstall check string fails to be used as a regular
expression.
br,
Rainer
More information about the wpkg-announce
mailing list