Exportar (0) Imprimir
Expandir todo

Redistribuir archivos de Visual C++

Cuando se desarrolla una aplicación utilizando Visual C++, se dispone de las ventajas de trabajar en un equipo que no sólo es un excelente entorno de desarrollo, sino también un entorno ideal en el que ejecutar y probar las aplicaciones. Sin embargo, cuando se desea implementar la aplicación en otros equipos, se deben redistribuir todos los archivos necesarios para que sea compatible con el sistema operativo de destino. Para obtener más información sobre los archivos que es posible que tenga que redistribuir con la aplicación, vea Ejemplos de implementación y Determinar qué archivos DLL se redistribuirán.

Sólo algunos archivos de Visual C++ se pueden redistribuir con la aplicación. Consulte el CLUF de Visual Studio 2005 y el archivo Redist.txt para ver qué archivos se pueden redistribuir con la aplicación. EULA.txt se puede encontrar en el directorio \Setup del primer CD del producto o en el DVD de Visual Studio 2005, y Redist.txt situado en el directorio Archivos de programa\Microsoft Visual Studio 2005 del segundo CD o en el DVD.

Los archivos de Visual C++ pueden redistribuirse utilizando los módulos de combinación redistribuibles suministrados, utilizando Visual C++ Redistributable Package o implementando ensamblados específicos de Visual C++ como ensamblados simultáneos privados en la carpeta local de la aplicación.

En el primer caso, se tiene que incluir un módulo de combinación con un ensamblado de Visual C++ específico en un paquete de Windows Installer o en un paquete de instalación similar utilizado para implementar esta aplicación en otro equipo. Para obtener más información, vea Redistribuir mediante módulos de combinación. Puede encontrar un ejemplo de esta implementación en Cómo: Implementar mediante un proyecto de instalación e implementación.

Visual C++ Redistributable Package (VCRedist_x86.exe, VCRedist_x64.exe, VCRedist_ia64.exe) debe ejecutarse en el sistema de destino como un requisito previo a la instalación de la aplicación. Este paquete instala y registra todas las bibliotecas de Visual C++.

NoteNota

Se recomienda redistribuir las bibliotecas de Visual C++ mediante este paquete en el caso de las aplicaciones generadas con Visual C++ Express y en aquellos casos en los que se deseen implementar todas las bibliotecas de Visual C++ a la vez.

Para obtener un ejemplo de cómo usar este paquete, vea Cómo: Implementar mediante XCopy.

Cuando se implementan bibliotecas de Visual C++ como un ensamblado simultáneo privado, deben agregarse a Windows Installer o a un paquete de instalación similar todos los archivos DLL y el archivo del manifiesto que forman este ensamblado y deben implementarse en el equipo de destino en un subdirectorio de la carpeta local de la aplicación, siguiendo las reglas de implementación de ensamblados privados. Se puede encontrar información sobre qué archivos DLL y del manifiesto de Visual C++ forman parte de los ensamblados de Visual C++ en Visual C++ Libraries as Shared Side-by-Side Assemblies. También se puede encontrar en Assembly Searching Sequence una descripción de las reglas que se deben seguir al implementar private assemblies para cargar en tiempo de ejecución. Para obtener un ejemplo de cómo implementar las bibliotecas de Visual C++ como un ensamblado privado, vea Cómo: Implementar mediante XCopy.

Posibles errores en tiempo de ejecución

Si hay un manifiesto presente en su aplicación pero no está instalada en la carpeta WinSxS una de las bibliotecas de Visual C++ necesarias, puede recibir uno de los siguientes mensajes de error, en función de la versión de Windows donde intente ejecutar la aplicación:

  • The application failed to initialize properly (0xc0000135).

  • This application has failed to start because the application configuration is incorrect. Reinstalling application may fix this problem.

  • The system cannot execute the specified program.

Si no hay ningún manifiesto presente en la aplicación, el error que reciba dependerá de si la biblioteca de Visual C++ de la que depende la aplicación se implementa en la carpeta local de la aplicación o en una carpeta compartida, como la carpeta System o WinSxS.

NoteNota

No se admite la redistribución de aplicaciones de C/C++ generadas sin un manifiesto. Las aplicaciones de C/C++ no pueden utilizar las bibliotecas de Visual C++ sin un manifiesto que enlace la aplicación a estas bibliotecas. Para obtener más información, vea Elegir un método de implementación.

Si un archivo DLL de la biblioteca de Visual C++ (por ejemplo, MSVCR80.DLL) es alcanzable, ya esté instalado en la carpeta local de la aplicación o en la carpeta System, podría recibir el siguiente mensaje de error:

R6034 An application has made an attempt to load the C runtime library incorrectly.

Si el archivo DLL es inalcanzable y Windows no puede cargar este archivo la su aplicación, podría recibir el siguiente mensaje de error:

This application has failed to start because MSVCR80.dll was not found. Re-installing the application may fix this problem.

Para resolver estos errores, tiene que asegurarse de que la aplicación se genere correctamente y de que las bibliotecas de Visual C++ se implementen correctamente en el sistema de destino. Para identificar la causa principal de estos errores en tiempo de ejecución, siga los pasos que se describen en Solucionar problemas de aplicaciones aisladas y ensamblados simultáneos de C/C++.

Vea también

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft