Windows Installer v3.0 Beta Program Information
Windows Installer v3.0 (MSI 3.0) is targeted at making servicing better – this includes authoring, creating, distributing and managing updates to applications. The goal of the MSI 3.0 Beta program are (1) to solicit feedback for new feature set (2) augment the regression and application compatibility testing for Windows Installer based applications (3) allow developers to evaluate and begin to plan for features available in the final release of MSI 3.0.
The MSI 3.0/Beta1 release will be available for download and test in early September 2003. This release is not recommended for deployment in a production environment. Compatibility
- Packages and patches authored for MSI 2.0 are fully supported on the MSI 3.0 engine. By just installing MSI 3.0 users will be able to benefit from its many servicing improvements. MSI 3.0 patches have additional data tables which are necessary to completely exploit the new features. It is important to note that MSI3.0 patches can be installed by MSI 2.0 – the engine will just ignore the new tables and the associated functionality. Patch Removal
– MSI 3.0 provides native support to remove small and minor updates (patches). Any patch installed by the MSI 3.0 engine is eligible for removal. The removal of a patch is the functional equivalent of never installing the patch. The state (files, regkeys, etc…) of the product when a patch (or patches) is installed and removed is identical to its state where the patch (or patches) was never installed. Patches can be removed in any order. Patches are removed using the command line or the calling the MsiRemovePatches API. Sequencing
– The new MSI 3.0 patch sequence table enables authors to provide explicit instructions for the order in which updates should be applied on target machines. Updates will be applied to target products in a consistent and predictable order regardless of the order in which they are physically provided to the target machine. By adding the patch sequence table authors can reliably update un-versioned files. Patches without the sequence table will be applied in the order in which they are provided to the engine. Performance
– Patches installed with the MSI 3.0 engine will take substantially less time to apply as compared to previous versions. Patching no longer implies a full product reinstall, so the engine does not have to examine all product files during patching operations. MSI 3.0 makes a distinction between product repair and patching and will use a lighter weight reinstall mechanism that only updates the files affected by a patch. MSI 3.0 also reduces needless file copies during patch application to further speed up patching. Source List API
– MSI 3.0 provides significant enhancements for system administrators to manage the list of sources for products and patches. New APIs will enable full static management of the product sources including network, URL and Media sources and enable access to read, edit and replace the MSI source lists from an external process. Multiple Patching
- MSI 3.0 allows more than one patch to be installed (or removed) in a single installation transaction with integrated progress, rollback, and reboot behavior. Patches installed together in a single transaction can still be uninstalled individually. If one patch in the set obsoletes, supersedes, or touches the same files as other patches in the set, MSI will take this into account. MSI 2.0 patches are fully supported, and there are no additional authoring requirements to enable this functionality. Inventory APIs
– MSI3.0 supports rich product, feature, component and patch inventory queries. Privileged accounts can use the new inventory APIs to enumerate across user and install contexts.
Additional information about MSI 3.0 can be found in a previous chat transcript
of Feb 4, 2003.