[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