Article ID: 894439 - Last Review: January 16, 2007 - Revision: 1.2 Description of flyweight patching in Microsoft Windows Installer 3.0On 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 optimizationImportant This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:322756
(http://support.microsoft.com/kb/322756/
)
How to back up and restore the registry in Windows 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:
DisableFlyWeightPatching http://msdn2.microsoft.com/en-us/library/aa368300.aspx
(http://msdn2.microsoft.com/en-us/library/aa368300.aspx)
Patch optimizationhttp://msdn2.microsoft.com/en-us/library/aa370595.aspx
(http://msdn2.microsoft.com/en-us/library/aa370595.aspx)
Windows Installer 3.0 is available http://go.microsoft.com/fwlink/?LinkId=33342
(http://go.microsoft.com/fwlink/?LinkId=33342)
| Article Translations
|
Back to the top
