I've been looking into a strange problem where loading of one of our application's dlls fails on certain systems (using the Global Flags loader snap flag shows it's somewhere within LoadLibraryEx). The logs in windbg show that there seem to be several different versions of MSVCR90.DLL
being referenced. It appears that the version referenced in our manifest is different to the redistributable runtime we're installing.
I've been trying to find a definitive list of the different runtime versions for the Visual Studio service packs and security hotfixes, but I can't find anything useful.
On my own machine I have at least five different ones installed, but I can't relate them to what Visual Studio is building. This is what I've found up to now:
- 9.0.21022.8 – this is what my VS2008 SP1 machine appears to be building against
- 9.0.21022.218: Security update for VS2008
- 9.0.30729 ?
- 9.0.30729.17 – VS2008 SP1 http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2
- 9.0.30729.4148 – VS2008 SP1 28/7/2009 (also seems to include the ATL update) http://support.microsoft.com/kb/973552 http://support.microsoft.com/kb/971092/
- 9.0.30729.4974 – seems to be part of Team Foundation Server 2010
- 9.0.30729.5570 – 21 April 2011 security update http://support.microsoft.com/kb/2465361
Is there a more complete list than this, or one that clarifies which version we are building?
What is a fully-patched Visual Studio 2008 installation? SP1 + ATL hotfix? Are there further security updates?
EDIT:
I've found this page which does at least put all the downloads in one place: http://support.microsoft.com/default.aspx?scid=kb;en-us;2019667&sd=rss&spid=12913
EDIT2:
It appears that merely updating to the most recent visual studio libraries doesn't automatically use them — you need to explicitly bind to the latest library version
Best Answer
Run Microsoft Update (not Windows update) and it'll patch you up to the very latest version. There are a few of them (5 or 6 IIRC).