2009-08-06 20 views
8

Como ya sabrá, Microsoft implementó recientemente una actualización de seguridad para Visual Studio: KB971090.VC++: KB971090 y seleccionando las dependencias de Visual C Runtime DLL

Entre otras cosas, esto actualizó la DLL de Visual C Runtime desde la versión 8.0.50727.762 a la 8.0.50727.4053.

Así que después de esta actualización, todo lo que compilo y que utiliza el tiempo de ejecución vinculado dinámicamente, actualiza sus dependencias al nuevo tiempo de ejecución.

Por supuesto, para las nuevas aplicaciones, está bien actualizar a la nueva versión, presumiblemente más segura.

Pero también me gustaría poder conservar la antigua dependencia; por ejemplo, me gustaría construir un fixpack que solo requiera una única DLL para ser reemplazado (si intento hacerlo después de la actualización, lo haré) obtener el temido "Esta aplicación no se pudo iniciar porque la configuración de la aplicación es incorrecta." a menos que también distribuya el tiempo de ejecución actualizado).

¿Hay alguna manera de hacer esto o tendré que conservar dos instalaciones de Visual Studio: una actualizada y otra no actualizada?

+0

Ver también: http://netscantools.blogspot.com/2009/08/security-update-for -compiler-broke-our.html –

+0

Tengo una pregunta muy similar, pero estoy más preocupado por el uso de diferentes versiones de la biblioteca de ejecución de c en un único ejecutable. ver http://stackoverflow.com/questions/1238741/does-the-latest-visual-studio-2005-security-update-cause-c-runtime-library-issues – iain

+0

Cool. Este es ahora el tercer hit en Google para KB971090. – JesperE

Respuesta

6

Puede especificar la versión mediante el uso de la solución encontró here

3

Puede desactivar el manifiesto autogenerado e incluir el suyo con la versión de biblioteca que necesita.

Por ejemplo:

<dependency><dependentAssembly><assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity></dependentAssembly></dependency> 
+0

Esto implica que utilizaría los nuevos encabezados y bibliotecas de código auxiliar en tiempo de compilación y el archivo DLL anterior solo en tiempo de ejecución. ¿Esto es compatible con Microsoft? – pauldoo

+0

Creo que para actualizaciones menores estará bien. –

+0

Su ejemplo se refiere a DebugCRT. Ese NO es redistribuible. –

Cuestiones relacionadas