Estou instalando um aplicativo personalizado em um novo Windows 2003 Server. Algumas DLLs precisam ser adicionadas e registradas, e eu as copiei no servidor na pasta C: \ WINDOWS \ System32 - que é onde elas sempre estiveram quando o aplicativo estava sendo executado no Windows NT e 2000 .
No entanto, quando tento registrá-los usando:
regsvr32 c: \ windows \ system32 \ nameoflibrary.dll
Devolve:
LoadLibrary("c:\windows\system32\nameoflibrary.dll") failed -
The specified module could not be found.
A DLL está no entanto ali. Eu posso ver isso. Se eu copiar o caminho para o Windows Explorer e tentar executá-lo, ele informa que não consigo executar uma DLL, então sei que ela está lá. Uma pequena complicação é que as DLLs foram criadas no VB5 - mas o tempo de execução do VB5 está instalado no servidor, portanto, isso não deve ser um problema.
Alguma ideia?
Respostas:
Pode ser que um módulo dependente esteja ausente. Você precisa examinar o código getlasterror para determinar por que o módulo não foi encontrado.
fonte
Jim B. provavelmente está correto. Obtenha o DependencyWalker e carregue {nameoflibrary.dll} - ele mostrará qual DLL dependente está ausente.
fonte
dumpbin /dependents <file.exe/dll>