2009-10-17 17 views
11

Visual C++ 2005 construyo en mi uso del sistema CRT DLL versión 8.0.50727.4053. Creo que es el último y fue actualizado automáticamente por Windows.vcredist_x86.dll y la versión 8.0.50727.4053

En sistemas de usuario, esta versión de la DLL no se encuentra. He utilizado vcredist_x86.exe en el pasado como parte de nuestro instalador para instalar DLL de tiempo de ejecución. Solía ​​funcionar.

Mi problema es que incluso la última versión de vcredist_x86.exe ( Microsoft Visual C++ 2005 SP1 paquete redistribuible (x86)) no instala esta versión de la DLL.

Así qué archivo vcredist_x86.exe qué necesito entonces?

P.S. ¿Obligaría a mi aplicación a vincular una versión específica del CRT para resolver el problema? ¿Es un método preferido en absoluto?

Gracias,

Paul

ACTUALIZACIÓN: Hay otras personas que observan que vcredist_x86.exe ( Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)) no se instala 8.0.50727.4053.

Update2: Al menos una persona sugiere forzando el uso de la versión anterior del CRT (http://tedwvc.wordpress.com/). Sin embargo, esto agregaría una complejidad significativa a nuestros proyectos.

Respuesta

1

Microsoft publicará una actualización (google para KB971090) contiene una revisión de seguridad para el tiempo de ejecución VC. Hay una actualización correspondiente al vcredist_x86.exe, pero no tengo un enlace. Si tiene instalado KB971090, creo que debería tener un vcredist_x86.exe actualizado en algún lugar de su máquina.

En la práctica (IIRC), significa que los binarios construidos en las máquinas que se ha instalado KB971090 sólo puede ejecutarse en máquinas que disponen de los correspondientes tiempos de ejecución VC actualizados, es decir, hace falta transportar e instalar el nuevo vcredist_x86.exe en las máquinas cliente.

2

Ok. He encontrado la solución en un foro EM:

Si ha instalado la actualización de seguridad, la versión 9.0.30729.4148 de vcredist debe estar en la carpeta de Windows SDK, normalmente C: \ Archivos de programa \ Microsoft SDK \ Windows \ v6.0A \ Bootstrapper \ Packages \ vcredist_x86 y C: \ archivos de programa \ Microsoft SDK \ Windows \ v6.0A \ Bootstrapper \ Packages \ vcredist_x64.

Original thread

+0

me encontré con el mismo problema, pero la instalación de v9.0.30729.4148 qué no instalar los archivos DLL v8.0.50727.4053 :( –

0

En mi máquina me encontré con el redistribuible 8.0.50727.4053 en \Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86

El que está en \Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86 era para VS2008.

-Greg

3

Creo que hay una distinción importante para los usuarios profesionales estándar/VS y usuarios VS Express.Para VC++ Standard, c: \ Archivos de programa \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Packages \ vcredist_x86 \ contiene la redistribución 8.0.50727.4053 (después de instalar la actualización de seguridad). No es necesario instalar un SDK por separado, así que (por ejemplo), ni siquiera tengo un directorio C: \ Program Files \ Microsoft SDKs \ en la máquina con VC++ Standard instalado.

Al usar VS 2005 Express, siga la respuesta de micks y obtenga la versión de actualización de seguridad de ATL. Confirmé que estos arreglan el problema en mi caso.

+0

+1: funcionó perfectamente después de una larga búsqueda: envié mi vcredist_x86.exe a un cliente, que se enfrenta a este problema con mi aplicación. – Asaf

0

Nota: Instalación del "Microsoft Visual C++ 2005 Service Pack 1 paquete redistribuible de Actualización de seguridad ATL" mencionado por mikets anteriores también puede resolver el siguiente problema:

error 0xc0150004 al iniciar devenv.exe (Visual Studio 2005) o reader_sl.exe (Autostart de Acrobat Reader).

Motivo que soluciona una instalación dañada de los Conjuntos anteriores. (Probablemente corrompido con una actualización de Windows/instalación del paquete de servicio).

1

espero que esto podría ser una información útil:

El archivo que está buscando (2.0.50727.4053) tiene un tamaño de 2.705.744 bytes (2.707.456 bytes en disco).

0

Según tengo entendido, Microsoft no ha lanzado un vcredist_x86.exe para esta versión. Sin embargo, lanzaron Merge Modules con esta versión, por lo que debe descargarlos e incluirlos en su instalador. Ahora, ¿dónde obtienes esto? También es una buena pregunta, pero de alguna manera los obtuve mágicamente, probablemente a través de la actualización de InstallShield.

Cuestiones relacionadas