Vcredist_x86.dll и версия 8.0.50727.4053

Visual С++ 2005 Я использую в своей системе CRT DLL версии 8.0.50727.4053. Я считаю, что он является последним и автоматически обновляется Windows.

В пользовательских системах эта версия DLL не найдена. Я использовал vcredist_x86.exe в прошлом как часть нашего установщика для установки DLL времени исполнения. Он работал.

Моя проблема в том, что даже последняя версия vcredist_x86.exe( Распространяемый пакет Microsoft Visual С++ 2005 SP1 (x86)) не устанавливает эту версию DLL.

Итак, какой файл vcredist_x86.exe мне нужен?

P.S. Заставляет мое приложение ссылаться на определенную версию CRT, чтобы решить проблему? Это предпочтительный метод?

Спасибо,

Пол

ОБНОВЛЕНИЕ: Есть и другие люди, которые наблюдают, что vcredist_x86.exe( Распространяемый пакет Microsoft Visual С++ 2005 SP1 (x86)) не устанавливает 8.0.50727.4053.

UPDATE2: По крайней мере, один человек предлагает принудительно использовать предыдущую версию CRT (http://tedwvc.wordpress.com/). Это, однако, добавит значительную сложность для наших проектов.

Ответ 2

Я думаю, что существует важное различие для VS/профессиональных пользователей VS и пользователей VS Express. Для VС++ Standard, c:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\содержит распространяемый 8.0.50727.4053 (после установки обновления безопасности). Нет необходимости отдельно устанавливать SDK, поэтому (например), у меня даже нет каталога C:\Program Files\Microsoft SDKs\на компьютере с установленным стандартом VС++.

При использовании VS 2005 Express следуйте ответам на mikets и получите версию обновления безопасности ATL. Я подтвердил, что это исправить проблему в моем случае.

Ответ 3

Ok. Я нашел решение на форуме MS:

Если вы установили обновление безопасности, версия vcredist 9.0.30729.4148 должен находиться в папке Windows SDK, обычно C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86 и C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x64.

Исходная статья

Ответ 4

Корпорация Майкрософт выпустила обновление (google for KB971090), содержащее исправление безопасности для среды выполнения VC. Для vcredist_x86.exe есть соответствующее обновление, но у меня нет ссылки. Если у вас установлен KB971090, я думаю, что на вашем компьютере должен быть обновленный vcredist_x86.exe.

На практике (IIRC) это означает, что двоичные файлы, созданные на машинах, на которых установлен KB971090, могут работать только на машинах, имеющих соответствующие обновленные временные среды VC, то есть вам необходимо отправить и установить новый vcredist_x86.exe на клиентских машинах.

Ответ 5

Надеюсь, это может быть полезной информацией:

Файл, который вы ищете (2.0.50727.4053), имеет размер 2.705.744 байт (2.707.456 байт на диске).

Ответ 6

На моей машине я нашел 8.0.50727.4053, распространяемый в \Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86

Один из \Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86 был для VS2008.

Грег

Ответ 7

Примечание: Установка пакета обновления безопасности ATL для Microsoft Visual С++ 2005 с пакетом обновления 1 (SP1), упомянутого выше в mikets, также может решить следующую проблему:

Ошибка 0xc0150004 при запуске devenv.exe(Visual Studio 2005) или reader_sl.exe(автозапуск Acrobat Reader).

Причина, по которой он исправляет поврежденную установку вышеуказанных сборок. (Возможно, поврежден установкой обновления Windows/пакета обновления).

Ответ 8

Я понимаю, что Microsoft не выпустила vcredist_x86.exe для этой версии. Тем не менее, они выпустили Merge Modules с этой версией, поэтому вы должны загрузить их и включить их в свой установщик. Теперь, где вы их получаете, это тоже хороший вопрос, но я каким-то волшебным образом получил их, возможно, через обновление InstallShield.