/wpkg

Package configuration for use with WPKG

Primary LanguageShellOtherNOASSERTION

WPKG package configuration files.

A lot of it is inspired by (and copied from) the WPKG wiki so much gratitude is owed.

The following criteria must be fulfilled before the recipe is included here:

  • 32-bit and 64-bit safe
  • Uses “msiexec /x package_file.msi” for uninstallations whenever possible to avoid knowing CLSIDs that change

NOTICE: We are slowly migrating to WPKG 1.3 as it contains a number of features (and bug fixes) that make our lives so much easier. Specifically:

  • Nested variables work
  • Chaining commands

Branches

All development takes place in ‘master’ – for production use please use the ‘prod’ branch.

To do

  1. Convert all recipes to WPKG 1.2 (use ‘os’ and ‘architecture’ specifically)
  2. Use regexps for ‘uninstall’ matching

Notes

Regular expressions

WPKG supports regular expressions however various parts do it differently.

  1. use + for matching multiple characters
  2. use * for matching multiple characters

Versions

  1. If there are multiple references to the current version (file name, uninstall check, etc), then it should be included as a variable named ‘version’
  2. All revisions should be written out WITH dots. Examples:
    1. 4.65
    2. 9.2.0.61
  3. All revision should have an additional identifier, this gives us 10 tries to get a new version right and allow overriding the central version. Examples:
    1. 4.65-0
    2. 9.2.0.61-3
  4. The additional revision identifier should be incremented when needed and reset to 0 when a new version is added
  5. Priorities are set as follows
    1. 10 – most normal applications
    2. 50 – system applications (IE8 and others)
    3. 100 – critical install first apps (Windows Installer 4.5)
  6. Rebooting – all should have their reboot priority set to “false” and only reboot (postponed) in case of 3010 or similar return codes and ONLY if absolutely needed
  7. Ensure that the following variables are defined in your WPKG settings.xml file
    1. NOTE more will be added for other installers such as InstallShield, InnoSetup, etc
    2. MSI – set to “/quiet /norestart” (without quotes)
    3. MSP – set to “REINSTALL=ALL REINSTALLMODE=omus” (without quotes)
    4. SOFTWARE – set to root of the application store without trailing backslash
    5. WPKG – set to root of server WPKG installation without trailing backslash