2009-10-17 89 views
11

Visual C++ 2005我建立在我的系统上使用CRT DLL版本8.0.50727.4053。我相信它是最新的,并且被Windows自动更新。vcredist_x86.dll和8.0.50727.4053版本

在用户系统上,未找到此版本的DLL。过去,我使用vcredist_x86.exe作为安装程序的一部分来安装运行时DLL。它曾经工作。

我的问题是,即使最新版本的vcredist_x86.exe( Microsoft Visual C++ 2005 SP1可再发行组件包(x86))也不会安装此版本的DLL。

那么我需要哪个vcredist_x86.exe文件?

P.S.会迫使我的应用程序链接到特定版本的CRT解决问题?这是一个首选的方法吗?

感谢,

保罗

UPDATE:还有谁看到,选择vcredist_x64.exe其他人( 微软的Visual C++ 2005 SP1可再发行组件包(x86))不安装8.0.50727.4053。

UPDATE2:至少有一个人建议强制使用以前版本的CRT(http://tedwvc.wordpress.com/)。然而这会增加我们项目的复杂性。

回答

1

Microsoft发布包含VC运行时安全修补程序的更新(google for KB971090)。有相应的更新到vcredist_x86.exe,但我没有链接。如果你安装了KB971090,我认为你的机器应该有一个更新的vcredist_x86.exe

在实践中(IIRC),这意味着建立在已安装KB971090只能在具有相应的更新VC运行库的机器上运行的机器的二进制文件,即你需要运输和客户机上安装新的vcredist_x86.exe

2

好的。我发现在MS论坛解决方案:

如果您安装了安全更新, 的9.0.30729.4148版本vcredist 的应该是在你的Windows SDK文件夹, 通常为C:\ Program Files文件\微软的SDK \ Windows \ v6.0A \ Bootstrapper \ Packages \ vcredist_x86 和C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages \ vcredist_x64。

Original thread

+0

我遇到了同样的问题,但安装v9.0.30729.4148没有安装v8.0.50727.4053的DLL :( – 2010-04-08 08:23:03

0

在我的机器,我发现8.0.50727.4053可再发行在​​

\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86的一个是为VS2008。

-Greg

3

我认为VS标准/专业用户和VS Express用户有一个重要的区别。对于VC++ Standard,c:\ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Packages \ vcredist_x86 \包含8.0.50727.4053可再发行组件(安装安全更新后)。无需单独安装SDK,因此(例如),我甚至没有安装VC++ Standard的计算机上的C:\ Program Files \ Microsoft SDKs \目录。

使用VS 2005 Express时,请遵循mikets的答案,并获取ATL安全更新版本。我确认这些解决了我的问题。

+0

+1:长时间搜索后完美工作:我已将vcredist_x86.exe发送给客户端,他们使用我的应用程序面临此问题。 – Asaf 2010-12-09 16:55:18

0

注: 安装由上面还mikets提到 “微软的Visual C++ 2005 Service Pack 1的再发行组件包ATL安全更新” 可以解决以下问题:

错误0xc0150004在启动devenv.exe的(Visual Studio中2005)或reader_sl.exe(Acrobat Reader自动启动)。

原因,它固定在上述组件的损坏安装。 (可能会损坏Windows更新/服务包安装)。

1

我希望这能成为一个有用的信息:

你正在寻找(2.0.50727.4053)文件的大小为2.705.744字节(磁盘上的2.707.456字节)。

0

我的理解是,微软还没有发布vcredist_x86.exe这个版本。但是,他们确实发布了合并模块,因此您应该下载它们并将它们包含在安装程序中。现在你从哪里得到这些也是一个很好的问题,但我不知何故魔法般地得到了它们,可能是通过InstallShield更新。