Determining OS version from the Evo stack trace
Evolution software uses a third-party component for error handling and reporting, and this includes a detailed stack trace on error. An example snippet
...
date/time : 2015-09-26, 13:44:04, 532ms
computer name : EVO1
user name : SYSTEM
operating system : Windows NT New Service Pack 2 build 6002
system language : English
...
Unfortunately, the "operating system" reporting hasn't been updated it some time to reflect the common name, so all versions beyond Server 2003 have a generic string that includes the build number. It's this build number that allows us to determine the operating system:
Build number
Operating System
2600
Windows XP
3790
Server 2003 (all editions, including R2)
6000
Windows Vista
6001
Windows Vista SP1
6002
Server 2008 and some Vista
7600
Windows 7
7601
Windows 7 or Server 2008 R2
9200
Windows 8.1, Server 2012 and beyond
It's not always possible to tell from the build number whether it's the desktop OS or the corresponding server OS, but you ought to be able to figure that out from context.
- Windows Vista ≈ Server 2008
- Windows 7 ≈ Server 2008 R2
- Windows 8 ≈ Server 2012
- Windows 8.1 ≈ Server 2012 R2
- Windows 10 ≈ Server 2016
Note that Service Packs are just cumulative sets of updates not really impacting the version, but R2 is considered a different version of the operating system.
We believe that all future OS versions will continue to report #9200 to applications unless that app has been built specially for the newer OS: this is a kind of workaround to application-compatibility issues.
We'll update this table as we learn more.