Fehler COM-Klassenfactory nach Update

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von -Franky-.

    Fehler COM-Klassenfactory nach Update

    Hallo,

    ich habe eine Anwendung in vb.net Framework 4.5.2 geschrieben die ich auch schon häufiger aktualisiert habe, immer ohne Probleme.
    In dieser Anwendung verwende ich MapwinGiS, diese verursacht nach dem letzten Update auf anderen Rechnern, nicht auf meinem PC, folgende Fehlermeldung:

    Die COM-Klassenfactory für die Komponente mit CLSID ... konnte aufgrund des folgenden Fehlers nicht abgerufen werden.

    Außerdem verwende ich Komponenten der Firma Progress / Telerik. Wie gesagt, bisher waren Updates kein Problem. Jetzt habe ich die Bibliotheken von Telerik aufgrund eines Updates der das die Firma bereit gestellt hat in meinem Programm aktualisiert und es neu erstellt. Die Telerikkomponenenten interagieren nicht mit dem GIS! Ich verstehe nicht wieso nach etlichen Updates, eines, was noch nicht einmal mit dem Modul interagiert, jetzt Probleme auftauchen. Ich habe keine Idee wonach ich noch schauen muss.
    Ich habe schon gewechselt von einbetten und nicht einbetten.
    Verweis entfernen und wieder einfügen.
    Hat jemand eine Idee was ich noch machen kann?

    Viele Grüße und Dank an alle die sich mit dem Problem beschäftigen mögen,

    Archangel schrieb:

    Die COM-Klassenfactory für die Komponente mit CLSID ... konnte aufgrund des folgenden Fehlers nicht abgerufen werden.

    Schuß ins blaue: Entweder ist eine bestimmte Klasse nicht registriert oder es fehlt eine Abhängigkeit mit entsprechender Klasse.
    Mfg -Franky-
    Diese Fehlermeldung habe ich bekommen:

    Archangel schrieb:

    Die COM-Klassenfactory für die Komponente mit CLSID ... konnte aufgrund des folgenden Fehlers nicht abgerufen werden.


    Die Anwendung benötigt keine Installation, kopieren und fertig.

    Das macht es auch zusätzlich verwirrend, jetzt wirkt es so, als ob die Komponente registriert werden muss, war in der Vergangenheit aber nie erforderlich. Dies auch als Antwort zu Frankys Hinweis mit der Registrierung der Klasse.
    Hi

    Die komplette Fehlermeldung inkl. CLSID {xxxxx-xxxx....} wäre schon hilfreich. So wie ich die Fehlermeldung bisher lese ist ein COM-Interface nicht registriert. Normalerweise müsste Dir auch der Hersteller Deiner Telerik Komponente Auskunft geben können wie dessen Komponenten zu installieren sind bzw welche Voraussetzungen erfüllt sein müssen damit diese funktionieren. Falls kopieren der neuen Komponenten reicht, ist eventuell eine Abhängigkeit, die die neuen Komponenten nutzen, nicht vorhanden bzw. auch da fehlt ein registriertes COM-Interface.
    Mfg -Franky-
    Hallo Franky,
    vielen Dank für deine tatkräftige Unterstützung.
    Der Fehler entsteht im Programm an der Stelle, wo das erste Mal auf Mapwingis zugegriffen wird. Diese Komponente ist nicht von Telerik. Das Update von telerik hat das Problem lediglich ausgelöst. Mapwingis ist ein eigenständiges Projekt. Siehe hier: mapwindow.org/mapwingis/index.html
    Als Anhang ein Screenshot der Fehlermeldung.
    Mapwingis wurde nie auf den Anwender PC's registriert und es lief einwandfrei, wieso jetzt mit einmal diese Meldung?


    Bilder
    • F1.jpg

      27,67 kB, 418×136, 30 mal angesehen

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Archangel“ ()

    Hi

    Wenn Du mal nach der CLSID {C0EAC9EB-1D02-4BD9-8DAB-4BF922C8CD13} goo..., achne, darf ich ja nicht schreiben ;) , also in Deiner bevorzugten Suchmaschine suchst, wirst Du einige Treffer finden die das gleiche Problem im Zusammenhang mit diesem MapControl haben. Evtl. gibt es ja irgendwo eine Lösung dazu.

    Edit: Wenn das auf Deinem System funktioniert, könntest Du auch über den Registy-Editor, glaub im Zweig HKLM\CLSID nach dieser CLSID suchen um mal zu schauen was darunter registriert ist. Da es sich beim MapWinGIS um ein ActiveX Control handelt, muss dieses auf dem Zielsystem registriert werden.
    Mfg -Franky-

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „-Franky-“ ()

    Hallo Franky,
    die CLSID zu goo..., war ein guter Tipp, der mich zu dem Hinweis brachte die Manifest Datei genauer anzusehen, inwieweit die Einfluss darauf hat. Ich muss zu meiner Schande gestehen das ich die Bedeutung der Datei nicht kenne. Ich werde mir das morgen genauer ansehen und auf jeden Fall hier eine Rückmeldung dazu geben. Ob diese Datei mit dem Problem zu tun hat.
    Vielen DANK!
    Hallo Franky,

    ein abschließendes Feedback zu deiner Hilfe.

    Die Manifestdatei war, wie bereits im letzten Post vermutet, die Lösung des Problems. Eigentlich war der erste Hinweis schon richtig, die fehlende Registrierung der Com Komponente.
    Ich wusste zwar, dass ich ein Paste und Copy der Anwendung funktioniert, ohne Einträge in der Registry, aber die Rolle der Manifest-Datei, die kannte ich nicht. Das man hiermit eine alternative zur Registrierung der Kompetenten ohne Eintrag in der Registry hat, dass war die Erkenntnis des Tages für mich. Einen Eintrag in der Manifest-Datei gibt es dann, wenn in den Eigenschaften der Komponente in Visual Studio der Wert für isoliert auf TRUE gesetzt wird. Dieser Eintrag fehlte in der neuen Manifest nach dem Update. Wahrscheinlich habe ich vor längerer Zeit, in einem Anflug von Aufräumwahnsinn in den Verweisen, gesehen, dass es einen Verweis auf die ocx und die dll gab und den Eintrag für die ocx gelöscht. Damit ging auch der Eintrag in der Manifest verloren. Mit dem Update von Telerik hatte es also nichts zu tun.

    Vielen Dank an dieses Forum und speziell an Franky, der mich in die richtige Richtung gebracht hat die Ursache zu finden!