The IsolateComponents action installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). This isolates the application from other copies of the component that may be installed to a shared location on the computer. For more information, see Isolated Components.
The action refers to each record of the IsolatedComponent table and associates the files of the component listed in the Component_Shared field with the component listed in the Component_Application field. The installer installs the files of Component_Shared into the same directory as Component_Application. The installer generates a file in this directory, zero bytes in length, having the short filename name of the key file for Component_Application (typically this is the same file name as the .exe) appended with .local. The IsolatedComponent action does not affect the installation of Component_Application. Uninstalling Component_Application also removes the Component_Shared files and the .local file from the directory.
The IsolateComponents action can be used only in the InstallUISequence table and the InstallExecuteSequence table. This action must come after the CostInitialize action and before the CostFinalize action.
There are no ActionData messages.
If the Condition column for the IsolateComponents action evaluates to True, or is left blank, the installer isolates all the components listed in the IsolatedComponent table. If the Condition column evaluates to False, the installer ignores the IsolatedComponent table and shares the components usual. The RedirectedDllSupport property may be used to condition this action. For more information, see Using a Sequence Table.