COM DLLs mit der Applikation verteilen?

22/06/2008 - 15:19 von leslie eldrige | Report spam
Hallo Zusammen,

Ich habe ein paar DLLs über COM Verweis in meine Applikation integriert. Nun
wenn ich die Applikation auf meinem PC (auf dem auch das Produkt vorhanden
ist, das mir diese DLLs zur Verfügung stellt) ausführe, dann funktioniert sie
problem los.

Wenn ich aber die Applikation auf einem 'fremden' System ausführen will
(DLLs und Config sind dabei, nicht aber auch das gesamte Produkt, das mir die
DLLs zur Verfügung stellt), dann erhalte ich die Meldung:

Error description: Retrieving the COM class factory for component with CLSID
. failed...

Soweit ich es im Internet nachschauen konnte, kommt diese Meldung daher,
dass die DLLs die ich verwende, auf dem Ziel System nicht registriert sind!

Wenn ich aber über regsvr32 versuche die DLLs zu registrieren, dann erhalte
ich die Meldung:

DllRegisterServer entry point was not found ...

Es handelt sich um .NET 2.0 Version. Làuft die Registrierung dort anderes?
Auf dem Zielsystem habe ich nur eine .NET 2.0 Runtime.

Für jeden Hinweis vielen Dank im Voraus.

les
 

Lesen sie die antworten

#1 Thorsten Doerfler
22/06/2008 - 16:22 | Warnen spam
leslie eldrige schrieb:
Ich habe ein paar DLLs über COM Verweis in meine Applikation integriert. Nun
wenn ich die Applikation auf meinem PC (auf dem auch das Produkt vorhanden
ist, das mir diese DLLs zur Verfügung stellt) ausführe, dann funktioniert sie
problem los.

Wenn ich aber die Applikation auf einem 'fremden' System ausführen will
(DLLs und Config sind dabei, nicht aber auch das gesamte Produkt, das mir die
DLLs zur Verfügung stellt), dann erhalte ich die Meldung:

Error description: Retrieving the COM class factory for component with CLSID
. failed...



Kurz und gut: Das Produkt, das Dir die COM DLLs zur Verfügung stellt,
muss auf dem Zielsystem korrekt installiert sein, sonst kannst Du die
COM DLLs nicht nutzen. Schon weil Abhàngigkeiten existieren können,
aber auch ist es fraglich, ob der Hersteller des Produkts Dir den
Vertrieb dieser COM DLLs ohne dieses gesamte Produkt erlaubt. Office
Anwendungen kannst Du ja auch via COM Interop nutzen, aber noch lange
nicht selber vertreiben.

Wenn ich aber über regsvr32 versuche die DLLs zu registrieren, dann erhalte
ich die Meldung:

DllRegisterServer entry point was not found ...



Die COM Registrierung kann auch direkt durch das Setup erfolgen, ohne
dass die einzelnen Komponenten self-register fàhig sein müssen.

Wenn Dir der Hersteller dieses Fremd-Produkts, entgegen meiner
Vermutung, den Vertrieb dieser COM DLLs gestattet, wàre es natürlich
für Dich am einfachsten, Dich direkt mit diesem zu dem Thema
auseinanderzusetzen. Er kann Dir am besten sagen, wie seine DLLs
installiert werden müssen.

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen