Installieren einer COM-Komponente an einem privaten Speicherort
Um zu erzwingen, dass eine COM-Clientanwendung stets dieselbe Kopie eines COM-Servers verwendet, erstellen Sie das Installationspaket der Anwendung so, dass eine isolierte Komponentenbeziehung zwischen COM-Server und Client angegeben wird. Dadurch wird eine private Kopie der COM-Serverkomponente in einem Speicherort installiert, der ausschließlich von der Clientanwendung verwendet wird. Gehen Sie beim Erstellen des Pakets wie folgt vor:
- Platzieren Sie die COM-Server-DLL und den EXE-Client in separaten Komponenten.
- Geben Sie einen Datensatz in die IsolatedComponent-Tabelle ein: die COM-Clientkomponente in der Spalte Component_Shared und die Clientanwendung in der Spalte Component_Application. Fügen Sie die IsolateComponents-Aktion in die Sequenztabellen ein.
- Legen Sie das Bit msidbComponentAttributesSharedDllRefCount im Datensatz der Component-Tabelle für Component_Shared fest. Der Installer erfordert diesen globalen RefCount-Wert im freigegebenen Speicherort, um die freigegebenen Dateien und die Registrierung in Fällen zu schützen, in denen eine Freigabe mit anderen Installationstechnologien erfolgt.