Installieren einer Nicht-COM-Komponente an einem privaten Speicherort
Um zu erzwingen, dass eine Clientanwendung immer dieselbe Kopie eines Nicht-COM-Servers verwendet, erstellen Sie das Installationspaket der Anwendung zum Angeben einer isolierten Komponentenbeziehung zwischen dem Server und dem Client. Dadurch wird eine private Kopie der Serverkomponente an einem Speicherort installiert, der ausschließlich von der Clientanwendung verwendet wird. Gehen Sie beim Erstellen des Pakets wie folgt vor:
- 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. Das Installationsprogramm erfordert diesen globale RefCount für den freigegebenen Speicherort, um die freigegebenen Dateien und die Registrierung zu schützen, wenn die Freigabe mit anderen Installationstechnologien erfolgt.
- Vermeiden Sie das Erstellen eines komponentenübergreifenden, freigegebenen registrierten Pfads.