@@ -1186,13 +1186,10 @@ TBuildNameMap = record
11861186 Sources:
11871187 https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions
11881188 https://en.wikipedia.org/wiki/Windows_NT
1189- https://en.wikipedia.org/wiki/Windows_10_version_history
1190- https://en.wikipedia.org/wiki/Windows_11_version_history
11911189 https://en.wikipedia.org/wiki/Windows_Server
11921190 https://en.wikipedia.org/wiki/Windows_Server_2019
11931191 https://en.wikipedia.org/wiki/Windows_Server_2016
11941192 https://tinyurl.com/y8tfadm2 (MS Windows Server release information)
1195- https://tinyurl.com/usupsz4a (Win 11 Version Numbers & Build Versions)
11961193 https://docs.microsoft.com/en-us/lifecycle/products/windows-server-2022
11971194 https://tinyurl.com/yj5e72jt (MS Win 10 release info)
11981195 https://tinyurl.com/kd3weeu7 (MS Server release info)
@@ -1282,13 +1279,12 @@ TBuildNameMap = record
12821279
12831280 // Windows 11 version 22H2
12841281 //
1285- // Build 22631 was the original beta build.
1286- // * Beta & Release Preview channels: rev 1
1287- // * Beta channel: revs 160,290,436,440,450,575,586,590
1288- // * Release Preview channel: revs 105,169,232,317,382,457
1282+ // Build 22621 was the original beta build. Same build used for releases and
1283+ // various other channels.
1284+ // See **REF1** in implementation
12891285 Win11v22H2Build = 22621 ;
12901286 // Build 22632 was added as an alternative Beta channel build as of rev 290:
1291- // * Beta channel: revs 290,436,440,450,575,586,590
1287+ // * Beta channel: revs 290,436,440,450,575,586,590,598,601
12921288 Win11v22H2BuildAlt = 22622 ;
12931289
12941290 // Dev channel release - different sources give different names.
@@ -1299,15 +1295,17 @@ TBuildNameMap = record
12991295 // * From build 22567 the release string changed from "Dev" to "22H"
13001296
13011297 // Builds with version string "Dev"
1302- Win11DevChannelDevBuilds: array [0 ..36 ] of Integer = (
1298+ Win11DevChannelDevBuilds: array [0 ..43 ] of Integer = (
13031299 // pre Win 11 release
13041300 22449 , 22454 , 22458 , 22463 , 22468 ,
13051301 // post Win 11 release, pre Win 11 22H2 beta release
13061302 22471 , 22478 , 22483 , 22489 , 22494 , 22499 , 22504 , 22509 , 22518 , 22523 , 22526 ,
13071303 22533 , 22538 , 22543 , 22557 , 22563 ,
13081304 // post Win 11 22H2 beta release
13091305 25115 , 25120 , 25126 , 25131 , 25136 , 25140 , 25145 , 25151 , 25158 , 25163 , 25169 ,
1310- 25174 , 25179 , 25182 , 25188 , 25193
1306+ 25174 , 25179 , 25182 , 25188 , 25193 , 25197 , 25201 , 25206 , 25211 ,
1307+ // post Win 11 22H2 release
1308+ 25217 , 25227 , 25231
13111309 );
13121310 // Builds with version string "22H2" in Dev channel
13131311 Win11DevChannel22H2Builds: array [0 ..2 ] of Integer = (
@@ -1318,6 +1316,8 @@ TBuildNameMap = record
13181316 22581 , 22593 , 22598 , 22610 , 22616
13191317 );
13201318
1319+ Win11FutureComponentBetaChannelBuilds: array [0 ..0 ] of Integer = (22623 );
1320+
13211321 Win11FirstBuild = Win11DevBuild; // First build number of Windows 11
13221322
13231323 // Windows server v10.0 version ----------------------------------------------
@@ -1856,7 +1856,7 @@ procedure InitPlatformIdEx;
18561856 // ** Tried to read this info from registry, but for some weird
18571857 // reason the required value is reported as non-existant by
18581858 // TRegistry, even though it is present in registry.
1859- // ** Seems there is some kind of regitry "spoofing" going on (see
1859+ // ** Seems there is some kind of registry "spoofing" going on (see
18601860 // below.
18611861 InternalCSDVersion := Format(
18621862 ' Service Pack %d' , [Win32ServicePackMajor]
@@ -1866,7 +1866,7 @@ procedure InitPlatformIdEx;
18661866 begin
18671867 case InternalMinorVersion of
18681868 0 :
1869- // ** As of 2022/06/01 all releases of Windows 10 **and**
1869+ // ** As of 2022/06/01 all releases of Windows 10 **and**
18701870 // Windows 11 report major version 10 and minor version 0
18711871 // Well that's helpful!!
18721872 if (Win32ProductType <> VER_NT_DOMAIN_CONTROLLER)
@@ -1898,9 +1898,13 @@ procedure InitPlatformIdEx;
18981898 else if IsBuildNumber(Win1022H2Build) then
18991899 begin
19001900 InternalBuildNumber := Win1022H2Build;
1901- { TODO: As of 1 Aug 2022 all rev numbers are previews.
1902- Change following once this is no longer the case. }
1903- InternalExtraUpdateInfo := ' Version 22H2 (preview)' ;
1901+ if IsInRange(InternalRevisionNumber, 1865 , 2075 ) then
1902+ InternalExtraUpdateInfo := Format(
1903+ ' Version 22H2 [Release Preview v10.0.%d.%d]' ,
1904+ [InternalBuildNumber, InternalRevisionNumber]
1905+ )
1906+ else
1907+ InternalExtraUpdateInfo := ' Version 22H2' ;
19041908 end
19051909 else if FindBuildNumberFrom(
19061910 Win10DevChannel, InternalBuildNumber
@@ -1967,21 +1971,23 @@ procedure InitPlatformIdEx;
19671971 end
19681972 else if IsBuildNumber(Win11v22H2Build) then
19691973 begin
1970- // See comments with declarations of Win11v22H2Build and
1971- // Win11v22H2BuildAlt for details of naming of revisions.
1974+ // **REF1**
19721975 InternalBuildNumber := Win11v22H2Build;
19731976 case InternalRevisionNumber of
1977+ 876 ..MaxInt, 382 , 521 , 525 , 608 , 674 , 675 , 755 :
1978+ InternalExtraUpdateInfo := ' Version 22H2' ;
19741979 1 :
19751980 InternalExtraUpdateInfo := Format(
19761981 ' Version 22H2 [Beta & Release Preview v10.0.%d.%d]' ,
19771982 [InternalBuildNumber, InternalRevisionNumber]
19781983 );
1979- 105 , 169 , 232 , 317 , 382 , 457 :
1984+ 105 , 169 , 232 , 317 , 457 , 607 , 754 :
19801985 InternalExtraUpdateInfo := Format(
19811986 ' Version 22H2 [Release Preview v10.0.%d.%d]' ,
19821987 [InternalBuildNumber, InternalRevisionNumber]
19831988 );
1984- 160 , 290 , 436 , 440 , 450 , 575 , 586 , 590 :
1989+ 160 , 290 , 436 , 440 , 450 , 575 , 586 , 590 , 598 , 601 , 730 , 741 , 746 ,
1990+ 870 , 875 :
19851991 InternalExtraUpdateInfo := Format(
19861992 ' Version 22H2 [Beta v10.0.%d.%d]' ,
19871993 [InternalBuildNumber, InternalRevisionNumber]
@@ -2000,9 +2006,9 @@ procedure InitPlatformIdEx;
20002006 InternalBuildNumber := Win11v22H2BuildAlt;
20012007 // Set fallback update info for unknown revisions
20022008 case InternalRevisionNumber of
2003- 290 , 436 , 440 , 450 , 575 , 586 , 590 :
2009+ 290 , 436 , 440 , 450 , 575 , 586 , 590 , 598 , 601 :
20042010 InternalExtraUpdateInfo := Format(
2005- ' Version 22H2 [Beta v10.0.%d.%d]' ,
2011+ ' Version 22H2 [October Component Update v10.0.%d.%d]' ,
20062012 [InternalBuildNumber, InternalRevisionNumber]
20072013 );
20082014 else
@@ -2042,6 +2048,15 @@ procedure InitPlatformIdEx;
20422048 [InternalBuildNumber, InternalRevisionNumber]
20432049 );
20442050 end
2051+ else if FindBuildNumberFrom(
2052+ Win11FutureComponentBetaChannelBuilds, InternalBuildNumber
2053+ ) then
2054+ begin
2055+ InternalExtraUpdateInfo := Format(
2056+ ' Future Component Update Beta v10.0.%d.%d' ,
2057+ [InternalBuildNumber, InternalRevisionNumber]
2058+ );
2059+ end ;
20452060 end
20462061 else // Win32ProductType in [VER_NT_DOMAIN_CONTROLLER, VER_NT_SERVER]
20472062 begin
@@ -3294,3 +3309,4 @@ initialization
32943309InitPlatformIdEx;
32953310
32963311end .
3312+
0 commit comments