Estoy instalando una aplicación personalizada en un nuevo Windows 2003 Server. Es necesario agregar y registrar un par de archivos DLL, y los he copiado al servidor en la carpeta C: \ WINDOWS \ System32, que es donde siempre han estado cuando la aplicación se ejecutaba en Windows NT y 2000 .
Sin embargo, cuando intento registrarlos usando:
regsvr32 c: \ windows \ system32 \ nameoflibrary.dll
Devuelve:
LoadLibrary("c:\windows\system32\nameoflibrary.dll") failed -
The specified module could not be found.
Sin embargo, la DLL está ahí. Puedo verlo. Si copio la ruta al Explorador de Windows e intento ejecutarla, me dice que no puedo ejecutar una DLL, así que sé que está allí. Una complicación menor es que las DLL se crearon en VB5, pero el tiempo de ejecución de VB5 está instalado en el servidor, por lo que esto no debería ser un problema.
¿Algunas ideas?
Respuestas:
Podría ser que falta un módulo dependiente. Debe mirar el código getlasterror para determinar por qué no se encontró el módulo.
fuente
Jim B. probablemente tenga razón. Obtenga DependencyWalker y cargue {nameoflibrary.dll}: le mostrará qué DLL dependiente falta.
fuente
dumpbin /dependents <file.exe/dll>