如果你曾经浏览过Windows中安装的程序列表,想知道为什么微软VisualC++的版本有那么多版本,你并不孤单。加入我们,我们来看看这些东西是什么,为什么有这么多安装在您的电脑。
微软Visual C++是一个集成开发环境(IDE),用于在C、C++和C++/CLI编程语言中创建Windows应用程序。它最初是一个独立的产品,但现在作为Microsoft Visual Studio的一部分包含在其中。它为开发人员提供了一个应用程序,在其中他们可以编写、编辑、测试和调试代码。编程环境包括访问许多共享代码库,这些库允许开发人员使用已经开发的代码来执行特定的过程,而不是从头编写自己的代码。共享代码采用动态链接库(DLL)的形式,这是大多数Windows用户在某个点或其他地方遇到的一个术语。
当需要向用户部署软件时,开发人员可以做出选择。他们可以将这些dll捆绑到应用程序的安装中,也可以依赖共享代码的标准可分发包。大多数选择后者,并且该包被称为VisualC++的可重新分发的。使用可再发行版本有几个优点。这些软件包是由微软提供的,微软还测试并更新了它们的bug和安全补丁。可再发行软件还提供了在用户计算机上的一个安装,多个程序可以同时使用。
不到两个月前,我在一台新电脑上安装了新版本的windows10。正如你在上面的图片中看到的,我已经有四个版本的VisualC++在我的系统上可重新分配。在其他系统上,我见过多达20种。那么,他们是如何到达那里的呢?
有些是和Windows一起安装的。安装的特定版本取决于您使用的Windows版本。我使用Windows 10,它附带2012和2013 Visual C++ +可再分布。您还将注意到,我还安装了32位(x86)和64位(x64)版本。如果你有32位版本的Windows,你将看不到那些64位版本的可再发行版本。但是如果你有一个64位版本的Windows(现在几乎所有的计算机都是这样),你会看到这两个版本,因为64位Windows可以同时运行64位和32位应用程序。
在系统上看到的VisualC++的任何其他版本都安装了一些需要它的程序。当开发人员在VisualC++中的特定版本中编码时,该版本的代码库也必须存在于用户的系统上,以便运行应用程序。这意味着,例如,如果开发者使用Visual C++ 2005(或Visual Studio 2005)来创建正在安装的程序,则可以预期在系统中安装VisualC++ 2005可重新分配的程序。
有时,当您第一次运行程序时会弹出一个窗口,说明正在安装可再发行软件包。如果你是一个电脑游戏玩家,你会注意到这一点,尤其是当你通过Steam获得游戏时。通常,这意味着开发人员选择在安装时从Microsoft下载最新的软件包。有时,包与应用程序捆绑在一起。下面是安装当前AMD图形驱动程序包的一个例子,您可以看到安装2012和2013 C++可重分配表。
相关:什么是Microsoft.NET框架,为什么要安装在我的PC上?
也有可能您会看到安装了相同可再发行版本的多个版本,或者至少是同一年的多个版本。例如,您可能会看到2008可再发行版本的多个版本。一种可能表示它是一个服务包,而另一种可能只是版本号略有不同。因此,虽然有时看起来像是安装了同一软件包的多个版本,但它们都有细微的不同。不幸的是,与类似的.NET框架不同,微软从未将所有这些旧版本整合到一个统一的包中。
简而言之:您将看到Windows附带的一些软件包,以及您安装的应用程序附带的一些软件包。如果您运行的是64位Windows,那么您将看到每个软件包的64位和32位版本。
简单的回答是:是的,但你可能不应该。
您永远不知道您安装的应用程序中有哪些依赖于每个可再发行的应用程序。如果卸载一个程序,该程序将不会自动删除它所依赖的可再发行文件,因为它无法知道其他应用程序是否也依赖它。当然,上面可能有一些您不需要的可再发行软件包,但是如果手动删除某些程序仍在使用的可再发行软件包,可能会导致它们无**确运行,在某些情况下,甚至会导致Windows安装本身出现问题。
看到这么多的程序出现在你的安装列表中,你可能会很恼火,但如果你的电脑运行良好,那么可再发行的程序不会造成任何伤害。它们也不会占用太多空间。我现在在系统上安装的四个版本总共占用不到100MB的磁盘空间。
我们在互联网上看到一些建议,建议您可以删除旧版本的可再发行版本,只保留每个主要版本的最新版本(按年份标注)。换句话说,他们建议您可以保留最新的2012可再发行版本,然后卸载较旧的2012版本。我们对此进行了测试,发现它不可靠。它有时似乎有用,但不能保证对你有用。在我自己对三个系统的有限测试中,它在一个系统上导致了一些程序无法运行的问题。
不幸的是,通常很难将应用程序的问题缩小到糟糕的可再发行安装。在安装或操作一个直接指向可再发行包的程序时,很少会收到错误消息。不过,这是一种可能性,有时也值得测试,特别是如果您刚刚安装的程序导致另一个已安装的程序中断,并且您知道它们都依赖于相同的可再发行程序。
首先,您可以采取几个基本步骤。确保Windows update有其所有最新更新。如果包的更新可用,这可能会解决问题。您也可以尝试在Windows中扫描损坏的系统文件。它不需要很长时间,而且可以恢复已损坏或丢失的系统文件。值得一试。
相关:如何在Windows中扫描(和修复)损坏的系统文件
如果这些步骤无法解决问题,您可以尝试卸载然后重新安装有问题的版本。而且,如果您不知道具体的版本,您可以冒险尝试从您的计算机上卸载所有可再发行的软件包,然后安装每个版本的所有最新实现。不管你走哪条路,一定要先备份你的电脑!
您可以像卸载“程序和功能”控制面板应用程序中的任何其他程序一样卸载可再发行程序。然后,您可以从Microsoft的下载中心下载并安装最新版本。以下是每个版本的一些直接链接:
请记住,如果您运行的是64位版本的Windows,则需要下载并安装32位(x86)和64位(x64)版本。
就在那里。希望至少能解释这些Visual C++可重新分配的包是什么,以及为什么有这么多的安装在您的PC上。
微软表示,windows10是一项“服务”,该公司经常用安全补丁、漏洞修复和新功能对其进行更新。更新通常是在后台自动进行的,所以让我们解开这个谜团:下面是Windows安装的内容和时间。 windows 10多久检查一次更新? Windows10...
...你的工作流程(或游戏)增加难以置信的多功能性。 你为什么要这么做? 说到做事,屏幕越多越好,对吧?好吧,有时不总是有太多的屏幕房地产可能会导致更多的分心。而分心是“把事情做完”的对立面 这就是为什么当你需...
...不好,它可能会占用大量CPU。 相关:这个过程是什么?为什么它在我的电脑上运行? 这篇文章是我们正在进行的系列文章的一部分,解释了任务管理器中的各种过程,比如运行时代理,主进程, dwm.exe文件, 输入法,rundll32.exe,Ad...
...大量CPU资源,则会出现问题。 相关:这个过程是什么?为什么它在我的电脑上运行? 这篇文章是我们正在进行的系列文章的一部分,解释了任务管理器中的各种过程,比如运行时代理,主进程, dwm.exe文件, 输入法,rundll32.exe,Ad...
...“通用”应用程序平台有关。 相关:这个过程是什么?为什么它在我的电脑上运行? 这篇文章是我们正在进行的系列文章的一部分,解释了任务管理器中的各种过程,比如运行时代理,主进程, dwm.exe文件, 输入法,rundll32.exe,Ad...
...且是Windows操作系统的一部分。 相关:这个过程是什么?为什么它在我的电脑上运行? 这篇文章是我们正在进行的系列文章的一部分,解释了任务管理器中的各种过程,比如运行时代理,主进程, dwm.exe文件, 输入法,rundll32.exe,A...
...e,是Windows操作系统的一部分。 相关:这个过程是什么?为什么它在我的电脑上运行? 这篇文章是我们正在进行的系列文章的一部分,解释了任务管理器中的各种过程,比如运行时代理,主进程, dwm.exe文件, 输入法,rundll32.exe,...
...进程的多个实例正在运行。如果你曾经想知道它是什么,为什么有这么多,为什么它可能会提高你的CPU使用率,我们已经为你找到了答案。 相关:这个过程是什么?为什么它在我的电脑上运行? 这篇文章是我们正在进行的系列...
...任务的多个实例同时运行。如果你曾经想知道它是什么,为什么有时会有这么多,我们已经为你找到了答案。 相关:这个过程是什么?为什么它在我的电脑上运行? 这篇文章是我们正在进行的系列文章的一部分,解释了任务管...
...启动计算机实际上可以解决许多问题。 这是怎么回事?为什么重置设备或重新启动程序可以解决这么多问题?为什么极客们不试着去发现和解决问题,而不是用“重置它”这个钝锤呢? 这不仅仅是关于windows 请记住,此解决方...