Freigeben über


Festlegen einer COM-Komponente in einem vorhandenen Paket als privat

Durch Angeben einer Beziehung für isolierte Komponenten zwischen dem COM-Server und dem Client können Administrator*innen erzwingen, dass eine COM-Clientanwendung immer dieselbe Kopie eines COM-Servers in einem vorhandenen Paket verwendet – ohne Auswirkungen auf andere Anwendungen. Dadurch wird eine private Kopie der COM-Server-Komponente in einem Speicherort installiert, der ausschließlich von der Clientanwendung verwendet wird. Administrator*innen müssen Transformationen oder ein Paketerstellungstool verwenden, um Folgendes auszuführen:

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