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/)。然而,这会给我们的项目增加极大的复杂性。
我认为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安全更新版本。我确认这些解决了我的问题。
我认为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安全更新版本。我确认这些解决了我的问题。
好。我在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。
原始线程
Microsoft发布了一个包含VC运行时安全修复程序的更新(google for KB971090)。有一个相应的更新 vcredist_x86.exe
,但我没有链接。如果您安装了KB971090,我认为您应该有更新 vcredist_x86.exe
你机器上的某个地方。
在实践中(IIRC),这意味着在安装了KB971090的机器上构建的二进制文件只能在具有相应更新VC运行时的机器上运行,即您需要运送和安装新的 vcredist_x86.exe
在客户端机器上。
我希望这可能是一个有用的信息:
您正在寻找的文件(2.0.50727.4053)的大小为2.705.744字节(磁盘上为2.707.456字节)。
我的理解是,微软尚未发布此版本的vcredist_x86.exe。但是,他们确实使用此版本发布了Merge Modules,因此您应该下载它们并将它们包含在您的安装程序中。现在你在哪里得到这些也是一个很好的问题,但我不知何故神奇地得到它们,可能是通过InstallShield更新。
在我的机器上,我发现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
注意:
安装上述mikets提到的“Microsoft Visual C ++ 2005 Service Pack 1可再发行组件包ATL安全更新”也可以解决以下问题:
启动devenv.exe(Visual Studio 2005)或reader_sl.exe(Acrobat Reader的自动启动)时出现错误0xc0150004。
它修复了上述程序集的损坏安装的原因。 (可能因Windows更新/ Service Pack安装而损坏)。