vcredist für VS2008 – ATL security update

Wer unbedingt gegen die DLL-Version der CRT/MFC linken will/muss, der steht seit dem ATL-Security-Update vor dem Problem, dass neu übersetze Projekte jetzt zwangsläufig die neue CRT-Version im Manifest eingetragen hat. Dieses verhalten wurde von MS einfach so eingeführt, ohne dies zu kommunizieren. Dies hat natürlich zu etwas Kritik geführt. Aber “Security” rechtfertigt ja alles.
Bisher wurde nach einem Update von VS2008 (also z.B. durch das Feature-Pack oder durch den SP1) im Manifest immer noch die Versionsnummer der RTM-Version eingetragen. Deshalb war es auch jetzt sehr verwirrend, dass plötzlich eine neue Version eingetragen wird, ohne dass man irgend etwas am Projekt geändert hat. Bisher war es nötig, dass man als Define ein “_BIND_TO_CURRENT_CRT_VERSION=1” setzt. Erst dann wurde die aktuelle auf dem Enticklungsrechner verwendete Version eingetragen.

Aber nun ist es nunmal anders und wir sind entweder gezwungen das Security-Update von VS2008 nicht einzuspielen (was ich aktuell als einzige Lösung hier im Automatisierungs-Bereich habe, wenn man auch alte Systeme updaten muss) oder auf neuen Systemen das passende vcredist zu installieren.

Update (2011-04-13): Es gibt schon wieder ein Hotfix:
Siehe: MS11-025: Description of the security update for Visual C++ 2008 SP1 Redistributable Package: April 12, 2011
Update (2011-06-11): Es gibt schon wieder ein Hotfix:
Siehe: MS11-025: Description of the security update for Visual C++ 2008 SP1 Redistributable Package: June 14, 2011

Nur jetzt ist wieder die Frage: Welches ist denn nun die “richtige” vcredist…
Hier die Auflistung der aktuell verfügbaren Versionen:

Wer ganz sicher gehen will, der sollte ab sofort nur noch das oberste installieren!