VISUAL C ++ 2005年,我建我的系统上使用CRT的DLL版本8.0.50727.4053。 我相信这是最新的一个,并通过了的Windows自动更新。
在用户的系统,这个版本的DLL中是找不到的。 我已经在过去使用选择vcredist_x64.exe作为我们的安装程序的一部分安装运行时的DLL。 它用来工作。
我的问题是,即使选择vcredist_x64.exe的最新版本(微软的Visual C ++ 2005 SP1可再发行组件包(x86))不安装此版本的DLL。
那么,哪些选择vcredist_x64.exe文件,我需要呢?
PS会强迫我的应用程序链接到CRT的特定版本解决这个问题? 它是在所有的一个首选的方法?
谢谢,
保罗
UPDATE:还有谁看到,选择vcredist_x64.exe其他人(微软的Visual C ++ 2005 SP1可再发行组件包(x86))不安装8.0.50727.4053。
UPDATE2:至少有一人建议使用CRT的先前版本强迫( http://tedwvc.wordpress.com/ )。 但这会增加一个显著的复杂性对我们的项目。
继JesperE的建议,我发现存在“微软的Visual C ++ 2005 Service Pack 1的再发行组件包ATL安全更新” ,提供这些distributables。
我觉得有一个为VS标准/专业用户和VS Express用户的重要区别。 对于VC ++标准,C:\ Program Files文件\微软的Visual Studio 8 \ SDK \ 2.0 \引导程序\软件包\ vcredist_x86 \包含8.0.50727.4053可再发行组件(在安装安全更新后)。 有没有必要单独安装一个SDK,所以(例如),我甚至不具有C:\用VC ++标准的机器上的程序Files \ Microsoft的SDK \目录中安装。
当使用VS 2005速成,遵循mikets的回答,并获得ATL安全更新版本。 我证实了这些解决这个问题在我的情况。
好。 我发现在MS论坛的解决方案:
如果安装了安全更新,该版本9.0.30729.4148的vcredist应该在你的Windows SDK文件夹,通常是C:\ Program Files文件\微软的SDK \的Windows \ v6.0A \引导程序\软件包\ vcredist_x86和C:\ Program Files文件\微软的SDK \的Windows \ v6.0A \引导程序\软件包\ vcredist_x64。
原来的线程
微软发布包含了VC运行库安全修补程序的更新(谷歌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_x64.exe此版本。 他们没有,不过,发行合并模块与此版本,所以你应该下载它们,并将它们包括在您的安装。 现在,你在哪里得到这些也是一个很好的问题,但我有点神奇地得到了他们,可能通过的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
注意:安装“微软的Visual C ++ 2005 Service Pack 1的再发行组件包ATL安全更新”通过上面也提到mikets可以解决以下问题:
错误0xc0150004在启动devenv.exe的(Visual Studio 2005中)或reader_sl.exe(Acrobat Reader软件的自动启动)。
原因,它修复了上述大会的腐败安装。 (可能与Windows升级/服务包安装损坏)。
它看起来像您可以用MSIEXEC见directrly安装MSM文件: http://forums.winamp.com/showthread.php?s=&threadid=99668&highlight=msm