为什么有这么多不同的Visual C ++可再发行组件?

Modified on: Tue, 19 Feb 2019 22:20:03 +0800

每次安装游戏,甚至是OpenOffice时,部分安装例程都会安装另一个Visual C ++ 2005/2008可再发行组件,紧挨着我系统上已有的其他10个。

为什么有这么多不同版本(感觉像是同一件事)是必要的?

最佳答案

Visual C ++可再发行组件是由使用Visual C ++编写软件的应用程序开发人员提供的组件。通过在其应用程序中使用Microsoft经过充分测试和广泛使用的代码,开发人员可以避免编写常用代码(例如,sin和cos数学函数以及常用用户界面元素(如文本框或按钮)的处理)来节省开发成本。由于应用程序开发人员使用的运行时版本中存在碎片,如果安装了大量应用程序,您会看到很长的Visual C ++可再发行组件列表。卸载一个Visual C ++可再发行组件可以为您节省几兆字节的磁盘空间,但是您可能会破坏某些应用程序。

由于程序员依赖Microsoft来保持Visual C ++运行时更新,因此Microsoft发布了可再发行组件的安全更新,但由于程序员的需求,Visual C ++可再发行组件不会相互替代,并保留旧版本以保持兼容性。一些应用程序非常具体地说明了他们需要确保应用程序运行与发布完全一致的Visual C ++ dll版本。他们的作者坚持更新到最新的运行时,直到他们测试了他们的应用程序与新运行时的兼容性。在Microsoft发布可再发行的更新后,这是防止愤怒客户数千次呼叫的一种方法。但是,大多数应用程序都绑定到同一主要版本的最新版本,因为它是默认行为,即时和轻松的安全更新带来的好处超过了可再分发更新所带来的更改所带来的风险。

Microsoft还必须支持大量的Visual C ++运行时,因为它不知道应用程序开发人员会选择哪一个。即使在同一个应用程序中,也可能需要多个版本的Visual C ++可再发行组件,例如,如果取决于Visual C ++ 2008可再发行组件的应用程序使用依赖于Visual C ++ 2005可再发行组件的组件,则应用程序的开发人员必须提供两个版本的Visual C ++可再发行组件。在64位计算机上,系统可能同时安装了x86和x64版本的Visual C ++ Redistributables,因为Visual C ++可再发行组件是一种常用组件,并且拥有32位应用程序和64位应用程序(甚至是包含应用程序的应用程序)是正常的64位系统上安装了32位代码和64位代码。

您可以通过查找与可再发行组件具有相同安装日期的应用程序来找到安装可再发行组件的应用程序,但并不知道有多少其他具有较晚安装日期的应用程序依赖于相同的可再分发。您花在寻找确切依赖关系上的时间很可能不值得通过卸载可再发行组件而节省的几兆字节。


相关问答

添加新评论