Finally after about a week of testing the latest WPKG 1.1.0 release I am
confident that all critical bugs are sorted out and a stable state for release
has been reached.
About one month ago I've announced WPKG-1.1.0-M21. Since then a few bug-fixes
have been done and finally WPKG also passes the whole test suite without any error.
As WPKG 1.1.0 is fully backwards compatible with WPKG 1.0 I've proposed to state
the end of life for WPKG 1.0 when WPKG 1.1 is going to be released because there
is no need to support it any more. To be sure about I've started a poll. The
result is crystal clear: <http://www.doodle.com/xdvm69fam9e75ibt>. I did not receive any vote that WPKG 1.0 support is still required. So the
decision is clear. WPKG 1.0 will not be maintained any longer. Please
upgrade/switch to WPKG 1.1 (which should be as simple as replacing wpkg.js).
To state it clear again:
WPKG 1.0 is "deprecated" and is no longer maintained. Please also do not file
bug reports for WPKG 1.0 any more. Upgrade to WPKG 1.1 instead and feel free to
report problems with WPKG 1.1 to the mailing list or the bug tracker.
I am going to start another development branch soon where I will include new
ideas and change requests. For the moment I try to keep it fully backwards
compatible but this is not a promise. If some important improvements will
require to break compatibility it might be required to break it.
WPKG 1.1 is now the only version officially released as stable and fixes will be
provided if necessary. New feature requests will be made available within the
new development branch.
WPKG Version: 1.1.0
Author: : Rainer Meier <skybeam (at) users.sourceforge.net>
Date : 2009-05-23
Status : released
Changes/fixes visible to the user:
- Improved MSXML factory handling.
- Got rid of false-positive virus warning by Avira AntiVir.
- Added italian LCIDs and messages.
- Added work-around for STDOUT/STDERR flushing problem. Fixes Bug 155.
- Fixed multiple dependency removal. Fixes Bug 145 and Bug 137.
- Fixed another problem with STDOUT/STDERR flushing code.
- Fixed WPKG ignoring /log_file_path:<path> parameter. Fixes Bug 157.
- (Again) fixed dependency removal. Fixes Bug 145 and Bug 137.
- Fixed bug which caused null-pointer when removing packages from server.
- Updated regression-test suite to work with WPKG 1.1.0.
- Added "-accepteula" parameter to psshutdown. Fixes Bug 159.
- Internal getPackageName() enhancement.
- WPKG 1.1.0 released.
MOD: Improved file downloading. Different versions of MSXML use different
factories. Now WPKG supports multiple factories.
MOD: Re-arranged download functions to avoid false-positive warning by
Avira AntiVir where WPKG was wrongly recognized as HTML/ADODB.Exploit.Gen.
NEW: Italian LCIDs added to configuration (config.xml).
Thanks to Marco Gaiarin.
FIX: Added work-around for STDOUT/STDERR flushing problem. Unfortunately
reading from output streams is terribly broken in WSH. Reading output from
the streams blocks if the process does not write to the stream.
Even reading the "AtEndOfStream" property blocks which makes it impossible
to read from a stream which receives data without blocking the application.
As a work-around WPKG now makes sure STDOUT/STDERR is redirected to NUL
to discard them completely. Well, if your command includes the strings
" >" or " 2>" WPKG will not replace them by NUL redirects. This means you
can still redirect the output manually to files (or redirect to NUL by
yourself). The code just makes sure that output which would be discarded
anyway is not even sent to the buffers.
The drawback of this work-around is that it is not possible to capture the
output from within WPKG and therefore it will not appear within the logs.
However this is the same behavior as all WPKG versions (except 1.1.0-M21)
had. So no big loss.
Fixes Bug 155.
FIX: Fixed a problem where removing the same package multiple times during one
session ended in a null pointer exception. This could have happened if
packages with dependencies are removed and therefore the packages which
depend on the removed package is removed too.
In case a package is removed two times now WPKG will detect it. In case
the package has been removed successfully during this session the remove
function returns successful state.
Fixes Bug 137 and 145 I hope.
FIX: STDOUT/STDERR flushing code did not work for non-cmd/%COMSPEC% based
installer scripts. Unfortunately on Windows it looks like the I/O re-
director parameters ">" or "2>" need to be handled by the application
and not by the shell/OS. As a result appending ">NUL" caused invalid/
unknown arguments to be passed to some commands (like msiexec). As a
work-around WPKG is now executing all commands within a %COMSPEC% shell
unless they already use STDOUT & STDERR redirectors.
FIX: WPKG was ignoring the command-line parameter /log_file_path:<path>.
This bug was not affecting log_file_path property set in config.xml.
Fixes Bug 157.
Thanks to Luca Manganelli.
FIX: Dependency removal was not fully fixed. Actually the bug has been fixed
but the fix contained another issue which caused the same exception.
In fact WPKG was comparing the package name with the package ID during
the check if the package has been removed already during this session.
This of course caused WPKG to belive that it's the first time the package
is attempted to be removed and returned a failure code.
Fixes Bug 137 and 145.
FIX: Fixed bug which caused a null-pointer exception when a package marked for
removal (removed from the profile) was removed from the package tree on
server side. The bug has been reported in Bug 145.
FIX: Updated regression-test suite which contained some tests which failed
because they used unix path separator "/" instead of windows "\"
separator. Problems with this tests have been reported in Bug 145.
MOD: PsTools of Sysinternals have been taken over by Microsoft. The latest
version seems to require an additional (undocumented of course) switch
"-accepteula" in order to prevent a screen displaying the EULA to pop
up which has to be interactively accepted by the user.
The work-around for this is to add the "-accepteula" flag to the "special"
reboot command by default.
Fixes Bug 159.
MOD: Enhanced getPackageName() to prevent null pointer exceptions if the
package node passed within the arguments is null. According to the
documentation it should not throw an exception but return an empty string.
NEW: WPKG 1.1.0 is finally released!
WPKG 1.1.0 now becomse the stable branch and WPKG 1.0 releases are marked
as end of life. WPKG 1.1.0 is fully backwards compatible and entirely
replaces WPKG 1.0. Basically all you need to do in order to upgrade is to
replace wpkg.js in your installation. It is recommended to migrate
config.xml too because of a few new prameters.
Package, host and profile definitions can be kept from previous WPKG
Thanks to all contributors who helped to evolve WPKG to the current state!