dll nicht gefunden
-
Hi Forum!
Ich habe ein problem.
Vor einiger Zeit habe ich mir eine dll geschrieben. Diese funzt bei mir super. Wenn ich allerdings die dll und das Proggi weitergebe, geht gar nix mehr.
Die dll liegt im Ordner
C:\WINNT\System32\Das Pogramm meckert allerdings auf anderen Rechnern:
Laufzeitfehler '52':
Datei nicht gefunden: scrIch habe mir mal mit dem dependency Walker angeschaut, welche dll´s denn noch von meiner dll aufgerufen werden.
Ich habe dann getestet welche dll auf dem anderen System nicht vorhanden ist.
Da gabs sogar eine.
mscoree.dllAlso flux bei mir mal die mscoree.dll umbenannt und dann getestet.
Nun hatte ich also auch den selben Fehler:
Laufzeitfehler '52':
Datei nicht gefunden: scrOBWOHL ich nur die mscoree.dll umbenannt habe.
Die scr.dll war noch vorhanden.Ich bekomme also eine Fehlermeldung das meine scr.dll nicht gefunden wurde, wenn eine andere dll die in abhängigkeit zu meiner steht nicht vorhanden ist.
Soweit so gut, nun dachte ich mir, teste doch mal auf einem anderen rechner wenn du dort alle dlls die in abhängigkeit zu deiner stehen rüberschiebst.Tja...
leider immernich der selbe Fehler...Obwohl nun alle dlls die von meiner angesprochen werden vorhanden sind.
Ich muss noch dazu sagen, das ich die dll mit .NET Programmiert habe.
Hat jemand eine Idee wie ich das Problem beseitigen kann? Oder kann man dlls die man mit .NET geschrieben hat nur ausführen, wenn man auch die Entwicklungsumgebung installiert hat?
Greetz
Joey
-
Oder kann man dlls die man mit .NET geschrieben hat nur ausführen, wenn man auch die Entwicklungsumgebung installiert hat?
sag das blos net weiter, sonst kommt M$ wirklich noch auf dumme Gedanken...
Die mscoree.dll die Microsoft .NET Runtime Execution Engine, wenns die braucht, dann brauchts die halt, da kommst net drum rum. Warum leiferst du die dll net einfach mit aus? Die checkst ob auf dem System ne neuere version (falls überhaupt eine) liegt, falls nicht, kopierst du deine rein.
http://www.dll-files.com/dllindex/dll-files.shtml?mscoree[ Dieser Beitrag wurde am 03.04.2003 um 11:30 Uhr von CMatt editiert. ]
-
NET-Framework ist aber auf dem Rechner, oder?
-
Auf meiner Kiste ja...
Nur funktioniert die dll auf einem anderen rechner nicht. Auch nicht wenn ich beide dlls plus proggi auf den rechner ziehe.
Und genau das ist mein Problem
-
hast du die DLLs überhaupt registriert?
-
Hab ich versucht, meine dll lässt sich nicht registrieren.
DllRegisterEntryPoint not found
und wenn ich versuche die mscoree auf dem anderen rechner zu registrieren, krieg ich eine Fehlermeldung von wegen .NET Framework.
mit "regsvr32 dllname" hab ichsc auch schon probiert. Auch erfolglos.
-
Zitat aus einer Newsgroup:
Register .NET Dll:
One the developement machine this should happen automatically, but on other machines you'll need to copy the DLL and .TLB file to the machine and then register (with regsvr32) the TLB file, NOT the DLL. Take a look at RegAsm.exe in the help.
-
Das kann mir gut weiterhelfen.
Aber was ist eine TLB Datei und wo bekomme ich sie her?
-
.TLB ist eine TypeLibrary-Datei und wird (zumindest unter MSVC 6.0) vom MIDL-Compiler erzeugt (automatisch beim Kompilieren eines DLL-Projekts).
-
Ich nehme mal an die .TLB Datei "sollte" sich auch im Debug ordner befinden, oder?
-
hups... vergessen...
Also ich hab jetz mehrmals die Platte nach *.tlb durchsucht, ohne ergebnis. Weisst du wie oder was ich einstellen muss im diese Datei mit zu erzeugen?
-
Ich kenne mich mit .NET auch (noch) nicht doll aus. Vielleicht hilft das:
you'll have to register your DLL for com-interop then (build a COM wrapper for your .NET DLL). Under Project... Properties... Configuration Properties... Build, make sure the "Register For COM Interop" Checkbox is chosen.
-
Bisher habe ich das Problem nicht lösen können
Die von dir beschriebene Einstellung finde ich einfach nicht.
Ich muss einen anderen Tag mal kucken ob ichs besser hinkriege.
Aber danke euch für eure Hilfe!
Einen Schritt bin ich nämlich schon weiter.
Greetz
Joey