Freigeben über


Festlegen einer Nicht-COM-Komponente in einem vorhandenen Paket als privat

Durch Angeben einer Beziehung für isolierte Komponenten zwischen einem Nicht-COM-Server und dem Client können Administratoren 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 Serverkomponente an 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 Server-DLL und den .exe-Client in separaten Komponenten.
  • Geben Sie einen Datensatz in der IsolatedComponent-Tabelle mit der Clientkomponente in der Spalte Component_Shared und der Clientanwendung in der Spalte Component_Application ein. 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.