como saber las dll y acx de las que depende un .exe

29/01/2004 - 17:26 por XYZ | Informe spam
Hola a todos/as

Alguien sabe un método preciso de saber de que DLLs y OCXs depende un
ejecutable
para cuando lo queremos distribuir en otros ordenadores no nos salgan los
típicos errores
de no se encuentra tal o cual librería dll etc..

Gracias.

Preguntas similare

Leer las respuestas

#1 Cholo Lennon
29/01/2004 - 18:34 | Informe spam
Para DLLs enlazadas implícitamente utiliza la herramienta Dependency walker
de Visual Studio.
Para DLLs cargadas dinámicamente (utilizando LoadLibrary) no te queda otra
que llevar la cuenta, al igual que DLLs COM (OCX) ya que estos se cargan
mediante el registro de windows, a traves de su CLSID.
Si son OCXs de terceros puede ver la documentación, muchos enumeran las
dependencias. Otra forma es saber en que lenguaje están hechos.

Como una solución a medias, puedes utilizar alguna aplicación que intercepta
llamadas a las APIs de windows. Obviamente deberás interceptar LoadLibrary
(o CoCreateInstance si quieres información de DLLs COM, tal como el CLSID),
El gran problema es que deberás ejecutar tu aplicación de manera total para
asegurarte que se cargan todas y cada una de las DLLs y así obtener
información completa. En
http://www.codeproject.com/useritem...api%7Chack
puedes encontrar un artículo sobre este tema.

Realmente, por lo menos yo, no conozco un único método para determinar las
depenencias. Quizás alguien conozca algún software para dicha tarea.

Saludos
Cholo Lennon
Salta, ARG
Respuesta Responder a este mensaje
#2 XYZ
30/01/2004 - 06:57 | Informe spam
Muchas gracias por tu información (y gracias por supuesto por tu interés).





"Cholo Lennon" escribió en el mensaje
news:#
Para DLLs enlazadas implícitamente utiliza la herramienta Dependency


walker
de Visual Studio.
Para DLLs cargadas dinámicamente (utilizando LoadLibrary) no te queda otra
que llevar la cuenta, al igual que DLLs COM (OCX) ya que estos se cargan
mediante el registro de windows, a traves de su CLSID.
Si son OCXs de terceros puede ver la documentación, muchos enumeran las
dependencias. Otra forma es saber en que lenguaje están hechos.

Como una solución a medias, puedes utilizar alguna aplicación que


intercepta
llamadas a las APIs de windows. Obviamente deberás interceptar LoadLibrary
(o CoCreateInstance si quieres información de DLLs COM, tal como el


CLSID),
El gran problema es que deberás ejecutar tu aplicación de manera total


para
asegurarte que se cargan todas y cada una de las DLLs y así obtener
información completa. En
http://www.codeproject.com/useritem...api%7Chack
puedes encontrar un artículo sobre este tema.

Realmente, por lo menos yo, no conozco un único método para determinar las
depenencias. Quizás alguien conozca algún software para dicha tarea.

Saludos
Cholo Lennon
Salta, ARG


Respuesta Responder a este mensaje
#3 Rodrigo Corral González [MVP]
30/01/2004 - 09:19 | Informe spam
Process Explorer de www.systeminternals.com permite ver las dll que tiene
cargadas un proceso (además de otras muchas cosas) en un determinado
instante. Entre el Dependency Walker y el Process Explorer puedes obtener
una información bastante completa.

Rodrigo Corral González

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net
Respuesta Responder a este mensaje
#4 Juan Antonio
30/01/2004 - 20:16 | Informe spam
Lo siento anoche me equivoque y lo puse en el global.

el paquete microsoft visual studio lleva un programilla
que se llama installshield que creo que permite crear un
instalable a partir de un proyecto realizado en visual
c++.

no estoy seguro si te servira. salu2.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida