Dynamisches Registrieren von ActiveX Controls

19/08/2008 - 16:58 von Marcel Kloubert | Report spam
Hi!

Ich möchte ein ActiveX Control (speziell OLE-Control) für eine EXE-Datei
laden OHNE das Control in der Registry registrieren zu müssen. Es soll das
Control an Hand eines Dateipfades (relativer Pfad) geladen werden (geht das
u.a. über die Win32 API?).

Hintergrund ist, dass ich das den gesamten Inhalt des Stammverzeichnisses
des Programms einfach kopiere (z.B. auf CD) und weitergebe, OHNE dass der
Zielrechner besagtes ActiveX Control installiert bzw. registriert hat. Das
Control ist in einem Unterverzeichnis und nicht im selben wie die EXE.

mfg

Marcel
 

Lesen sie die antworten

#1 Volker Voecking
23/08/2008 - 16:32 | Warnen spam
Marcel Kloubert wrote:
Hi!

Ich möchte ein ActiveX Control (speziell OLE-Control) für eine EXE-Datei
laden OHNE das Control in der Registry registrieren zu müssen. Es soll
das Control an Hand eines Dateipfades (relativer Pfad) geladen werden
(geht das u.a. über die Win32 API?).



Ich denke nicht, dass das funktioniert, da die Registry nunmal der Ort ist
in dem die Interfaces und die sie implementierenden Binàries gefunden werden.

Was Du mal probieren könntest ist folgendes:
Beim Programmstart kannst Du dein ActiveX-Control programmatisch
registrieren (natürlich vor dem ersten Zugriff auf das Control).
Um keine Spuren zu hinterlassen, solltest Du es dann beim Beenden des
Programms wieder "de-registrieren".

Das geht mit Hilfe der beiden Methoden DllRegisterServer() und
DllUnregisterServer(), die jede ActiveX-Control-DLL exportiert.


Gruß,
Volker

Ähnliche fragen