- Added support for Windows Installer Patches (MSP) with an "msp" component type.
- Added #UILEVEL variable, current installer UI level, one of "full", "silent" or "basic".
- Added #LANGUAGE and #LANGID variables, current configuration language and locale id.
- Added uninstall_display_name to all components, optional component display name during uninstall.
- Added uninstall_package to msi components, optional package to use during uninstall.
- Added uninstallation_none, uninstallation_completed and uninstalling_component_wait to setup configurations.
- Added support for multiple registry paths in @[registry path] substitutions. Separate multiple paths with a | character.
- A default value is no longer required in registry substitutions, assumed blank.
- Added optional installed checks for user-defined controls. The check must evaluate to True for the control to be displayed, enabled or both, depending on the value of the new check option.
- Added defaultvalue options to registry, file and product installed checks. The default value is used when the bootstrapper does not find the registry key or file, ie. it cannot decide whether the component is installed based on the specifics of the check (eg. version comparison with a value that doesn't exist is not meaningful).
- Added key_exists and value_exists operators to registry installed checks. The value_exists operator allows one to check whether the default registry key value is set.
- /DisplayCab truncates the files list for each cub at two items; rest is shown as a summary.
- Failures to read or write embedded resources, including CABs, CAB directory, banner and manifest, reports the file name affected by the error.
- Documented uninstall strategy for MSIs by remembering the product GUID in registry under the "Install and Uninstall Sequences" section.
- Substantially improved peformance linking large bootstrappers with many embedded files and components.
- Implemented work-around for "not enough storage space" system error while embedding large CABs.
- MSI components ignore uninstall_cmdparameters, uninstall_cmdparameters_silent and uninstall_cmdparameters_basic.
- MSU components don't property handle reboots with standard 3010 exit code.
- Extracting files from large embedded CABs with many files may not extract all files.
- Uninstall doesn't remove components and process configurations in reverse order.
- Progress status and labels encode & characters as key access indicators instead of rendering them as is.
- CMD components don't property reload command_basic and uninstall_command_basic in InstallerEditor.
- InstallerEditor "Save" menu is not re-enabled after "Save As".
- Registry install checks with the exists operator for a blank field value fail with a "The system cannot find the file specified." error.