In this post, I will explain what Visual C++ Redistributable Package for Windows is and how to install, uninstall and reinstall them. I will also explain why it is a good idea to install all the redistributable packages and not be concerned about the many installed versions of Visual C++ Redistributable packages on your computer.
This post is applicable to all the previous versions of Windows such as Windows XP, Windows 7, Windows 8 and the latest Windows 10. The information in this post is generic in nature and will apply to all the future releases of Windows unless Microsoft decides to provide the C++ runtime libraries in any manner other than the Redistributable packages.
Lets start the discussion with the concept of Runtime Libraries so that you have a better understanding of C++ Redistributable Package.
We hear a lot about “Runtime” in computer programming. What do you mean by Runtime?
Runtime is the duration of the program that is being executed by the computer. It is the actual running state of the program. It starts when the program is executed or run and ends when the program execution ends.
You hear things like, the program crashed. All it means that during the execution (runtime) of the program, some issues occurred which led to the abnormal termination of the program. You also hear things like “my computer crashed”. This means that some program crashed during the execution or runtime which had the effect of crashing the normal operation of the computer. This is where you have to force restart or power off the computer so that the bad code is wiped out of memory.
This is why any program is thoroughly tested before it is released to public. During testing, the aim is to see that the program runs successfully during runtime. But even after exhaustive testing, there can be certain issues that can go undetected. They are called bugs for which the company (also called Software Vendors) provide patch or updates which is aimed at fixing the problem.
The bugs that has gone undetected and the software has been shipped or released to public are called vulnerabilities. Hackers try to find these vulnerabilities in order to gain access to the system. This is why it is very important that people keep their system up to date with the most recent security patches.
The errors that we encounter during runtime are called runtime errors.
What is a Runtime Library?
We write computer programs and run them to see the output. When we run a program, do you think, is it just your code that runs or are there other associated codes that are also run simultaneously?
To answer that question, computer programs do not run in isolation. That is, when you execute a program, there are other programs that are called to successfully execute your program. All this happens during runtime, that is when the program is being run in realtime. Normally you don’t get to see these programs when they are being executed. None the less they are there. These programs provides the execution environment, that is the underlying platform on which other programs can run.
Java provides it own runtime environment which is also called the Java Runtime Environment(JRE). To run any java program you have to have JVM installed on your computer. Similar for .NET, the runtime environment is called Common Language Runtime(CLR) which is shipped with the windows operating system.
Programming languages such as C, C++, Visual C++, Perl, etc.. provide their own runtime environment which takes care of the execution of the program when it is run.
What is Visual C++?
Visual C++, popularly known as VC++ is the Microsoft version of one of the most popular programming language C++. VC++ is optimized for windows OS and also provides various functionalities suitable for application development on the Windows platform or targets machines that run on windows OS.
If you want to use C++ instead of VC++ for developing your project in windows, you can use the compiler provided by GCC which is based on the open source project. You can explore MINGW to find out more.
Please note that you can also use VC++ to write traditional C++ applications. GCC libraries are not really required for developing application using C++ in windows OS. You can use Visual studio to write C++ as well as VC++ programs.
What is Microsoft Visual Studio?
One of the most widely used IDE (Integrated Development Environment) for application development on Windows Platform is Visual Studio. Visual Studio is one of the finest IDE available in the market today. It allows developers to develop application using Visual C++, Visual Basic, C# etc…
Visual studio is a very costly product but there are free versions available which you can try.
What is Visual C++ runtime libraries?
Majority of desktop application that run on Windows OS is built using Visual Studio using VC++, for example, WAMP server, Photoshop, Camtasia Studio etc… to name a few. Visual C++ application development environment is inbuilt into Visual Studio.
Microsoft provides VC++ runtime libraries with Visual Studio. That is, when you install Visual Studio, VC++ runtime libraries get installed automatically. These runtime libraries are various .dll files such as msvcr110.dll, msvcp110.dll that are copied to system32 folder which you can find in your C drive in windows directory.
So, as a developer, you will not find any issues while developing applications, but when you decide to distribute (that is, sell for a price or for free), the real problem occurs. That is, the target machine on which these applications will be installed should also have the VC++ runtime libraries. Otherwise, the application will not install. Even if the program installs, they will not run and you will see error messages such as missing msvcp110.dll file.
What is Visual C++ Redistributable package?
These are the VC++ runtime libraries that needs to be present in the computer for the applications to run which were developed using VC++ using Visual Studio.
Why are there so many different versions of Visual C++ Redistributable package?
Just as Microsoft Office, which has various versions or releases such as office 2010 or Office 2016 or Office 2013, there are various releases of Visual Studio such as Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2013 and Visual Studio 2015.
Every version of Visual Studio has its own set of Visual C++ Redistributable package. Any application that is built using a particular version of Visual Studio requires the corresponding version of Visual C++ Redistributable package.
So, if you are installing a desktop application on your Windows machine, chances are that they will require Visual C++ Redistributable package to be present on your system. That is why it is a very good idea to install all the version of Visual C++ Redistributable package. This why you dont have to bother about the version of Visual Studio that was used to develop the application.
Do you have to manually install all the versions of Visual C++ Redistributable package?
The answer is both yes and no. Most of the time, the software vendors ship the Visual C++ Redistributable package as a part of the installer. For such cases, Visual C++ Redistributable package will be installed during the installation of the program.
But this is not true of all the applications. Applications such as WAMP require you to install the Visual C++ Redistributable package separately. That is why it is always recommended to install all the version of Visual C++ Redistributable package manually so that you don’t face issues related to any application in the future.
Which version of Visual C++ Redistributable package to install?
This is often confusing and I would like to add some clarity to it.
Each version of Visual Studio, such as Visual Studio 2015 or Visual Studio 2013 is shipped with a separate version of Visual C++ Redistributable package. The version you need to install depends on the version of visual studio used to develop the software. This is difficult to figure out and why would you want to know this? Often we do a google search with the error message and try to figure out which version to use from the help forums or various other search results. This then solves the problem only for the particular software you want to install.
But my take is, why would you want to tackle this problem individually, software by software. Why not install all the Visual C++ Redistributables package for the most popular Visual Studio Versions available in the market. That is to say, all the releases in the past 5 years, which is just four. This will cover almost all the software’s and you will never see this problem again. This will also safeguard you against all the other problems related to missing library files from Visual C++ Redistributable packages. You can argue that this is overkill, but considering the fact that the files to download are less that 15MB and takes less than 5 min to install, we are not taking more than 30 Mins of effort. A small inconvenience I guess. Also, installing multiple versions will not affect four system in anyway. On the contrary, it will make your system more stable.
How to Install the Visual C++ Redistributable Package
The Installation is fairly straight forward. Download the files and double click to start the installation process, follow the steps and you are done.
Where to download the file?
Here are the links to the various Visuall C++ Redistributable packages to download starting from Visual Studio 2010. I think we don’t have to go prior to this such as Visual studio 2008 or 2005. Please download and install both 64 and 32 bit versions. This is because, 64 bit version of the software will require 64 bit version of the Redistributable package. Its better to have both the versions installed as this will take care of both 32 and 64 bit versions of the application you want to install.
This page will take you to the latest supported VC++ Redistributable page from Microsoft. Alternatively you can download the insatllers from the below links.
- Visual C++ Redistributable for Visual Studio 2017 – 32 bit
- Visual C++ Redistributable for Visual Studio 2017 – 64 bit
- Visual C++ Redistributable for Visual Studio 2015
- Visual C++ Redistributable Packages for Visual Studio 2013
- Visual C++ Redistributable for Visual Studio 2012 Update 4
- Microsoft Visual C++ 2010 Redistributable Package (x64)
- Microsoft Visual C++ 2010 Redistributable Package (x86)
- Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
- Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)
Visual Studio 2008 and 2005 are really old versions. If you want to install their corresponding Redistributable package, here are the links. You can skip this if you want. Still installing them will do no harm.
- 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)
- x64 64 represents 64 bit version and x86 represents 32 bit version
- SP1 means Service Pack 1( released in 2011), the updated version of Visual Studio 2010 which was released in 2010.
Below is the screenshot of all the versions of Visual C++ Redistributables installed on my Computer. This is to give you an Idea about what what we are doing.
How to Uninstall and Reinstall Visual C++ Redistributable?
This again is as simple as installing and uninstalling any other windows program. You have to go to the Control Panel->Programs and Features in previous version of Winodws. In Windows 10, Settings->Apps->Apps & Features, select the Visual C++ Redistributable package you want to uninstall, and click to uninstall. After you uninstall them, you can reinstall them in the usual manner.
Should you be concerned about the multiple versions of Visual C++ Redistributable package installed on your system?
The answer is strictly NO. They dont take much disk space. All the Visual C++ Redistributable packages takes around 50 MB of space and they do not slow down the system. Sure, a lot of Visual C++ Redistributable packages look confusing but you can safely ignore your confusion and let all the Visual C++ Redistributable packages stay where they are. They are a part of Windows OS environment and necessary for the successful working of the Windows based application.