Directory Contents Search << >>


DaVinci 4: Deployment der ActiveX-Komponente mit Registrierung

Zusammenfassung

Die davinci4ocx.dll wird nach den Microsoft Windows Standardverfahren für selbstregistrierende COM-Komponenten installiert, wie sie von den meisten Installationsprogrammen verwendet werden. Als Verzeichnisnamen wird %CommonFiles%\Herdsoft\davinci4ocx.dll festgelegt.

Funktion

Die Datei DAVINCI4OCX.DLL ist ein selbstregistrierender ActiveX-Server und exportiert dementsprechend die Funktionen DllRegisterServer und DllUnregisterServer. Der Aufruf der Funktion DllRegisterServer erzeugt in der Windows Registry die Einträge, die Anwendungen benötigen, um die Komponente verwenden zu können. Der Aufruf von DllUnregisterServer entfernt diese Registrierungseinträge wieder.

Die Ressourcen der DAVINCI4OCX.DLL kennzeichnen die Komponente entsprechend, so dass manche Installationsprogramme die Registrierung automatisch veranlassen können.

Ohne Registrierung können die EXE-Anwendungsprogramme die Komponente nicht verwenden, da sie intern nicht auf den Dateinamen der DLL, sondern auf ihre Class ID verweisen. Ausnahme ist die Verwendung einer Side by Side-Konfiguration.

Voraussetzungen

Die Registrierung schreibt Daten in den Verzeichnisbaum HKEY_CLASSES_ROOT, was Administrator-Privilegien erfordert. Daher kann ein normaler Anwender sie nicht durchführen.

Versionsprüfung

Die Registrierung der Komponente gilt systemweit und zwar nicht für den DLL-Dateinamen, sondern für die Class ID. Daher ist es erforderlich, das es systemweit nur genau eine registrierte Version der davinci4ocx.dll gibt, dammit die Installationsprogramme eine eventuelle ältere Dateiversion finden können um anhand der Dateiversion zu vergleichen, ob die Datei aktualisiert werden muss. Diese gehört in den Systemordner Gemeinsame Dateien oder Common Files. Der Name dieses Ordners ist von der Installation (Betriebssystemversion, Sprache...) abhängig. Die Lage dieses Ordners kann die Anwendung aus der Windows Registry mit Windows API-Funktionen abfragen, z.B. mit der API-Funktion SHGetFolderPath.

Unter diesem Ordner muss das Installationsprogramm den Unterordner Herdsoft anlegen und darin die Dateien davinci4ocx.dll und davinci4_license.html ablegen. Falls die Datei davinci4ocx.dll bei der Installation bereits existieren sollte, muss das Installationsprogramm vor einem Update die Versionsinformationen der Datei prüfen um zu entscheiden, ob die zu installierende Datei neuer ist als die bereits vorhandene.

Jede Anwendung, welche die davinci4ocx.dll verwendet, erhöht im Registrierungsschlüssel HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs den Wert mit dem Dateinamen der davinci4ocx.dll um eins. Beim deinstallieren wird er entsprechend um eins verringert und erst wenn 0 erreicht wird, wird die davinci4ocx.dll entfernt.

Wenn diese Regeln vom Installationsprogramm nicht korrekt umgesetzt werden, könnte es vorkommen, dass eine neu installierte Anwendung die Funktion einer zuvor bereits installierten Anwendung verhindert, entweder nach der Installation, oder nach dem Entfernen.

Nach unserem Kenntnisstand kann nur ein 64-Bit Installationsprogramm eine 64-Bit Komponente korrekt installieren.

Registrieren mit regsvr32.exe

Sie können die Registrierung auch manuell durch Aufruf des Dienstprogrammes regsvr32.exe durchführen:

Für die 32-Bit Version:

regsvr32.exe davinci4ocx.dll

Für die 64-Bit Version:

c:\Windows\SysWOW64\regsvr32.exe davinci4ocx.dll

Siehe auch

.Deployment der ActiveX-Komponente

.Side-By-Side Konfiguration

-


Valid HTML 4.01!