Microsoft ends Visual C++ Redistributable Chaos - gHacks Tech News


Microsoft ends Visual C++ Redistributable Chaos

Programs designed with Visual Studio may require a specific version of the Microsoft Visual C++ Redistributable to run. The requirement resulted in the installation of a large number of Visual C++ Redistributable packages on Windows PCs.

It is not uncommon to see multiple Microsoft Visual C++ Redistributables on a system that were installed by software programs, through updates, e.g. security updates, or manually by the system administrator.

visual c++ redistributable

Redistributables are stored in a central location so that any program installed on the system may access the files if required.  You can check out our detailed guide on Visual C++ Redistributables here for additional details.

Microsoft changed the system significantly with the release of the Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019. A baseline image is provided for these redistributable packages so that it is no longer necessary to install different versions separately on target systems.

In other words: if the Visual C++ 2019 redistributable is installed on a system, it is no longer necessary to install the Visual C++ 2015 or 2017 redistributable packages as these are supported automatically as well.

Microsoft provides the following example on the "The latest supported Visual C++ downloads" support page.

For example, installing the Visual C++ 2019 redistributable will affect programs built with Visual C++ 2015 and 2017 also. However, installing the Visual C++ 2015 redistributable will not replace the newer versions of the files installed by the Visual C++ 2017 and 2019 redistributables.

This is different from all previous Visual C++ versions, as they each had their own distinct runtime files, not shared with other versions.

A support article on Microsoft's Docs website provides further information:

From Visual Studio .NET through Visual Studio 2013, each major release of the C++ compiler and tools has included a new, standalone version of the Microsoft C Runtime (CRT) library. These standalone versions of the CRT were independent from, and to various degrees, incompatible with each other. For example, the CRT library used by Visual Studio 2012 was version 11, named msvcr110.dll, and the CRT used by Visual Studio 2013 was version 12, named msvcr120.dll. Beginning in Visual Studio 2015, this is no longer the case. Visual Studio 2015 and later versions of Visual Studio all use one Universal CRT.

The Universal CRT is a Microsoft Windows operating system component. It is included as part of the operating system in Windows 10 and is available for older operating systems, Windows Vista through Windows 8.1, by using Windows Update. In addition, local deployment of the Universal CRT is supported, with some restrictions.

Windows administrators may download the Universal C Runtime with a click on the following links:

Older Visual C++ Redistributable packages for Visual Studio still need to be downloaded and installed separately, or delivered as part of a program's installation process.

The Visual C++ All in One Installer is also useful when it comes to installing redistributable packages on Windows systems.

Closing Words

The Universal C Runtime is a step in the right direction. While it does not take care of older C++ Redistributable packages, it did so starting with the release of the Visual C++ 2015 Redistributable.

Now You: How many Redistributable packages are installed on your system? (via Born)

Microsoft ends Visual C++ Redistributable Chaos
Article Name
Microsoft ends Visual C++ Redistributable Chaos
Microsoft switched to a Universal C Runtime format with the release of Visual Studio 2015 to reduce the administrative burden.
Ghacks Technology News

