• Domingo 15 de Diciembre de 2024, 00:44

Autor Tema:  Distribuir Una Aplicacion Vc++ .net  (Leído 3161 veces)

Escalona

  • Miembro activo
  • **
  • Mensajes: 63
    • Ver Perfil
Distribuir Una Aplicacion Vc++ .net
« en: Jueves 21 de Diciembre de 2006, 13:49 »
0
Buenas el caso es que he terminado de programar una aplicacion con Visual C++ .NET, y ahora quiero ejecutarla en otra maquina, he probado llevandome solo el ejecutable, pero no me funciona, supongo que tendre que crear una distribucion de la aplicacion de alguna forma para empaquetar todas las dependencias que usa.

Bueno espero vuestra respuesta, Gracias.

SteelX

  • Miembro MUY activo
  • ***
  • Mensajes: 218
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #1 en: Jueves 21 de Diciembre de 2006, 15:10 »
0
es solo un ejecutable o el proyecto el que quieres transportar??.

si es el ejecutable y lo enlazaste a librerias dinamicas, tienes que incluir las librerias dinamicas junto con el ejecutable.

si es el proyecto. recomendaria colocar path's relativos. por portabilidad.
Inside the code

Escalona

  • Miembro activo
  • **
  • Mensajes: 63
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #2 en: Jueves 21 de Diciembre de 2006, 15:38 »
0
Es un proyecto lo que yo he desarrollado en C++, y me gustaria instalarlo en otro PC para poder usarlo. Osea que si, es el proyecto lo que quiero distribuir, ¿que son eso de path's relativos?

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #3 en: Jueves 21 de Diciembre de 2006, 15:47 »
0
http://www.dependencywalker.com/

Con eso ves las DLLs de las cuales dependen tu ejecutable y que seguramente sean la causa del problema. De no ser el caso y si el programa comienza su ejecucion entonces depuralo.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

SteelX

  • Miembro MUY activo
  • ***
  • Mensajes: 218
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #4 en: Jueves 21 de Diciembre de 2006, 16:52 »
0
path(ruta) absoluto es el que te muestra la ruta completa con el disco donde esta y la secuencia de directorios...
ejemplo
c:\directorio_c++\projecto\aplicacion\includes

y relativos.. solo muestra la secuencia de  directorios en este formato  "../"

asi si transladas tu directorio donde tienes el proyecto  a otra unidad de disco u otros subdirectorios.

en este caso seria

../../aplicacion/includes

tambien como dice eternal puedes ver si tienes problemas con las dll.

para el visual c++ agregas la siguiente instruccion al Linker
/VERBOSE:LIB
y puedes ver  la parte encadenamiento
.
Inside the code

Escalona

  • Miembro activo
  • **
  • Mensajes: 63
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #5 en: Viernes 22 de Diciembre de 2006, 10:56 »
0
Na, probé primero lo de las DLLs y todas estaban instaladas en el sistema, despues para asegurarme instale el .NET Framework, y el Microsoft Platform SDK que use en el desarrollo de la aplicacion en el equipo que quiero instalarla, y segui sin resultados.
Y ahora mismo acabo de comprobar el tema de los paths, y uso paths relativos (en las opciones tengo desactivado el "Use FULL Paths").

Así que no sé, tambien probé haciendome el instalador con la aplicacion que trae el Visual Studio 2005 pero ni por esas, el mensaje de error es siempre el mismo, ejecuto la aplicacion y me aparece en pantalla :


"No se pudo iniciar la aplicacion porque su configuracion es incorrecta. Reinstalar la aplicacion puede solucionar el problema"


Esto me esta empezando a mosquear...  <_<

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #6 en: Viernes 22 de Diciembre de 2006, 11:25 »
0
Si es realmente como decis y estan todas las DLLs (por el mensaje lo dudo) arranca el programa con un depurador (WinDbg, OllyDbg, etc) y fijate donde falla.

De ultima subi el ejecutable asi lo podemos ver ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Escalona

  • Miembro activo
  • **
  • Mensajes: 63
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #7 en: Viernes 22 de Diciembre de 2006, 12:29 »
0
Nada, he vuelto a comprobar todas las DLLs y parece que están todas, he abierto el programa con el WinDBG y me da el mismo mensaje:

