Buenas, estoy aprendiendo a programar en Visual C++, con el Visual Studio
2005 y los programas resultantes funcionan bien en mi máquina. Pero a la hora
de ejecutar los programillas en otros ordenadores sale este error:
"No se pudo iniciar la aplicación porque su configuración es incorrecta.
Reinstale la aplicación puede solucionar el problema".
He probado a instalar el Framework 2 pero el problema persiste.
Muchas gracias.
Si estas compilando en Release, debes distribuir las dll msvcr80.dll,msvcp80.dll y msvcm80.dll que se encuentran en la carpeta:
CARPETA_WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd\
y junto con tu programa tambien debes distribuir el archivo:
CARPETA_WINDOWS\WinSxS\Manifests\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd.manifest
este ultimo le cambias el nombre al nombre de tu aplicacion .manifest
eso si tu aplicacion solo usa funciones estandars del C runtime.
Una forma de saltarse todo esto es compilando el proyecto en MultiThreaded /MT y no MultiThreaded-DLL pero algunas librerias no funcionan con la primera opcion.
Una vez me pasó algo similar tambien usando el visual c++, el ejecutable corría bien en mi maquina, pero al tratar de ejecutarlo en cualquier api 32 bits me aparecia el error. Como no tenia la licencia :ph34r: del visual ni me gaste en averiguar lo que era, me pasé para el dev-c++. Lo unico que extraño del visual eran los diagramas para las clases, que en dev son diferentes.
salu2
Yo tambien tenia el mismo problema y por eso que empece a ocupar Code::Blocks con el VC 2003 Toolkit, es una excelente IDE y un excelente compilador. Funciona bien,pero como todo programa opensource no esta muy bien pulido, asi que me puse a buscar esa solucion para el problemita de VC++ 2005 que de hecho es para un bug para VC++ 2005 beta 2, supongo que en algunos sistemas todavia esta ese problema.
Gracias por las respuestas. Al final encontré una opción que era USE of MFC y estaba en dinámico. Lo cambié a estático y ya funciona en cualquier máquina.