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

Ein Administrator kann erzwingen, dass eine Clientanwendung immer die gleiche Kopie eines Nicht-COM-Servers in einem vorhandenen Paket verwendet , ohne dass sich dies auf andere Anwendungen auswirkt, indem er eine Beziehung zwischen isolierten Komponenten zwischen Server und Client angibt. Dadurch wird eine private Kopie der Serverkomponente an einem Speicherort installiert, der ausschließlich von der Clientanwendung verwendet wird. Der Administrator muss Transformationen oder ein Paketerstellungstool verwenden, um folgende Schritte ausführen zu können:

  • Legen Sie die Server-DLL und den .exe-Client in separate Komponenten ein.
  • Geben Sie in der Tabelle IsolatedComponent einen Datensatz mit der Clientkomponente in der _ Spalte Komponenten freigegeben und der Clientanwendung in der _ Spalte Komponentenanwendung ein. Schließen Sie die IsolateComponents-Aktion in die Sequenztabellen ein.
  • Legen Sie das Bit msidbComponentAttributesSharedDllRefCount im Komponententabellendatensatz für Component _ Shared fest. Das Installationsprogramm erfordert diese globale Refcount-Anzahl am freigegebenen Speicherort, um die freigegebenen Dateien und die Registrierung in Fällen zu schützen, in denen eine Freigabe mit anderen Installationstechnologien erfolgt.