=============================================================================== = CHANGES FOR 1.1 release =============================================================================== Changes 2007-04-05, v1.1.0-M3 by Rainer Meier 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: 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: 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: 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. Changes 2008-02-18, v1.1-M2 by Rainer Meier FIX: Included cosmetic fix for Bug 104 (opening quotation missing). This fix adds a missing opening quotation in debug output when a new package is added to the local settings node (after installation success). FIX: Fixed Bug 103. /help screen is not showing up if config.xml is missing and null-pointer exception is thrown. Changes 2007-01-14, v1.1-M1 by Rainer Meier NEW: removePackage now removes all packages which depends on the one to be removed as well (recursively). This assures that after poackage uninstall no packages are left installed which miss their required dependency. Please note that if a package which depends on the one to be removed specifies an immediate reboot the reboot takes place right after the this package has been removed. In such case the package initially requested to be removed will still be there after the reboot. To avoid this it is possible that depending packages use the postponed reboot functionality. Alternatively you can use the /noreboot switch to advice WPKG to ignore each reboot request. Note that in such cases some packages will not properly finish their uninstall procedure. In case removing of any package from the dependency tree fails WPKG will stop uninstalling and print a message. In such case the package you requested to remove will still be there because there is at least one more package which depends on it. You can advice WPKG to remove the requested package in any case by using the /force switch. Warning: In such case it might happen that some packages depending on the removed one could not be removed and therefore will be left on the system (probably not working any more).