"Could not create proccess  *rutadelfichero* ,Win32 error 14001"...

Adjunto el ejecutable por si os es de alguna utilidad, lo he subido a RapidShare porque ocupa 140k.

pruebas.exe

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #8 en: Viernes 22 de Diciembre de 2006, 12:59 »
0
¿Estas probando en Windows XP con Service Pack 1 o superior? En mi Windows 2000 obviamente no funciona al enlazar estaticamente funciones que no estan presentes pero en mi XP si arranca ...

Agrego: tal vez esto tenga algo de utilidad, no lo se a ciencia cierta:
http://www.qtforum.org/article/16291/Visua...is-incorre.html
http://www.eggheadcafe.com/forumarchives/v...ost24790861.asp

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Escalona

  • Miembro activo
  • **
  • Mensajes: 63
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #9 en: Viernes 22 de Diciembre de 2006, 13:53 »
0
Gracias por tu rápida respuesta, el equipo donde quiero ejecutarlo tiene el XP SP2, osea que no creo ke sea ese el problema, probablemente a ti te rula porque tendras instalado el Visual Studio y las mismas herramientas con las que esta desarrollada la aplicacion y no haya problemas de dependencias.

Bien siguiendo los links que me has dado, me he dado cuenta que estaba cometiendo un error grave, jejeje al no haber usado nunca el depends.exe, no sabia como usarlo y lo  estaba corriendo en el pc con el que desarrolle la aplicacion y no en el que quiero instalarla.
Al correr el depends.exe en el equipo que quiero usar la app, me ha devuelto un par de errores, faltaban 3 dlls, ingenuo de mi que pensé que ya habia dado con el error.Incluí esas dlls que faltaban y volvi a ejecutar el programa... no rulaba.
Lo volví a abrir con el depends.exe, y me devuelve un nuevo error, parece que referente a la libreria MPR.DLL. Te pongo un pantallazo con lo que me dice el depends.exe:


Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #10 en: Viernes 22 de Diciembre de 2006, 14:10 »
0
Aca deberias encontrar la respuesta:
http://channel9.msdn.com/ShowPost.aspx?PostID=23261

Deshabilita el manifest, copia TODAS las dependencias necesarias (no son solo DLLs, mira sobre el final del enlace anterior) o intenta hacer lo que dice el segundo enlace de mi mensaje anterior.

"So, if I read this correctly, I can avoid this problem entirely by A) installing the vcredist package, and B) providing a RETAIL version of the DLL or EXE in question. I don't even need to worry about WinSxS unless a DebugCRT dependency is required."

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Escalona

  • Miembro activo
  • **
  • Mensajes: 63
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #11 en: Martes 26 de Diciembre de 2006, 10:17 »
0
Nada sigo sin encontrar solucion, he seguido todos los pasos que me indican en el foro y nada, de ninguna de las maneras, seguire probando por otros links que he encontrado, pero parece bastante jodido...
Cada vez me convencen menos las herramientas de desarrollo de Microsoft...

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #12 en: Martes 26 de Diciembre de 2006, 10:38 »
0
¿Probaste instalando el vcredist package?

Pero principalmente:
¿Probaste a compilar en version release? En realidad nunca tenes que distribuir la version de debug ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Escalona

  • Miembro activo
  • **
  • Mensajes: 63
    • Ver Perfil
Re: Distribuir Una Aplicacion Vc++ .net
« Respuesta #13 en: Martes 26 de Diciembre de 2006, 10:51 »
0
Por fin!! Ya me rula, el problema estaba en eso, que intentaba distribuir la version de debug... el vcredist lo tenia instalado, pero hasta que no le distribui la version release como tu bien me dijiste no rulaba, ahora ya toca testear la app.

Muchas gracias por la ayuda. Y si alguien se encuentra con este error ya sabe...
   a ) Instalar el vcredist_x86.exe.
   b ) Compilar la aplicacion en modo release.

Y listo.