Este es el error Dependency Walker me da en un ejecutable que estoy construyendo con VC++ 2005 Express Edition. Al intentar ejecutar el .exe, me sale:

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

(Soy nuevo en el manifiesto/SxS/etc. manera de hacer las cosas post VC++ 2003.)

EDITAR:
Estoy corriendo en la misma máquina, estoy construyendo el .exe con. En el Visor de Sucesos, tengo la ineficiente:

Faulting application blah.exe, version 0.0.0.0, faulting module blah.exe,
version 0.0.0.0, fault address 0x004239b0.
  • ¿Qué versión de Windows es esto?
  • Windows XP SP3.
InformationsquelleAutor Jim Buck | 2008-10-31

5 Comentarios

  1. 14

    Abrir la hoja de propiedades para el proyecto, vaya a las Propiedades de Configuración -> C/C++ -> la Generación de Código de la página, y cambiar el tiempo de ejecución de la Biblioteca de selección a /MT o /MTd para que su proyecto no utilizar la DLL de tiempo de ejecución de las bibliotecas.

    La C/C++ DLL tiempos de ejecución utilizado por VS2003 y no son distribuidos automáticamente con la última versión del sistema operativo y son un verdadero dolor de cabeza para instalar y hacer funcionar sin este tipo de problema. estáticamente enlace de la c-tiempo de ejecución y evitar el desastre total que se manifiesta y específicos de la versión de tiempo de ejecución de archivos dll.

    • amén para el desastre en que se manifiesta.
    • Si están dispuestos a enfrentarse a una mucho más grande DLL, esto debería funcionar
    • He marcado la respuesta correcta, ya que hace el trabajo, si usted tiene la capacidad de volver a compilar todo el código de la aplicación y el código para las bibliotecas de vínculos. Pero, ¿qué hacer si uno de los .lib archivos que se relacionan, no cuenta con el código asociado que se puede volver a compilar pero estaba usando el tiempo de ejecución .DLL? Que no tengo ninguna opción pero para compilar el mismo camino, pero lo .los archivos dll necesito tener en la aplicación del directorio raíz en orden para cualquier persona para ejecutar la aplicación? (Esto es una interna de la aplicación y no necesita de algunos genéricos proceso de instalación, así que está bien si acabo de copiar manualmente el .dlls.)
    • Yo no puedo cambiar a /MT, porque yo uso /clr opción. ¿Sabe usted lo que debo hacer ?
  2. 5

    Lo siento golpear una vieja pregunta, pero yo era capaz de conseguir alrededor de este problema exacto y pensé que había puesto una solución en caso de que alguien más lo necesita…

    Incluso después de instalar Microsoft redistribuible de Dll que estaba recibiendo este error, la solución es copiar el

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

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

    Por CIERTO, el archivo DLL que me daba problemas era un 3er partido DLL que nunca había tenido problemas antes, en más de 100 otros equipos… vaya usted a saber.

    • Por desgracia, la carpeta redist no parece estar incluido en las ediciones express.
  3. 4

    He tenido este problema. La solución tiene dos pasos:

    1. Compilar el programa en modo de «Lanzamiento» en lugar de «Depuración» de modo (por lo general hay un cuadro combinado en la barra de herramientas)

    2. Descarga de Microsoft de su El Paquete Redistribuible De de componentes de tiempo de ejecución. Asegúrese de descargar la edición de x 86 para equipos de 32 bits y x64 edition para equipos de 64 bits/sistemas operativos. Instalar este paquete en el equipo de destino, y su aplicación debe funcionar correctamente

    P. S. Este es un SxS cosa

    P. P. S. como alternativa, el uso de un compilador diferente (como GCC, por ejemplo con Dev-Cpp) para compilar el código fuente del programa, y sus dolores de cabeza desaparecerá.

  4. 3

    Ejecutar el Visor de Sucesos: se tendrá más información.

    Probablemente has intentado ejecutar el programa en una máquina que no tiene la VC de los redistribuibles instalado, o usted está tratando de ejecutar una versión de depuración en un equipo que no tiene instalado Visual Studio (la depuración de las bibliotecas no son redistribuibles).

    • Yo estoy construyendo y ejecutando en la misma máquina con VC++ 2005 Express Edition instalado. Podría Express Edition ser el problema?
    • (Quiero decir, sería extraño no ser capaz de ejecutar un .exe en la misma máquina que la construyó. Esto significa que el Express Edition está roto).
    • No te ves en el Visor de Sucesos?
    • Sí, acabo de actualizar mi OP con los resultados. No muy útil la info de la EV, aunque.
    • +1 Gracias! Uno de mis archivos dll trataba de ligar con una depuración de dll en lugar de la liberación de causar un choque en cada máquina, sino la mía. yo no sabía hasta ahora que la depuración de las bibliotecas no son redistribuibles!
  5. 1

    He tenido el mismo problema con VS 2008-construido de depuración de los archivos binarios en otros winxp sp3 máquinas.

    1. Probé por primera vez la instalación de la máquina del cliente, con vc redist paquete,como parece sensato. Molesto, se no trabajo.
    2. Traté de copiar todos los archivos dll dependientes de la aplicación del directorio – todavía no trabajo
    3. Después de ser golpeado por esta cuestión de horas, me encontré con que el último VS construye requieren manifiesta y políticas para el enlace con los archivos dll. Después de copiarlos en sus respectivos «C:\WINDOWS\WinSxS\» las carpetas, yo tengo de trabajo.

    El problema fue causado por el hecho de que la vc redist paquete no instalar las versiones de depuración de archivos dll, que de alguna manera el pensamiento de su para el programador para averiguar.

Dejar respuesta

Please enter your comment!
Please enter your name here