validación tuviera signatura realizar que pudo módulo manifiesto instalador esperaba ensamblado visual-c++ visual-studio-2005 dependencies manifest

visual-c++ - tuviera - msdn manifest



Error: la información de configuración Side-by-Side en "BLAH.EXE" contiene errores (5)

Este es el error que Dependency Walker me da en un ejecutable que estoy creando con VC ++ 2005 Express Edition. Cuando intento ejecutar el .exe, obtengo:

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

(Soy nuevo en la forma de manifestar / SxS / etc. Después de VC ++ 2003).

EDITAR: Estoy ejecutando en la misma máquina con la que estoy construyendo el .exe. En el Visor de eventos, tengo el inútil:

Faulting application blah.exe, version 0.0.0.0, faulting module blah.exe, version 0.0.0.0, fault address 0x004239b0.


Abra la hoja de propiedades para su proyecto, vaya a Propiedades de configuración -> C / C ++ -> Generación de código y cambie la selección de Biblioteca de tiempo de ejecución a / MT o / MTd para que su proyecto no utilice las bibliotecas de tiempo de ejecución de DLL.

Los tiempos de ejecución de C / C ++ DLL utilizados por VS2003 y posteriores no se distribuyen automáticamente con la última versión del sistema operativo y son un verdadero problema para instalar y trabajar sin este tipo de problema. vincular estáticamente el c-runtime y simplemente evitar el desorden total que se manifiesta y los dlls de tiempo de ejecución específicos de la versión.


Ejecuta el Visor de eventos: tendrá más información.

Probablemente haya intentado ejecutar su programa en una máquina que no tiene instalados los redistribuibles de VC, o está intentando ejecutar una compilación de depuración en una máquina que no tiene instalado Visual Studio (las bibliotecas de depuración no son redistribuible).


He tenido el mismo problema con los binarios de depuración creados por VS 2008 en otras máquinas winxp sp3.

  1. Primero intenté instalar la máquina cliente con el paquete vc redist, ya que parecía sensato. De manera molesta, no funcionó .
  2. Intenté copiar todos los dlls dependientes en el directorio de la aplicación, pero aún no funcionó
  3. Después de haberme preguntado sobre este tema durante horas, descubrí que las versiones más recientes de VS requieren manifiestos y políticas para vincularse con los dlls. Después de copiarlos en sus respectivas carpetas "C: / WINDOWS / WinSxS /", lo hice funcionar .

El problema se debió al hecho de que el paquete vc redist no instaló versiones de depuración de dlls, de alguna manera pensaron que el programador debía resolverlo.


He tenido este problema La solución tiene dos pasos:
1. Compila tu programa en el modo "Versión" en lugar del modo "Depurar" (generalmente hay un cuadro combinado en la barra de herramientas)
2. Descargue de Microsoft su paquete redistribuible de componentes de tiempo de ejecución. Asegúrese de descargar la edición x86 para computadoras de 32 bits y la edición x64 para equipos / sistemas operativos de 64 bits. Instale este paquete en la computadora de destino, y su aplicación debería funcionar bien

PD Esto es una cosa SxS
PPS Alternativamente, use un compilador diferente (como GCC, por ejemplo, con Dev-Cpp) para compilar la fuente de su programa, y ​​sus dolores de cabeza desaparecerán.


Lamento responder a una pregunta anterior, pero pude solucionar este problema y pensé en publicar una solución por si alguien más lo necesita ...

Incluso después de instalar las DLL redistribuibles de Microsoft obtenía este error, la solución era copiar el

C:/Program Files/Microsoft Visual Studio 8/VC/redist/x86/Microsoft.VC80.CRT

carpeta en el directorio de la aplicación en la PC de destino. Después de eso, no más problemas.

Por cierto, la DLL que me estaba dando problemas era una DLL de terceros que nunca antes había tenido problemas en más de 100 otras computadoras ... vaya figura.