问题 vcredist_x86.dll和版本8.0.50727.4053


Visual C ++ 2005我在我的系统上构建使用CRT DLL版本8.0.50727.4053。我相信它是最新版本,并由Windows自动更新。

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

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

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

附:强迫我的应用程序链接到特定版本的CRT解决问题?这是一种首选方法吗?

谢谢,

保罗

更新:还有其他人观察到vcredist_x86.exe( Microsoft Visual C ++ 2005 SP1可再发行组件包(x86))不安装8.0.50727.4053。

更新2:至少有一个人建议使用以前版本的CRT(http://tedwvc.wordpress.com/)。然而,这会给我们的项目增加极大的复杂性。


4532
2017-10-17 18:15


起源



答案:


根据JesperE的建议,我发现存在 “Microsoft Visual C ++ 2005 Service Pack 1可再发行组件包ATL安全更新” 它提供了这些可分发的。


3
2018-03-09 11:24





我认为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安全更新版本。我确认这些解决了我的问题。


3
2017-10-18 18:59



+1:经过长时间搜索后工作得很好:我已将vcredist_x86.exe发送给客户端,该客户端使用我的应用程序遇到此问题。 - Asaf


答案:


根据JesperE的建议,我发现存在 “Microsoft Visual C ++ 2005 Service Pack 1可再发行组件包ATL安全更新” 它提供了这些可分发的。


3
2018-03-09 11:24





我认为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安全更新版本。我确认这些解决了我的问题。


3
2017-10-18 18:59



+1:经过长时间搜索后工作得很好:我已将vcredist_x86.exe发送给客户端,该客户端使用我的应用程序遇到此问题。 - Asaf


好。我在MS论坛找到了解决方案:

如果您安装了安全更新,   vcredist的9.0.30729.4148版本   应该在您的Windows SDK文件夹中   通常是C:\ Program Files \ Microsoft   的SDK \的Windows \ v6.0A \引导程序\软件包\ vcredist_x86   和C:\ Program Files \ Microsoft   的SDK \的Windows \ v6.0A \引导程序\软件包\ vcredist_x64。

原始线程


2
2017-10-18 14:00



我遇到了同样的问题,但安装v9.0.30729.4148没有安装v8.0.50727.4053 DLLs :( - Dimitri C.


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

在实践中(IIRC),这意味着在安装了KB971090的机器上构建的二进制文件只能在具有相应更新VC运行时的机器上运行,即您需要运送和安装新的 vcredist_x86.exe 在客户端机器上。


1
2017-10-17 18:46





我希望这可能是一个有用的信息:

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


1
2018-04-05 09:03





我的理解是,微软尚未发布此版本的vcredist_x86.exe。但是,他们确实使用此版本发布了Merge Modules,因此您应该下载它们并将它们包含在您的安装程序中。现在你在哪里得到这些也是一个很好的问题,但我不知何故神奇地得到它们,可能是通过InstallShield更新。


0
2018-06-16 16:59





在我的机器上,我发现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。

-Greg


0
2017-12-02 17:56





注意: 安装上述mikets提到的“Microsoft Visual C ++ 2005 Service Pack 1可再发行组件包ATL安全更新”也可以解决以下问题:

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

它修复了上述程序集的损坏安装的原因。 (可能因Windows更新/ Service Pack安装而损坏)。


0
2018-03-11 15:46





看起来您可以使用msiexec直接安装msm文件 看到: http://forums.winamp.com/showthread.php?s=&threadid=99668&highlight=msm


0
2018-06-11 15:09