If you’re running Windows 7, you may be wondering what “version” of Windows you are really running? There’s a blog post here that describes how we got to the name “Windows 7”. The long and short of it is that Windows 7 is a major new release, however internally we still retain the same major version number as Vista. Vista was 6.0, Windows 7 is 6.1. If you execute winver.exe, ver.exe or use the GetVersionEx() API you will see “Version 6.1” or dwMajorVersion == 6, dwMinorVersion == 1.
The primary motivation for using version 6.1 was ISV application compatibility. Windows 7 is at it’s root an evolution of Vista, with performance and stability improvements, reduction in footprint, all around user experience and feature improvements. However, the goal has always been to maintain the highest level of compatibility with Vista. If you wrote your application for Vista, it should work on Windows 7.
As an ISV, ensure that if your applications check Windows OS version, don’t block. If absolutely needed, check for >= OS version, present a warning message and allow applications to continue. You can check for existence of specific features if that is important.