In the Windows 8.1 preview Environment.OSVersion.Version returns the same version numbers as Windows 8. Is there alternative way of detecting Windows 8.1.
Use ntdll!RtlGetVersion. This is what both GetVersionEx and VerifyVersionInfo use, and it gives the correct version number. It takes a pointer to an OSVersionInfoExW structure, like GetVersionExW does. If it succeeds, it returns STATUS_SUCCESS (0).