KB Article: http://support.microsoft.com/kb/942288
New and improved features in Windows Installer 4.5
The following new and improved features have been implemented in Windows Installer 4.5.
Multiple package transaction
In a multiple package transaction, you can create a single transaction from multiple packages. In a multiple package transaction, a chainer is used to dynamically include packages in the transaction. If one or more of the packages do not install as expected, you can roll back the installation.
Embedded UI handler
You can embed a custom user interface (UI) handler in the Windows Installer package. This makes a custom UI easier to integrate. You can also invoke an embedded UI handler from the Add or Remove Programs item in Control Panel. Or, you can invoke an embedded UI handler during a Windows Installer repair process.
You can use the embedded chainer to add packages to a multiple package transaction. You can use an embedded chainer to enable installation events across multiple packages. For example, you can enable install-on-demand events, repair events, and uninstall events across multiple packages.
Update supersedence resiliency
This feature lets you correct for changes in the FeatureComponent table during supersedence.
Shared component patching resiliency during uninstall
This feature makes sure that the most recent version of a component is available to all products.
Custom action execution on update uninstall
This feature lets an update add or change a custom action so that the custom action is called when an update is uninstalled.
Issues that are addressed in Windows Installer 4.5
The issues present in earlier versions of Windows Installer that are addressed in Windows Installer 4.5 are as follows:
•The SeBackupPrivilege user right was missing in the Windows Installer service. This lack hindered any custom actions that needed this user right.
•Some case-sensitive service-name comparisons in the InstallValidate action resulted in an unnecessary "files in use" message in Windows Vista.
•When you uninstalled an update that added a new component, the component was also uninstalled. This occurred even if the component was shared by other products.