[wpkg-users] [Bug 95] New type of commands - Downgrade

bugzilla-daemon at bugzilla.wpkg.org bugzilla-daemon at bugzilla.wpkg.org
Sat Apr 5 19:53:22 CEST 2008


http://bugzilla.wpkg.org/show_bug.cgi?id=95





--- Comment #9 from Rainer Meier <r.meier at wpkg.org>  2008-04-05 19:53:09 ---
Created an attachment (id=108)
 --> (http://bugzilla.wpkg.org/attachment.cgi?id=108)
Full package, lots of new features, including downgrade and download
enhancement

Hi all,

After some sleepless nights and even some days I can proudly announce WPKG
1.1.0-M3 milestone release. It includes lots of new features. Some of them have
been discussed within the mailing list and some on Bugzilla.

Additionally I checked in some tools I developed recently:
- wrapper.js:
  Allows Windows x64 Users to run WPKG properly. Due to the fact that
  32-bit applications cannot access all directories and uninstall
  entries. As WPKG client is a 32-bit application is also runs 32-bit
  version of cscript. To use the wrapper just put cmd.exe (64-bit
  version) to the .\64-bit\cmd.exe folder (just below the folder you put
  wpkg.js and wrapper.js). Open it in your favorite text editor to get
  detailed instructions.

- tools/execute/elevated/execute-elevated.js
  Allows you to run any *.cmd or *.js script with elevated user
  privileges on Windows Vista with activated UAC. This is required if
  you run WPKG manually on a Windows Vista machine.
  See tools/execute/elevated/readme.txt for instructions.

- tools\3rd-party\install-status-report/report.pl
  Tool provided by Chris Crow on the wpkg-users mailing list. It allows
  to verify your client installation status in an easy way.


As always, the latest development version of the tools can be found within the
Subversion repository:

<http://wpkg.svn.sourceforge.net/viewvc/wpkg/wpkg/current-development/>

1.1.0-M3 includes a lot of changes. A full change log is included within the
attached file. Here is a list of the changes I did for this release:

Change notes
============

WPKG Version: 1.1.0-M3
Author:     : Rainer Meier <skybeam (at) users.sourceforge.net>
Date        : 2008-04-05

Changes/fixes visible to the user:

Summary:
- Fixed crash when /force was used in conjunction with /synchronize
- Do not force quit if installation fails (unsless /qutonerror is set)
- Extended uninstall check (check for DisplayVersion)
- New package check: execute
- Added download extension (allows downloading installers)
- Added downgrade package functionality
- Added status output on STDOUT which can be used by the GUI

FIX: WPKG crashed when /force was used in conjunction with /synchronize. Fixed.

MOD: WPKG was forced to exit if package checks failed after installation or if
     a package failed to remove. This has been changed. Now WPKG prints an
     error (unless /quitonerror is used).
     Note that installation of packages depending on the failed one will fail
     as well. Some packages require reboot unless checks yield true. Therefore
     it is crucial to define correct package reboot flags for such packages.

NEW: Package uninstall checks have been extended. The following values are now
     valid:
     type="uninstall" path="prg" condition="versionsmallerthan" value="1.1"
             Check if version is smaller than the specified value

     type="uninstall" path="prg" condition="versionlessorequal" value="1.1"
             Check if version is less or equal than the specified value

     type="uninstall" path="prg" condition="versionequalto" value="1.1"
             Check if version is exactly equal to the specified value

     type="uninstall" path="prg" condition="versiongreaterorequal" value="1.1"
             Check if version is greater or equal to the specified value

     type="uninstall" path="prg" condition="versiongreaterthan" value="1.1"
             Check if version is greater than the specified value

     The version is compared to the DisplayVersion value within the uninstall
     entry within the Windows registry.
     Changes are based on a patch by Richard de Vos. Thanks!

NEW: Added new check type: "execute". This allows you to execute any script
     which checks if an application is installed - based on the exit code of
     the script.
     Usage:
     type="execute" path="\\path\to\script.cmd"
         condition="exitcodesmallerthan" value="0"
             Evaluates true if the exit code is negative

     type="execute" path="\\path\to\script.cmd"
         condition="exitcodelessorequal" value="0"
             Evalueates true if exit code is 0 or negative

     type="execute" path="\\path\to\script.cmd"
         condition="exitcodeequalto" value="0"
             Evaluates true only if exit code is exactly 0

     type="execute" path="\\path\to\script.cmd"
         condition="exitcodegreaterorequal" value="0"
             Evaluates true if exit code is 0 or any poitive number

     type="execute" path="\\path\to\script.cmd"
         condition="exitcodegreaterthan" value="0"
             Evaluates true if exit code is any positive number

     This type of check also allows very complex checks. For example there is a
     limitation of the RegRead method used by WPKG to query registry values
     which contain backslashes '\'. Now you can execute a batch script which
     checks for such registry values using 'reg query ...'.

NEW: Added download extension as initially proposed by Tomasz Chmielewski (with
     some changes). A download definition is specified as follows:
     <download url="http://server.domain.tld/path/to/file.msi"
     target="subdir/file.msi" timeout="7200" />

     The 'timeout' attribute is entirely optional. It defaults to the value of
     'downloadTimeout' as specified within config.xml (7200 if not omitted).
     The value is specified in seconds.

     The 'target' attribute specifies a path relative to the 'downloadDir' as
     specified within config.xml (defaults to '%TEMP%' if omitted).
     NOTE: You need to specify the full file path, including the file name, not
     just a directory name!

     So to install the package above could be installed by the following
     install command definition:
     <install cmd="msiexec /qn /i %TEMP%\subdir\file.msi">

NEW: Added downgrade command nodes. These commands are executed if the version
     installed on the client is newer thant the one on the server side.
     Example:
     <downgrade cmd=""\\Store1\Mozilla\Firefox Setup 2.0.0.12.exe"
/S"/>

NEW: Added /sendStatus flag and 'sendStatus' configuration parameter in
     config.xml. The parameter allows to enable printing of status information
     to STDOUT in order to be parsed by the calling program (e.g. WPKG client).
     This allows the calling program to display some status messages about the
     synchronization process.
     The status update might not be very linear depending on the package sizes
     but at least it allows to display the start time (and therefore also
     elapsed time to the user. So the user can see at least how many percent of
     packages have been synchronized already and for how long the current task
     is running currently.
     Users usually feel much less annoyed when waiting for a task to be
     finished if there are at least some screen updates and a kind of progress
     bar which is updating from time to time.
     Note: STDOUT was chosen due to the fact that I was unable to find a way to
     write to named pipes from JScript yet. However the implementation could
     easily be adapted to pipes or sockets.
     I also updated wrapper.js to read STDOUT of the called wpkg.js and print
     it to its own STDOUT. This required if WPKG client is going to read the
     output of wpkg.js, in that case output needs to be "chained" to be
     forwarded to the GUI.


-- 
Configure bugmail: http://bugzilla.wpkg.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.



More information about the wpkg-users mailing list