Installing a non-COM Component to a Private Location
To force a client application to always use the same copy of a non-COM server, author the application's installation package to specify an isolated components relationship between the server and client. This installs a private copy of the server component to a location used exclusively by the client application. Do the following when authoring the package:
- Put the server DLL and the .exe client in separate components.
- Enter a record in the IsolatedComponent table with the 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.
- Avoid authoring a shared registered path across components.