/// <summary> /// Get version details based on a known Windows version. /// </summary> /// <param name="version">The known Windows version</param> public static WindowsVersion GetKnownVersion(KnownWindowsVersion version) { switch (version) { default: case KnownWindowsVersion.RTM: { return(new WindowsVersion() { Name = "RTM", Build = VERSION_RTM, Version = "1506", ApiContractLevel = 1, }); } case KnownWindowsVersion.NovemberUpdate: { return(new WindowsVersion() { Name = "November Update", Build = VERSION_NOVEMBER, Version = "1511", ApiContractLevel = 2, }); } case KnownWindowsVersion.AnniversaryUpdate: { return(new WindowsVersion() { Name = "Anniversary Update", Build = VERSION_ANNIVERSARY, Version = "1607", ApiContractLevel = 3, }); } case KnownWindowsVersion.CreatorsUpdate: { return(new WindowsVersion() { Name = "Creators Update", Build = VERSION_CREATORS, Version = "1703", ApiContractLevel = 4, }); } case KnownWindowsVersion.FallCreatosUpdate: { return(new WindowsVersion() { Name = "Fall Creators Update", Build = VERSION_CREATORS, Version = "1709", ApiContractLevel = 5, }); } case KnownWindowsVersion.April2018Update: { return(new WindowsVersion() { Name = "April 2018 Update", Build = VERSION_APRIL2018, Version = "1803", ApiContractLevel = 6, }); } case KnownWindowsVersion.October2018Update: { return(new WindowsVersion() { Name = "OCTOBER 2018 Update", Build = VERSION_OCTOBER2018, Version = "1809", ApiContractLevel = 7, }); } case KnownWindowsVersion.May2019Update: { return(new WindowsVersion() { Name = "MAY 2019 Update", Build = VERSION_MAY2019, Version = "1903", ApiContractLevel = 8, }); } } }
/// <summary> /// Returns wether this version is bigger or equal than the known Windows version. /// </summary> /// <param name="knownVersion">The known Windows version</param> public bool IsCompatibleWith(KnownWindowsVersion knownVersion) { var compatibleVersion = GetKnownVersion(knownVersion); return(Build >= compatibleVersion.Build); }