public static Version RtlGetVersion() { var v = default(OSVERSIONINFOEX); v.dwOSVersionInfoSize = (uint)Marshal.SizeOf(typeof(OSVERSIONINFOEX)); if (NativeMethods.RtlGetVersion(ref v) == 0) { return(new Version((int)v.dwMajorVersion, (int)v.dwMinorVersion, (int)v.dwBuildNumber, 0)); } // didn't work ??? return(default(Version));//Environment.OSVersion.Version; }