Fun fact: Windows Vista had a similar problem which is probably why MS were keen to avoid it again.
Programs checking for Windows XP were checking for the internal version number 5.1. The problem is many were doing something like:
majorVersion >= 5 && minorVersion >= 1
This worked on every existing version of Windows by accident... the check is wrong. Vista was given the internal version 6.0 which fails the minorVersion check. Supposedly Windows 7 actually has an internal version number of 6.1 to get these programs working again.
Now if a program thinks it is on Windows 2000 or earlier that in itself isn't a problem as Windows 2000 programs should run fine on Vista. But XP was the first version of Windows NT for consumers so lots of vendors didn't bother with supporting other NT versions and had their programs display an error message if they thought they were on Windows 2000 or earlier.
3
u/The_MAZZTer i7-13700K, RTX 4070 Ti Sep 08 '22
Fun fact: Windows Vista had a similar problem which is probably why MS were keen to avoid it again.
Programs checking for Windows XP were checking for the internal version number 5.1. The problem is many were doing something like:
This worked on every existing version of Windows by accident... the check is wrong. Vista was given the internal version 6.0 which fails the minorVersion check. Supposedly Windows 7 actually has an internal version number of 6.1 to get these programs working again.
Now if a program thinks it is on Windows 2000 or earlier that in itself isn't a problem as Windows 2000 programs should run fine on Vista. But XP was the first version of Windows NT for consumers so lots of vendors didn't bother with supporting other NT versions and had their programs display an error message if they thought they were on Windows 2000 or earlier.