「Microsoft Visual C++ 可再发行组件包」有必要各个版本都安装吗?

发现自己电脑里安装了2005、2008、2010、2012几个版本。是否存在某些程序必须较低版本的VC支持(只安装高版本的不能工作)? [图片]
关注者
58
被浏览
44,741
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

Visual C++的可再发行组件每个版本都是设计来共存的,没有可以替代这一说。

比如KB2538242有个bug,应用程序在所在路径的二进制编码里包含25(%的ASCII值)的时候,加载本地语言资源卫星DLL过程中会崩溃。那我不想用这个有bug的版本怎么办?

#define _BIND_TO_CURRENT_MFC_VERSION 0

好了,我的程序不会自动用最新的MFC版本了。至于我的程序到底用的哪个版本?当然是我编译程序用的Visual Studio的那个版本啦,比如是2008 RTM就需要2008 RTM的可再发行组件,是2008 SP1就需要2008 SP1的可再发行组件。这样我可以保证我的程序的所有组件都是我测试过的版本,而不会在微软更新了一个号称二进制兼容但是实际上有bug的运行时之后接到数千个愤怒的用户的电话。至于微软么,也不会做强行要求程序员必须使用最新版本的Visual C++可再发行组件这种蠢事。VS2005的默认值是使用最新版本的Visual C++ 2005运行时,但是微软收到很多负面反馈,以致于在VS2008里面默认值改成了不使用最新版本的Visual C++ 2008运行时(VC Runtime Binding)。

假如你的计算机上很多程序都是用各种版本的Visual C++写的,那么你会看到各种版本的可再发行组件。不想看到旧版本的可再发行组件?要求软件作者升级到更新版本的Visual C++。