Hi all, 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. What's next? 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. As long as WPKG 1.1 is not available on the main WPKG home page you can fetch it from Bugzilla: <http://bugzilla.wpkg.org/attachment.cgi?id=146> Change notes ============ 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: Summary: - 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 versions. Thanks to all contributors who helped to evolve WPKG to the current state! Rainer |