Я изучал странную проблему, когда загрузка одной из наших прикладных DLL-систем происходит с ошибкой в некоторых системах (с помощью флага оснастки Global Flags флаг загрузки отображается где-то в LoadLibraryEx). Журналы в windbg показывают, что, по-видимому, существует несколько разных версий MSVCR90.DLL
. Похоже, что версия, указанная в нашем манифесте, отличается от распространяемой среды выполнения, которую мы устанавливаем.
Я пытаюсь найти окончательный список различных версий среды исполнения для пакетов обновления и исправлений безопасности Visual Studio, но я не могу найти ничего полезного.
На моей собственной машине у меня установлено как минимум пять разных, но я не могу связать их с тем, что создает Visual Studio. Это то, что я нашел до сих пор:
- 9.0.21022.8 - это то, что моя машина VS2008 SP1 создается против
- 9.0.21022.218: Обновление безопасности для 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 (также, похоже, включает обновление ATL) http://support.microsoft.com/kb/973552 http://support.microsoft.com/kb/971092/
- 9.0.30729.4974 - похоже, является частью Team Foundation Server 2010
- 9.0.30729.5570 - 21 апреля 2011 г. обновление безопасности http://support.microsoft.com/kb/2465361
Есть ли более полный список, чем этот, или тот, который уточняет, какую версию мы строим?
Что такое полностью исправленная установка Visual Studio 2008? SP1 + ATL исправление? Существуют ли дополнительные обновления безопасности?
EDIT: Я нашел эту страницу, которая по крайней мере ставит все загрузки в одном месте: http://support.microsoft.com/default.aspx?scid=kb;en-us;2019667&sd=rss&spid=12913
EDIT2: Похоже, что простое обновление до самых последних библиотек Visual Studio не использует их автоматически - вам нужно явно привязать к последней версии библиотеки