Why Microsoft, Why? (Visual C++ v14 redistributables reverted to Visual C++ 2015-2022)
Posted by CharcoalGreyWolf@reddit | sysadmin | View on Reddit | 36 comments
Okay, so I've tried this with Winget and my own scripting (my own downloads from Microsoft's permalinks) and can confirm this is true.
Approximately 6-8 months, (this is not exact so pleas no-one go pedantic) Microsoft went from the following:
"Microsoft Visual C++ 2015-2022 Redistributable"
to
"Microsoft Visual C++ v14 Redistributable"
Which was fine, because we're long past 2022, it made sense, easier to keep track of, right? So, I updated some of my updater scripts and went on my merry way.
This month, Microsoft releases new Visual C++ Redistributables. What are they now?
"Microsoft Visual C++ 2015-2022 Redistributable"
With a *new* numeric version (14.51.36231.0 up from the v14 14.50.35719), but reverting to the *previous* name.
I'm just wondering why Microsoft can't get their sheot together with things like this. Are they just letting AI do this for them? Have they decided to re-staff departments like this with primates and pay in bananas? At least I found out pretty quick, but why is it so hard to get something this simple consistently right, and why does Microsoft continue on the path of ridiculous mistakes like this?
St0nywall@reddit
From what I understand about the redists, they contain specific version of DLL and other objects that are used by 3rd party programs. Those programs were compiled to use that specific redist version.
Removing older redists and putting the lates one on the computer would essentially break those programs as that older redist is a requirement for the program to function.
Redists are about the capabilities used at the time the program was compiled, not the version of the redist.
There may be functions or behavior that is different between the version of redist that would cause instability in the program using it.
ExceptionEX@reddit
Redist are as you set packages so you can have updates but 2015-2022 wouldn't be replaced by 20023-20xx it would be in addition to it.
They do update dist when bugs are fixed, or security issues arise
Once in a while you get overlap between them and you can get side loading issues where you have to make adjustments for configs which is almost always more of a headache than it's worth.
CharcoalGreyWolf@reddit (OP)
Here's the thing though -- If you use Winget to update packages, these show to be needed if the previous redistributable is present, and install right over the old ones you had before.
Same is true with downloading the files manually from Microsoft, The new version removes the v14; they don't show as coexisting side-by-side.
The only reason I can think of Microsoft going backwards in naming convention is if it's because so many apps still look for the specifically-named variant as a pre-requisite for install. However, the v14 set has been out a long time, and Microsoft themselves declared the 2015-2022 runtime deprecated in the face of v14.
And either way, the numeric version for the 2015-2022 has advanced from the v14.
discosoc@reddit
Eh, winget isn't really enterprise-ready in the slightest though. Most of the packages are just community-maintained, and then there's the whole user/system context issue that cause problems.
CharcoalGreyWolf@reddit (OP)
Wasn’t my point and in this case, it isn’t a community maintained package, and as said, tested also with manual installation of Microsoft’s latest installers to confirm what I was seeing.
St0nywall@reddit
IF winget is doing that, it is an error in their logic. Removing the old redists will break programs. There are updates to the specific version of the redists, but they will all be within the year marker showing.
If a 2026 version gets installed and uninstalls the 2022 version, that means there is something wrong with the installer or the program being used to install it, such as winget.
Degats@reddit
While true before the 2015 version, with the current series, apps built for eg 2015 will still work with the latest version hence the 2015-20xx naming scheme (it was originally just 2015, but the name has changed for every VS release). The installed location of the DLLs is still the same and the old versions are just being upgraded (and renamed), not removed.
Following the naming convention they've used throughout, the latest version should be 2015-2026.
sharkstax@reddit
The 2015-2022 / v14 redistributable is backwards-compatible with older versions of itself.
RealisticQuality7296@reddit
Anybody else been seeing .NET errors all over the place since the change to the new phrasing? Hopefully by putting it back how it was we won’t be having that any more.
If a program fails to launch or explorer.exe crashes or basically anything weird happens like that, I’ve been repairing visual c++ and it works like 9/10 times. Been going on for me for a while
OperationMobocracy@reddit
I have to do a repair install of this .Net version for Corel Draw to launch. Don’t know why a repair fixes it or what broke.
ExceptionEX@reddit
Typically repair uses the install manifest, and not the upgrade.
So if someone borked the updater and assumed a dependency or resource was at a certain location and it's not.
The installer manifest typically is green pasture and installs everything without that assumption. So the repair will put into place what is missing.
PTCruiserGT@reddit
One of my clients has to do this (repair install of the Visual C++ redistributables) for their PAM solution almost every time it auto-updates.
yournicknamehere@reddit
What PAM they use?
PTCruiserGT@reddit
Symantec I believe. Thank the heavens we don’t have to manage it for them!
yournicknamehere@reddit
Okay. Thanks for info. We're trying to pick one and want to choose least problematic one.
DefectJoker@reddit
Been going on for us for at least 6 months.
Michal_F@reddit
Really not sure what your problem is?
1.) You are using Latest supported Redistributable version package, so only supported version are included now = v14 (for Visual Studio 2017–2026). As VS2015 is Out off support from last year 10/2025. 2.) If you know you have legacy applications that require specific old version you can install it. But, in the notes on they web site you have this information: The version number is 14.0 for Visual Studio 2015, 2017, 2019, and 2022 because the latest Redistributable is binary compatible with previous versions back to 2015. 3.) So because they are binary compatible with older versions, you should need only v14 and don't care if there is VS 2015, 2017 or 2022 installed if you have app build with VS 2015. 4.) If you are using your own automation to download and install redis packages, its your issue to fix it. But this is like 10 minutes to troubleshoot and fix issue.
DefectJoker@reddit
The problem went over your head it seems, Microsoft renamed the 2015-2022 version to 14 a few months ago, now with this month's version they renamed it back to 2015-2022.
CharcoalGreyWolf@reddit (OP)
Thank you, nailed it in one, u/DefectJoker .
Actually nailed it in two because both of your points are correct.
Spartan117458@reddit
This is also the company who renamed half their product portfolio Copilot. Are we surprised?
LaDev@reddit
Microsoft Visual Copilot++ 2015-2022 Redistributable anyone?
krokodil2000@reddit
Microsoft Copilot Visual C++ 365
Drywesi@reddit
Microsoft Copilot Visual C++ 365 XBOX
ender-_@reddit
Microsoft Copilot Visual C++ 365 XBOX One X
DheeradjS@reddit
Hey you. Don't.
KAugsburger@reddit
I like the first one better. I am sure that they will figure a way to throw in a few more buzzwords.
Spartan117458@reddit
Don't tempt them!
BrainWaveCC@reddit
Yeah, it was fun to see the following in Winget today:
Microsoft Visual C++ v14 Redistributable … Microsoft.VCRedist.2015+.x86 14.50.35719.0 14.51.36231.0 winget
Microsoft Visual C++ v14 Redistributable … Microsoft.VCRedist.2015+.x64 14.50.35719.0 14.51.36231.0 winget
SikhGamer@reddit
Not gonna lie, that one took me a minute.
StiffAssedBrit@reddit
Why Microsoft persist with this ridiculous naming by year conversation, I have no idea. It takes them several years to iron out the bugs in everything they produce. They finally get it working then decide that it's outdated because it has a date 5 years prior, in the title.
christurnbull@reddit
Pray they do not rename it vcredist 365 copilot++
bobsmagicbeans@reddit
nothing to do with using AI to name things. this is just microsoft being microsoft.
they've always used 2 (or more) names and versions for products and, infuriatingly, use the less common or discoverable in their support docs
LaDev@reddit
And just painfully omit critical important.
Oh you want to know what this error code means? Fuck you. Decompile me.
berryer@reddit
I haven't worked with Windows in over a decade and I still get flashbacks about
ps2jak2@reddit
If they've gone back to Visual Studio releases then based on their own website : https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170 it should now be Microsoft Visual C++ Redistributable 2017–2026 instead of ending at 2022.
The only reason I can think of is that the name change must have have cooked something in the background pretty spectacularly. That said, they seem to be making arbitrary senseless changes on a weekly basis currently.
CharcoalGreyWolf@reddit (OP)
I saw that too, but no. Have tested on a dozen systems now from https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2010-vc-100-sp1-no-longer-supported
For my scripts, and Winget for a few others.