Friday, May 27, 2016

MS Visual C++ Redistributables

Why Are There So Many “Microsoft Visual C++ Redistributables” Installed on My PC?

c++_top

If you’ve ever scrolled through your list of installed programs in Windows, wondering why there are so many versions of the Microsoft Visual C++ Redistributable on there, you’re not alone. Join us as we take a look at what these things are and why there are so many installed on your PC.

What Is a Visual C++ Redistributable?


Microsoft Visual C++ is a integrated development environment (IDE) used to create Windows applications in the C, C++, and C++/CLI programming languages. It was originally a standalone product, but is now included as part of Microsoft Visual Studio. It offers developers a single application in which they can write, edit, test, and debug their code. The programming environment includes access to a lot of shared code libraries, which let developers use already-developed code for specific procedures instead of having to write their own from scratch. That shared code takes the form of dynamic link libraries (DLLs), a term most Windows users have come across at some point or other.

When it comes time to deploy their software to users, developers have a choice to make. They can bundle those DLLs into the installation of their application, or they can rely on a standard distributable package of shared code. Most choose the latter, and that package is known as a Visual C++ Redistributable. There are several advantages to using a redistributable. The packages are made available by Microsoft, who also tests and updates them with bug and security fixes. Redistributables also offer a single installation on a user’s computer that multiple programs can use at the same time.

Why Are So Many Installed on MY PC?


c++_1

I installed a fresh version of Windows 10 on a new PC a little less than two months ago. As you can see in the picture above, I’ve already got four versions of the Visual C++ Redistributable on my system. On other systems, I’ve seen as many as twenty. So, how do they all they get there?

Some are installed along with Windows itself. The specific versions that get installed depend on which version of Windows you’re using. I’m using Windows 10, which comes with the 2012 and 2013 Visual C++ Redistributables. You’ll also note that I’ve also got both the 32-bit (x86) and 64-bit (x64) versions installed. If you have a 32-bit version of Windows, you won’t see those 64-bit versions of the redistributable. But if you have a 64-bit version of Windows (which almost all computers are these days), you’ll see both versions, because a 64-bit Windows can run both 64-bit and 32-bit applications.

Any additional versions of the Visual C++ Redistributable you see on your system were installed along with some program that required it. When a developer codes in a specific version of Visual C++, the code libraries for that version must also be present on the user’s system for the application to run. That means that, for example, if a developer used Visual C++ 2005 (or Visual Studio 2005) to create a program you’re installing, you can expect to see the Visual C++ 2005 Redistributable installed on your system along with the program.

Sometimes, you’ll get a pop up the first time you run a program saying that the redistributable package is being installed. You’ll notice this a lot if you’re a PC gamer, especially if you get your games through Steam. Typically, this means that the developer has chosen to have the latest package downloaded from Microsoft at installation time. Sometimes, the package is bundled along with the application. Here’s a shot of the installation of the current AMD graphics driver package, which you can see wants to install the 2012 and 2013 C++ Redistributables.

c++_2

It’s also possible that you’ll see what look like multiple versions of the same redistributable installed, or at least multiple versions from the same year. For example, you might see multiple versions of the 2008 redistributable. One might indicate that it’s a service pack, while others might just have slightly different version numbers. So, while it sometimes looks like multiple versions of the same package are installed, they are all subtly different. And unfortunately, unlike with the somewhat similar .NET Framework, Microsoft never consolidated all these older versions into a unified package.

So in short: you’ll see some packages that come with Windows, and some that come with applications you install. And if you’re running 64-bit Windows, you’ll see both 64-bit and 32-bit versions of each package.

Can I Uninstall Some of Them?


The short answer is: yes, but you probably shouldn’t.

You never really know which of your installed applications rely on each redistributable. If you uninstall a program, that program will not automatically remove the redistributable upon which it relied, since it has no way of knowing if other applications also rely upon it. Sure, there may be some redistributable packages on there that you don’t need–but if you manually remove a redistributable package that some programs are still using, you could cause them to not run correctly and, in some cases, even cause problems in your Windows installation itself.

It may irritate you seeing so many sitting there in your list of installed programs, but if things are running well on your PC, the redistributables aren’t causing any harm. They also don’t take up much space. The four versions I have installed on my system right now take up less than 100 MB of disk space, combined.

We have seen some advice floating around the internet suggesting that you can remove older versions of redistributables, leaving just the most recent from each major release (noted by year) in place. In other words, they suggest you could leave the latest 2012 redistributable in place and uninstall older 2012 versions. We’ve tested this and found it to be unreliable. It seems to work sometimes, but there’s no guarantee it will work for you. In my own limited test of three systems, it caused problems on one system where a couple of programs would no longer run.


What Can I Do If I’m Having Problems?

Unfortunately, it’s often hard to narrow a problem with an application down to a bad redistributable installation. You rarely get an error message during installation or operation of a program that points you directly to the redistributable packages. Still, it is a possibility and sometimes it’s worth testing, particularly if a program you’ve just installed causes another already installed program to break and you know they both rely on the same redistributable.

First, you can take a couple of basic steps. Make sure that Windows update has all its latest updates. If an update to the package is available, that might solve the problem. You can also try scanning for corrupt system files in Windows. It doesn’t take long and it can restore system files that have become corrupt or gone missing. It’s always worth a shot.

If those steps fail to resolve the problem, you can try uninstalling and then reinstalling the version in question. And, if you don’t know the specific version, you can take a gamble and try uninstalling all the redistributable packages from your computer and then installing all the latest implementations of each version. Whichever route you take, make sure you back up your computer first!

You can uninstall the redistributables the same way you uninstall any other program in the Programs and Features control panel app. You can then download and install the latest versions from Microsoft’s Download Center. Here are some direct links to each version:


  • Microsoft Visual C++ 2005 SP1 Redistributable (x86)
  • Microsoft Visual C++ 2005 SP1 Redistributable (x64)
  • Microsoft Visual C++ 2008 SP1 Redistributable (x86)
  • Microsoft Visual C++ 2008 SP1 Redistributable (x64)
  • Microsoft Visual C++ 2010 SP1 Redistributable (x86)
  • Microsoft Visual C++ 2010 SP1 Redistributable (x64)
  • Microsoft Visual C++ 2012 Update 4 Redistributable (x86 and x64)
  • Microsoft Visual C++ 2013 Redistributable (x86 and x64)
  • Microsoft Visual C++ 2015 Update 2 Redistributable (x86 and x64)

Just remember that if you’re running a 64-bit version of Windows, you’ll need to download and install both the 32-bit (x86) and 64-bit (x64) versions.

And there it is. Hopefully, that at least explains what these Visual C++ Redistributable packages are and why so many are installed on your PC.

By How to Geek

No comments:

Post a Comment