Visual CRT2005我是使用C++ DLL版本8.0.50727.4053在我的系统上构建的。我相信它是最新的,并且是由Windows自动更新的。
在用户系统上,找不到此版本的DLL。我过去曾使用vcredist_x86.exe作为安装程序的一部分来安装运行时DLL。它以前是有效的。
我的问题是,即使是最新版本的vcredist_x86.exe ( Microsoft Visual DLL2005dll Redistributable Package (x86))也没有安装此版本的C++。
那么我需要哪个vcredist_x86.exe文件呢?
附言:强制我的应用程序链接到特定版本的CRT能解决这个问题吗?这是一种更受欢迎的方法吗?
谢谢,
保罗
更新:还有其他人观察到vcredist_x86.exe ( Microsoft Visual C++ 2005 SP1 Redistributable Package (x86))没有安装8.0.50727.4053。
UPDATE2:至少有一个人建议强制使用以前版本的CRT (http://tedwvc.wordpress.com/)。然而,这会给我们的项目增加很大的复杂性。
发布于 2010-03-09 19:24:34
按照JesperE的建议,我发现有"Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update"提供了这些可分发文件。
发布于 2010-10-19 02:59:27
我认为VS标准/专业用户和VS Express用户有一个重要的区别。对于VC++标准版,c:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\包含8.0.50727.4053可再发行组件(在安装安全更新后)。不需要单独安装软件开发工具包,所以(举个例子),在安装了VC++标准版的机器上,我甚至没有C:\Program Files\Microsoft \目录。
当使用VS2005Express时,遵循mikets的回答,并获得ATL安全更新版本。我确认这些解决了我的问题。
发布于 2009-10-18 22:00:25
好的。我在一个MS论坛上找到了解决方案:
如果安装了安全更新,则9.0.30729.4148版本的vcredist应位于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.
Original thread
https://stackoverflow.com/questions/1582844
复制相似问题