Previous Post: «
Next Post: »


  1. aguilar said on June 23, 2019 at 10:58 am

    in a nutshell: Visual C++ 2015, 2017 and 2019 all share the same redistributable files

    all the previous versions are not involved

  2. iron2000 said on June 23, 2019 at 10:58 am

    Hmm, not much for me as 2015 is the newest on my PC.
    Theres 2005, 2008, 2010, 2012 and 2013 packages.
    Nothing saved by this move.

    I wish I can see which programs use these packages.

  3. I-Flex said on June 23, 2019 at 12:09 pm

    I wonder what negative thing people will come up with about this one!

  4. Jeff said on June 23, 2019 at 12:38 pm

    Some weird grammar: “as well as these are supported automatically as well.”

    1. Rush said on June 23, 2019 at 6:56 pm


      Martin, I believe is in Europe. Also, I believe Martin uses English as a second language.

      He believe Martin does quite well, all things considered.

  5. John G. said on June 23, 2019 at 12:46 pm

    Microsoft ends nothing. It they wanted to end C++ madness they would provide all C++ updates through Windows Update instead letting the user to explode their brains searching each update separately for their respective C++ versions. Actually there are some guys that are offering some C++ all-in-one packages that solve in much way this problem FOR FREE, with no MS money reward. Microsoft’s brilliant volunteers are mostly the 50% gold medal of this amazing amount of bloatware and ‘updateware’ named Windows. Probably it’s named this way because every day there are a large number of people desiring throwing his computer across their windows.

    1. anon said on June 23, 2019 at 1:04 pm

      It’s not like you have to scurry the Web or anything.

    2. Ivan Lazarov said on June 23, 2019 at 1:21 pm

      Hi John G.

      Can you please name or link some of these C++ all-in-one packages?

      1. John G. said on June 24, 2019 at 1:16 am

        After testing and using five or six all-in-one packages, this is the most efficient for all C++:

        It works like a charm, no problem experienced ever. Enjoy yourself! :)

      2. Anonymous said on June 24, 2019 at 3:24 pm

        Try to visit this site-

        the Visual C++ Redistributable Runtimes installer can be found here:

        Hope this helps..
        Cheers mate!.
        PS. Please support martin by giving a small donations guys.

        always take care.

    3. kalmly said on June 23, 2019 at 2:44 pm

      Yes. I downloaded one of those packages, from Major Geeks I think it was, a while back. No more problems with applications complaining I don’t have the right C++ version.

    4. Macgyver24x7 said on December 4, 2019 at 4:02 pm

      @John G, I wholeheartedly agree with you that Microsoft should just deliver all various redistributable runtimes through Windows Update anyway. This should reduce the number of reboots required to install some software. For example, I had to reboot THREE TIMES to get VMware Workstation to update from 15.x to 15.y all because the installer itself required the latest runtimes (both x86 and x64 variants both of which required restarts themselves individually) even before the software continued its own upgrade! Has anyone confirmed whether or not Microsoft is current or is planning to do this?

  6. Ivan Lazarov said on June 23, 2019 at 1:22 pm

    How can I determine whether I can uninstall some older c++ redistributables? (i.e. older than 2015)

    1. Martin Brinkmann said on June 23, 2019 at 3:49 pm

      There is no easy way to do this. I suggest you check out the “try” section of our guide:

  7. Ivan Lazarov said on June 23, 2019 at 1:30 pm

    I have the following Microsoft Visual C++ redistributables installed:

    2005 v8.0.61001
    2005 v8.0.56336
    2005 v8.0.59193
    2005 v8.0.50727.42
    2005×64 v8.0.50727.42
    2005×64 v8.0.59192

    2008 v9.0.21022
    2008 v9.0.30729.17
    2008 v9.0.30729.4148
    2008 v9.0.30729.6161
    2008×64 v9.0.21022
    2008×64 v9.0.30729.17
    2008×64 v9.0.30729.4148
    2008×64 v9.0.30729.6161

    2010 10.0.40219
    2010×64 10.0.40219

    2012 11.0.61030
    2012×64 11.0.61030

    2013 12.0.21005
    2013×64 12.0.21005
    2013 12.0.30501
    2013×64 12.0.30501
    2013×64 12.0.40649
    2013 12.0.40664
    2013×64 12.0.40664

    Nothing from 2015 ??

    2017 14.14.26429
    2017×64 14.14.26429

    This is chaos. This is madness. This is insanity.
    The update changes nothing about that.

    1. Martin Brinkmann said on June 23, 2019 at 3:47 pm

      2017 includes 2015.

    2. Slaskfader said on June 23, 2019 at 6:04 pm

      Remove them all. Get the latest ones, in your case 2005-2008-2010-2012 and the new 2015~2019 that replaces 2017, both x64 and x86 from here: It’s enough to have just one version per “year”, whatever program that needs it doesn’t care about the version number. The latest ones are the safest ones. I personally would remove everything and then try all installed programs to see if some won’t start anymore. Many times those c++ things are just left behind after a program has been uninstalled..and other times not, my webcam on my old acer laptop doesn’t work without c++ 2005 for example. The latest ClipGrab needs c++ 2017 etc etc.. its a damn hassle for sure.

      1. Ivan Lazarov said on June 24, 2019 at 1:31 pm

        Thanks Slaskfader!
        I even had some of the latest versions already installed, so I mostly uninstalled the older ones.

      2. Anonymous said on June 25, 2019 at 8:02 am
  8. asdfly said on June 23, 2019 at 2:52 pm

    For a while I’ve been relying on the vcredist-all package from chocolatey.

  9. Dilly Dilly said on June 23, 2019 at 4:19 pm

    The most comprehensive up to date supported version is here:

    1. Yuliya said on June 23, 2019 at 4:34 pm

      This is nice. It even installs the VCredist 2005 properly – Microsoft’s own installer fails to place one file in its folder and I always had to do it manually then re-register the dll via CMD.
      Also, abbodi1406 should be trustworthy, he’s from MDL forums.

    2. Anonymous said on June 24, 2019 at 1:57 am

      I downloaded and installed

      It appears to have worked fine, but now I see that from 2012 on, I have a “Minimum Runtime” and an “Additional Runtime” for each version.

      I’ve searched, but haven’t been able to find the difference between the “minimum” and “additional” versions.

      Do I need both in each case?

      Based on the software on my computer, is there a tool that can tell me which C++ versions I actually need?

      Thank you.

  10. Peter Quiring said on June 24, 2019 at 1:32 am

    Ignore the years, look at the versions. 2015-2019 are all v14, that’s all. If C++ v15.0 comes out then it will just add to the list of C++ runtimes you will need to install.

    MS has a website the maintains the latest minor version of each major release.


  11. Emil said on June 24, 2019 at 2:07 pm

    Make it easy for yourself :-)

    I’ve been using these packs for a long time, they are fine. The source is the mydigitallife forum.

  12. PuzzledReader said on June 24, 2019 at 2:08 pm

    What’s the news here? Microsoft did this years ago.

  13. Steve Vreeland said on June 24, 2019 at 3:18 pm

    “For example, installing the Visual C++ 2019 redistributable will affect programs built with Visual C++ 2015 and 2017 also.”
    I read that to mean: “Installing the latest CRT may screw your earlier programs and force all your customers to update to a newer version. (That’s how we make our money; msvs).”

    1. Ann said on June 24, 2019 at 5:08 pm

      then I sugest you go back to school for a cource in comprehensive reading.
      * older installation are still valid, so no need to “force update your customers”
      * VC redistributable are free of charge, so no extra money comes out of this for M$ (write it like you can read it) so on the contrary the work they’ve done here did cost MS money and they have no direct return on it.
      * I’m no emplyoyee nor afiliated with MS, but I do want to aplogise to you that Ms is trying to make life a bit easier.
      *They could have made it even more easy by uninstalling the older versions when installing the last version applicable, but thet you would have reason to complain as your application no doubt checks on version 15.654754.7487.57568 and that version would be gone.

      1. John G. said on June 27, 2019 at 8:34 am

        “*They could have made it even more easy by uninstalling the older versions when installing the last version applicable, but thet you would have reason to complain as your application no doubt checks on version 15.654754.7487.57568 and that version would be gone.”

        I beg your pardon but this is an insane concept itself, because Microsoft is now offering at its site all C++ latest versions only, not minor ones, older ones or whatever they could be named. So it’s not fair for the users that they are releasing updates over updates that can’t be used for specific programs that required such minor version. Where they can be found?

        According to the exposed facts, MS should offer all 20 versions of C++ or not?

  14. mikef90000 said on June 24, 2019 at 8:39 pm

    Good job, MS. Why can’t you even include a date / version number in the new filename?

    The developmentally disabled are complaining justifiably that MS is disrepecting the ‘retarded’.

  15. cybernard said on June 25, 2019 at 12:21 am

    This does nothing 90% of my versions are old than this.
    2008 had 5 versions of x86 and x64.

  16. Gogi said on June 25, 2019 at 10:54 pm

    Can MS explain, what they made in EVERY runtime so important and incompatible, that we need to install all this “C++ mess”? Objects are changed? OOP? Virtual table? I never believe there is no SINGLE solution for all C++ programs. Just question of qualification (of MS developers).

  17. Xileer Torias said on June 26, 2019 at 4:13 am

    Currently Installed (Power User / Software Developer)
    C++ 2005 Redistributables: 5
    C++ 2008 Redistributables: 7
    C++ 2010 Redistributables: 2
    C++ 2012 Redistributables: 2
    C++ 2013 Redistributables: 2
    C++ 2017 Redistributables: 2
    Total: 20

    If I can replace this with 1, I’ll be more than happy ._.

    1. John G. said on June 27, 2019 at 6:34 am

      You don’t need to have the total 20 versions installed, only just the last version of each redistributable package of C++ per year. According to Microsoft they all have backward compatibility, so you need only six installed (or eleven if you have 64bit system).

    2. John G. said on June 27, 2019 at 7:28 am

      Sorry, I forgot to make this question: where did you find all those minor versions of each C++? Microsoft only offers the last major version of each one, and they seem to be unavailable.

  18. Froyton said on June 28, 2019 at 4:39 pm

    Am I the only one that views this as a non-issue? I could be missing something, but I don’t see the harm in having a bunch of these installed, aside from a slightly longer list of installed programs and a negligible number of MBs used up on my disk. In all the years and among the hundreds (thousands?) of workstations I’ve worked on, I was mildly inconvenienced exactly 1 time by the fact that there were multiple vcredistribs installed. I had to reinstall a vcredistrib to address a software issue and I wasn’t sure which version the program used, so I reinstalled all three of them. I don’t feel like this is the “hell” that people are making it out to be. I know I can’t speak for everybody, so I would be happy to hear a thoughtful rebuttal to this. I’m still going to posit that at least some of the people complaining are merely doing so because they will bash Microsoft over literally everything, big and small.

    1. John G. said on June 28, 2019 at 9:11 pm

      The main problem: there is no way to get six major C++ updates through windows update system.

  19. ormaaj said on July 7, 2019 at 3:19 am

    Did they make a fundamental change to the linker to somehow allow parts of libraries (and the runtime) to have ABI-compatibility across multiple msvc versions? I think this is probabaly not that magical.

  20. ACL IT Academy said on July 15, 2019 at 1:12 pm

    The Microsoft visual C++ Redistributable install run-time components that are required to run C++ applications. Wonderful article. Thanks for sharing.
    ACL IT Academy – C training Institute in Kolkata

  21. mgruber said on October 22, 2019 at 7:24 am

    Exactly as it once worked on the good old Visual Studio 6.0 (1998). Then MS invented the manifest…

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

Please note that your comment may not appear immediately after you post it.