Description of flyweight patching in Microsoft Windows Installer 3.0
Important This article contains information about modifying the registry.
Before you modify the registry, make sure to back it up and make sure that you
understand how to restore the registry if a problem occurs. For information
about how to back up, restore, and edit the registry, click the following
article number to view the article in the Microsoft Knowledge Base: 256986 (http://support.microsoft.com/kb/256986/) Description of the Microsoft Windows Registry On This PageINTRODUCTION Microsoft Windows Installer 3.0 offers
performance optimization that is also known as flyweight patching. The purpose of flyweight
patching is to enable faster updating for applications by removing execution of
unnecessary actions. For example, flyweight patching mode is primarily designed for
updates that only update some files or some registry values. Windows Installer
3.0 analyzes the update for specific changes to determine whether optimization is
possible. If optimization is
possible, the update is applied by using a minimal processing set. Describe flyweight patching optimizationAn update is only eligible for flyweight patching optimization if the changes that are made by the applicable transform set in the update are made to the following tables:
If the update makes a modification to another table, another Component table, or another Class table, the update is not eligible for flyweight patching optimization. When a modification to another table occurs, the following message is logged in the log file: . Flyweight patching optimization is disabled if any one of the updates that is recently enabled for the installation transaction is ineligible for flyweight patching optimization. Additionally, Windows Installer 3.0 automatically disables flyweight patching optimization when any one of the following conditions is true:
Message 1 Message 2 Note You may receive a message in the log file that states that performance optimization is enabled. Later, you may receive a subsequent message in the log file that states that performance optimization is disabled. Run standard conditional actionsWhen you enable flyweight patching mode, only the following minimal set of standard conditional actions run:
Understand possible compatibility issuesFlyweight patching optimization can cause possible compatibility issues for an update. The compatibility issues can occur if the update triggers additional installation processing or if the update requires additional installation processing outside the changes that are indicated in the applicable transform set for the update. The possible compatibility issues follow:
Author your update to prevent flyweight patching optimizationWarning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.The easiest way that you can author your updates to prevent flyweight patching optimization is to add a new custom table with a new row in the .msp file. The presence of the new custom table with the new row prevents flyweight patching mode. For example, add a new table that is named "CustomDisableflyweight" in the upgrade package that is used to build the update. Author your update so that the table only has one column. This one column also serves as the primary key column. Now, add a new row to the table when you want to disable flyweight patching for that update. Additionally, system administrators can disable flyweight patching optimization for all updates by setting the DisableflyweightPatching subkey in the registry DWORD value to 1. This action resolves application compatibility issues. Follow these steps, and then quit Registry Editor:
REFERENCESFor more
information about Windows Installer 3.0, visit the following
Microsoft Developer Network (MSDN) Web sites: What's new in Windows Installer version 3.0 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/what_s_new_in_windows_installer_version_3_0.asp
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/what_s_new_in_windows_installer_version_3_0.asp) DisableFlyWeightPatchinghttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/disableflyweightpatching.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/disableflyweightpatching.asp) Patch
optimizationhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/patch_optimization.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/patch_optimization.asp) Windows Installer 3.0 is available
http://go.microsoft.com/fwlink/?LinkId=33342 (http://go.microsoft.com/fwlink/?LinkId=33342)
| Search Support(KB)Article Translations
|