Directory Contents Search << >>


DaVinci 4: Side By Side-Konfiguration mit Manifesten

Konventionelle Registrierung

Die Verteilung von Anwendungsprogrammen, die eigene ActiveX-Server mitbringen, ist ohne Side By Side-Konfiguration wesentlich aufwändiger als das Deployment von Anwendungen, die ausschließlich aus DLLs mit API-Aufrufen bestehen.

Da ActiveX Server wie alle COM-Container registriert werden müssen und diese Registrierung nicht nur für den angemeldeten Anwender gilt, sind für die Registrierung Administrator-Berechtigungen erforderlich. Da die Registrierung rechnerweit erfolgt, muss die DLL oder OCX-Datei mit dem ActiveX im System-Ordner Common Files abgelegt werden, wobei die VERSIONINFO Ressourcen beachtet werden müssen. Andernfalls könnte eine neu installierte Anwendung die Registrierung einer neueren Version des COM-Objekts aus einer anderen Anwendung mit einer älteren Version überschreiben, was zur Folge hätte, dass die zuvor bereits installierte Anwendung nicht mehr funktionieren würde. Also muss sichergestellt sein, dass alle Installationsprogramme sich einig sind, das es nur eine Datei-Version von jedem ActiveX-Container geben darf.

Im Falle des davinci4ocx.dll ist dies der Dateiname %CommonFiles%\herdsoft\davinci4ocx.dll.

Für Windows-Versionen vor XP SP2 war dies leider der einzige mögliche Weg. Daher konnte man eine Anwendung, die eigene ActiveX-Server mitbrachte, grundsätzlich erst nach Ausführung eines Installationsprogrammes verwenden.

Side by Side

Ab Windows XP SP 2 ist es nun alternativ möglich, ein ActiveX durch die Side by Side Konfiguration in denselben Ordner zu kopieren wie die EXE-Datei und es ohne Registrierung zu verwenden. Daher wird kein Setup-Vorgang und keine Administrator-Privilegien benötigt. Die Anwendung kann auch z.B. einfach auf einen Netzwerk-Server bereitgestellt und durch starten der .EXE-Datei aktiviert werden.

Für ältere Windows-Betriebssysteme wie Windows NT, 2000 und XP bis SP1 ist der konventionelle Weg über die Registrierung der Komponente erforderlich.

Manifeste

Für die Side-By-Side Konfiguration wird der ausführbaren EXE-Datei ein Manifest hinzugefügt. Das ist eine XML-Datei, die Angaben darüber enthält, welche Vorbedingungen eine EXE-Anwendung zur Ausführung benötigt. In diesem Manifest wird auf das Manifest der davinci4ocx.dll verwiesen. Diese enthält die Angaben zur COM-Registrierung und daher kann die Anwendung ausgeführt werden, auch wenn die davinci4ocx.dll nicht registriert wurden.

Manifeste in EXE-Dateien können entweder als externe Dateien mit dem Dateinamen der EXE-Anwendung + .manifest gespeichert werden oder in den Programm-Ressourcen als Ressource mit der ID 1 und dem Resourcentyp RT_MANIFEST.

Angenommen, Ihr Anwendungsprogramm heißt myapplication.exe, dann ist der Dateiname der Manifest-Datei myapplication.exe.manifest hier können Sie den Verweise auf davinci4ocx.dll folgendermaßen implementieren:

Beispiel-Manifest

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity
type = "win32"
name = "myapplication"
version = "1.0.0.0" />

<dependency>

<dependentAssembly>

<assemblyIdentity
type="win32"
name="davinci4ocx"
version="1.0.0.0" />

</dependentAssembly>

</dependency>

</assembly>

Entwicklung

Das Side by Side-Verfahren ist nicht für Ihre Entwicklungsmaschine geeignet, nur für das Deployment auf den Rechnern Ihrer Endanwender. Auf dem Entwicklungsrechner ist eine Registrierung erforderlich.

Siehe auch

.Deployment der ActiveX-Komponente

.Microsoft Artikel: Registration-Free Activation of COM Components: A Walkthrough.

-


Valid HTML 4.01!