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)

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

We need your help

Advertising revenue is falling fast across the Internet, and independently-run sites like Ghacks are hit hardest by it. The advertising model in its current form is coming to an end, and we have to find other ways to continue operating this site.

We are committed to keeping our content free and independent, which means no paywalls, no sponsored posts, no annoying ad formats or subscription fees.

If you like our content, and would like to help, please consider making a contribution:


Previous Post: «
Next Post: »

Comments

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

    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
    Reply

    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
    Reply

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

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

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

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

      @Jeff..

      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
    Reply

    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
      Reply

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

      https://support.microsoft.com/help/2977003

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

      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
        Reply

        After testing and using five or six all-in-one packages, this is the most efficient for all C++:
        https://www.majorgeeks.com/files/details/multipack_visual_c_installer.html

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

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

        Try to visit this site- https://forums.mydigitallife.net/threads/repack-visual-c-redistributable-runtimes-2019-06-13.76588/

        the Visual C++ Redistributable Runtimes installer can be found here: https://rebrand.ly/vcredist

        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
      Reply

      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.

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

    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
      Reply

      There is no easy way to do this. I suggest you check out the “try” section of our guide: https://www.ghacks.net/2017/04/10/microsoft-visual-c-redistributable-information/

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

    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
      Reply

      2017 includes 2015.

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

      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: https://github.com/CNMan/MicrosoftHotfixesList/tree/master/Microsoft_Visual_C%2B%2B_Redistributable_Package 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
        Reply

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

  8. asdfly said on June 23, 2019 at 2:52 pm
    Reply

    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
    Reply

    The most comprehensive up to date supported version is here:

    https://github.com/abbodi1406/vcredist

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

      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
      Reply

      I downloaded and installed https://github.com/abbodi1406/vcredist

      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
    Reply

    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.

    https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

    Thanks,

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

    https://tiny.cc/vcredist

    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
    Reply

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

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

    “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
      Reply

      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
        Reply

        “*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
    Reply

    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
    Reply

    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
    Reply

    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
    Reply

    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
      Reply

      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
      Reply

      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
    Reply

    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
      Reply

      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
    Reply

    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
    Reply

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

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.