Distribución de aplicaciones C++ compiladas con Visual Studio 2005
Los últimos tres días he estado perdiendo tanto tiempo con esto que decidí hacer un post sobre el tema, espero que esta información le llegue a todos a través de Google y demás buscadores. Bueno, el tema es el siguiente, el Visual Studio 2005 tiene un sistema nuevo para el despliegue de aplicaciones en clientes. Esto se define en tipo “isolated applications” y “side-by-side assemblies”. Ahora las librerías como ATL, MFC y CRT son side-by-side assemblies que luego son usadas por las aplicaciones compiladas por Visual Studio 2005. Los beneficios principales de este sistema es que el despliegue de updates para una aplicación es menos dolorosa, y también se evita los problemas de versiones entre DLLs. Si necesitas mas información lee “About Isolated Applications and Side-by-side Assemblies”. El tema es el siguiente, cuando uno tiene instalado Visual Studio 2005 todo anda de lujo, uno puede copiar la aplicación a un directorio y todo anda perfecto. El problema es que cuando haces por ejemplo un zip de la aplicación y lo pasas a una computadora sin Visual Studio 2005 un error muy general es generado “The application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.”(Perdón pero no tengo la versión en español). Eso obviamente no te dice nada y uno empieza a buscar de manera interminable cual es el problema. La búsqueda en Google obtiene como resultado problemas similares en aplicaciones como el PuTTY, pero en general no hay una respuesta clara. Después de buscar tanto me puse a investigar y lo primero que note es que tenia que incluir un manifest file con mi aplicación. En Visual Studio 2005 esto se puede incluir dentro del EXE o es posible tenerlo en un archivo separado pero este archivo tiene que ser incluido obligatoriamente. Pero esto no resuelve el problema, la segunda parte implica instalar el runtime redistribuible del Visual Studio 2005 en el cliente donde va a ser corrida la aplicación. Lo podes bajar de acá. Una vez que esta eso entonces tu aplicación compilada en Visual Studio 2005 tiene que andar de manera adecuada en cualquier cliente (aunque hay algunas partes especificas para Windows 98 y Windows 2000 ya que ninguno de los dos soporta este método de despliegue de aplicaciones). Espero que esto les sirva y que no pierdan tiempo como yo lo perdí.