Ich installiere eine benutzerdefinierte Anwendung auf einem brandneuen Windows 2003 Server. Einige DLLs müssen hinzugefügt und registriert werden, und ich habe sie auf den Server im Ordner C: \ WINDOWS \ System32 kopiert. Dort waren sie schon immer, als die Anwendung unter Windows NT und 2000 ausgeführt wurde .
Wenn ich jedoch versuche, sie zu registrieren, indem ich:
regsvr32 c: \ windows \ system32 \ nameoflibrary.dll
Es gibt zurück:
LoadLibrary("c:\windows\system32\nameoflibrary.dll") failed -
The specified module could not be found.
Die DLL ist jedoch genau dort. Ich kann es sehen. Wenn ich den Pfad in den Windows Explorer kopiere und versuche, ihn auszuführen, wird mir mitgeteilt, dass ich keine DLL ausführen kann, sodass ich weiß, dass sie vorhanden ist. Eine kleine Komplikation ist, dass die DLLs in VB5 erstellt wurden - aber die VB5-Laufzeit ist auf dem Server installiert, sodass dies kein Problem sein sollte.
Irgendwelche Ideen?
Antworten:
Möglicherweise fehlt ein abhängiges Modul. Sie müssen sich den getlasterror-Code ansehen, um festzustellen, warum das Modul nicht gefunden wurde.
quelle
Jim B. ist wahrscheinlich richtig. Holen Sie sich DependencyWalker und laden Sie {nameoflibrary.dll} - es zeigt Ihnen, welche abhängige DLL fehlt.
quelle
dumpbin /dependents <file.exe/dll>