[wpkg-announce] Announcement: WPKG 1.1.3-RC7 pre-release

Rainer Meier r.meier at wpkg.org
Sat Jun 18 23:54:41 CEST 2011

Hi all,

A long time since we had the last wpkg.js update. Things became quite stable but
a few issues were left and a couple of enhancement requests are in the pipe.
Especially a larger update about domain integration and host matching for OS,
IP-address, domain name and group membership provided by Daniel Dehennin was in
discussion for too long. Well, we were not announced for the vaporware award yet
and we are not targeting to get this award ;)

So the latest fixes have been included in a pre-release now. As it contains a
couple of changes with wider consequences I would like it to be tested by the
community before the final release.

You can download a full package at

Of course you can also just get the latest wpkg.js from SVN:

The documentation, change notes and XSD files have been updated to match new
possibilities in hosts.xml.

Any feedback is appreciated.

Change notes
WPKG Version: 1.1.3-RC7
Author:     : Rainer Meier <skybeam (at) users.sourceforge.net>
Date        : 2011-06-18
Status      : release pending

Changes/fixes visible to the user:

- Fixed IP-address match in case 3 "." are used in host matching string.
- Fixed package removal procedure exception in case of /noremove flag is used.
- Fixed removal of settings entry in case of /noremove and no package checks.
- Allow folders to be checked with file checks.
- Allows recursive search for uninstall entries in registry
- Enhance wrapper.js to use sysnative cmd.exe.
- Disabled recursive registry uninstall checking again due to slow execution.
- Closing STDIN when executing commands.
- Extended host matching for OS, IP, domain and groups.
- Fix for crash if interface has no IP bound to it.
- Fix for registry exist checks not returning true.
- Fix for execute test writes null values to the logs.
- Fix included estetic break.

NEW: Updated IP matching algorithm to prevent accidental matching if regexp or
     host name is used which uses exactly 3 "." within the string.
     Thanks to Stefan Pendl for reporting.
FIX: Fixed package removal procedure in case /noremove flag is set. WPKG would
     have failed (exception thrown) in case /notemove was used and a package
     is detected NOT to be installed.
FIX: In case /noremove is used and the package does not define any checks WPKG
     is unable to detect if the package is still installed or not. Previously
     WPKG was assuming that the package is not installed and removed it from
     the local settings file. This has been changed. The package will now only
     be removed from the settings file if it defines some checks which allow
     WPKG to clearly detect that the package is not installed on the system.
     So if the package does not define any checks WPKG assumes it's still
     installed on the systme and does not remove its entry from the local
     settings file (wpkg.xml).
FIX: Updated "file" type checks to match folders too. Now a check of type file
     for condition exist yields true for a patch referring either a file or
     a folder.
     Thanks to Joe for reporting.
NEW: WPKG now allows uninstall entries to be defined in sub-nodes of the
     uninstall registry key. I was unable to verify that Windows supports such
     entries but as reported RationalPlan Viewer seems to add such a sub-node:
     There might be other programs doing the same.
     During tests Windows XP and Windows 7 were ignoring such entries but now
     WPKG supports these entries now. (NOTE: Disabled again, read below)
NEW: Enhanced wrapper.js to use sysnative directory. The sysnative directory
     allows 32-bit programs to access the 64-bit binaries within
     %SystemRoot%\system32\. This way it is not necessary any more to copy the
     64-bit version of cmd.exe to the 64-bit\ sub-folder since the wrapper can
     launch the locally available 64-bit cmd.exe.
MOD: Disabled recursive uninstall checks again. Reading registry keys
     recursively is very slow with WSH and since there are typically
     many sub-keys within the uninstall locations this causes a very long
     delay each time an uninstall check is used.
     It's recommended to use a registry value check instead of an uninstall
     check in order to check for the status of an application which puts its
     uninstall entry within a sub-key of the uninstall keys in the registry.
MOD: WPKG now closes STDIN when executing external commands. Some applications
     seem to wait for STDIN to be closed before they exit. Microsoft PowerShell
     seems to be one of the affected applications.
     Since closing STDIN should not have negative effects (WPKG will not write
     to STDIN) it's supposed to be safe to close it.
     Thanks to Stéphane Bilqué for reporting.
NEW: Many extensions in host matching. Now a host entry in hosts.xml is allowed
     to include the following attributes:
       <host name='host-x'
         os="windows 7"
         groups="^group.*$" />
     Note: All special parameters (os, ipaddresses, domainname, groups) are
     specified as regular expressions. Especially keep this in mind when
     specifying IP-addresses or any parameter including periods (.). As a
     period in regular expression means "any character". So keep in mind to
     escape special regular expression characters.
     Many thanks to Daniel Dehennin for continued support of this changes.
     It just almost took as long as finishing DNF to include it. *sigh*
FIX: Included fix for bug 196 which could make WPKG crash in case no IP
     address is assigned to a network card.
     Thanks to Daniel Dehennin again.
FIX: Included fix for bug 199 where registry exist checks did not return true.
     Thanks to Daniel Dehennin again.
FIX: Included fix for bug 200 where execute test fallback to 'exitcodeequalto'
     in 'execute' tests writes null values to the logs.
     Thanks to Daniel Dehennin again.
FIX: Included esthetic break statement in check condition for uninstall checks.
     Thanks to Daniel Dehennin again.


More information about the wpkg-announce mailing list