Installing a COM Component to a Private Location

To force a COM-client application to always use the same copy of a COM-server, author the application's installation package to specify 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. Do the following when authoring the package:

  • 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.