Forum Discussion
Windows 11 Registry Still reports Windows 10 as OS Name
- cjcoxMar 26, 2026Brass Contributor
While "intentional", it's moronic. It does point out "issues" within Microsoft however. Windows 11 has "changes", sometimes radical to Windows 10, but unlike in the past, they were not able to fully come to a path for a full, real, upgrade. So, Windows 11 is just 10 with some warts. Will 12 continue to be just 10 (again)? Maybe. Work is hard, and Microsoft's promise that "10 would be the end", is still very much true. They just figured out a "way" to get extra revenue with point releases of 10. Server and desktop, as in the past, continue to "diverge", IMHO, reconciliation will have to be on the roadmap at some point, or Microsoft is about to walk backwards yet again. So, yes, security issues abound, development and release issues inside of Microsoft abound.... nothing new. The server vs desktop OS divergence is going to be the "train wreck" as it's like a snow ball rolling downhill. The longer you wait, the worse the problems are going to get. And, 10, at least for now, is still "the last OS release from Microsoft", but with code divergence, there can be two very different 10's out there.
- rmanginNov 17, 2022Copper Contributor
Don't get your answer... when you say intentional: is there an official documentation, a deprecated statement, a replacement key? how customers are supposed to rely on these values if the logic breaks suddenly?
Are we really supposed to code ourselves as explained here based on the version >= 22000 https://stackoverflow.com/questions/69460588/how-can-i-find-the-windows-product-name-in-windows-11 ?
Problem is that now this situation is no longer a beta but a productive case at customers.// os = "Windows 10 Enterprise" at this point
if (Environment.OSVersion.Version.Build >= 22000)
{
// Windows 11 case declared as Windows 10.
os = os.Replace("10", "11");
}- abbodi1406Nov 17, 2022Steel ContributorThere are nothing official, but for compatibility requirements
https://learn.microsoft.com/en-us/answers/questions/555857/windows-11-product-name-in-registry.html?page=2&pageSize=10&sort=oldest
as the stackoverflow answers explain, you can use WMI Win32_OperatingSystem or winbrand.dll BrandingFormatString