none
COM-DLL: Fehler 0x80070002 (Datei am angegebenen Ort nicht gefunden) RRS feed

  • Frage

  • Ich bin ir nicht sicher ob meine Frage hier am richtigen Ort ist.

    Ich habe mit VS2015 eine COM-DLL geschrieben, die in VS2015 funktioniert samt einer kleinen Konsolen-App, die darauf zugreift.

    Mit einem Setup-Projekt konnte ich die DLL auf einem anderen Rechner installiert.

    Nun versuche ich von Access aus diese DLL zu nutzen.

    Das geht auch formal, d.h. ich kann einen Verweis auf die DLL anhaken. In VBA kann ich mit Dim xx as new COM-DLL.Class1 einen Verweis erzeugen und dann auch auf die Methoden und Eigenschaften zugreifen.

    Lasse ich den Code laufen, dann bekomme ich aber eine Fehlermeldung 0x80070002

    EDIT: Die Beschreibung ist etwas knapp.

    Bei der Anweisung Dim xx as new COM-DLL.Class1 kommt noch keine Fehlermeldung, d.h. der New()-Code der DLL müsste doch eigentlich ausgeführ werden, oder ?

    bei einer Zeile xx.Eigenschaft_1=4711 kommt dann aber die Fehlermeldung.

    Die besagt "Die Datei konnte an der angegebenen Stelle nichht gefunden werden".

    Wie bereits beschrieben existiert ein Setup-projekt, welches auch eine .MSI-Datei erzeugt hat.

    Im konfigurierten Verzeichnis ist dann auch die gewünschte DLL und auch eine .tlb-Datei zu finden.

    Wie kann ich dem auf den Grund gehen ?

    Übrigens habe ich mehrere Dateien Regasm, jeweils aber in abenteuerlich langen Pfaden.

    Kann mir dieses Tool mehr sagen ?

    • Bearbeitet NicoNi Montag, 14. August 2017 12:28
    Montag, 14. August 2017 11:33

Antworten

  • Hallo Nico,

    Das ist alles lange her. 
    Es soll 2 Kandidaten geben (mindestens) 

    Der erste wäre die Registrierung.

    Die Registrierung einer COM-DLL soll mit REGSVR32 gemacht werden. 
    Hast Du das erledigt / geprüft?

    Der zweite wären Abhängigkeiten deiner DLL die Du nicht bedienst sprich deren DLL Du nicht mitinstallierst.

    Versuche über den Dependency Walker weiterzukommen.
    Schau mal ob der Link hier weiterhilft:
    https://stackoverflow.com/questions/14882170/getting-error-80070002-from-com-dll

    HTH

    Grüße Alexander




    • Bearbeitet alexander65 Montag, 14. August 2017 17:53
    • Als Antwort markiert NicoNi Montag, 14. August 2017 19:02
    • Tag als Antwort aufgehoben NicoNi Montag, 14. August 2017 19:03
    • Als Antwort markiert NicoNi Montag, 14. August 2017 19:03
    Montag, 14. August 2017 17:53

Alle Antworten

  • Hallo Nico,

    Das ist alles lange her. 
    Es soll 2 Kandidaten geben (mindestens) 

    Der erste wäre die Registrierung.

    Die Registrierung einer COM-DLL soll mit REGSVR32 gemacht werden. 
    Hast Du das erledigt / geprüft?

    Der zweite wären Abhängigkeiten deiner DLL die Du nicht bedienst sprich deren DLL Du nicht mitinstallierst.

    Versuche über den Dependency Walker weiterzukommen.
    Schau mal ob der Link hier weiterhilft:
    https://stackoverflow.com/questions/14882170/getting-error-80070002-from-com-dll

    HTH

    Grüße Alexander




    • Bearbeitet alexander65 Montag, 14. August 2017 17:53
    • Als Antwort markiert NicoNi Montag, 14. August 2017 19:02
    • Tag als Antwort aufgehoben NicoNi Montag, 14. August 2017 19:03
    • Als Antwort markiert NicoNi Montag, 14. August 2017 19:03
    Montag, 14. August 2017 17:53
  • Ich galube, ich habe es selber gelöst durch manuelles Löschen aller Verweise in der Registry. Danach Neu-Installation. Jetzt scheint es zu funktionieren.

    Montag, 14. August 2017 19:04