Make a COM Component in an Existing Package Private

An administrator can force a COM-client application to always use the same copy of a COM-server in an existing package—without affecting other applications—by specifying an isolated components relationship between the COM server and client. This installs a private copy of the COM-server component to a location used exclusively by the client application. The administrator needs to use transforms or a package authoring tool to do the following:

  • Put the COM server DLL and the .exe client in separate components.
  • Enter a record in the IsolatedComponent table with the COM-client component in the Component_Shared column and the client application in the Component_Application column. Include the IsolateComponents action in the sequence tables.
  • Set the msidbComponentAttributesSharedDllRefCount bit in the Component table record for Component_Shared. The installer requires this global refcount on the shared location to protect the shared files and registration in cases where there is sharing with other installation technologies.