@@ -1186,13 +1186,10 @@ TBuildNameMap = record
1186
1186
Sources:
1187
1187
https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions
1188
1188
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
1191
1189
https://en.wikipedia.org/wiki/Windows_Server
1192
1190
https://en.wikipedia.org/wiki/Windows_Server_2019
1193
1191
https://en.wikipedia.org/wiki/Windows_Server_2016
1194
1192
https://tinyurl.com/y8tfadm2 (MS Windows Server release information)
1195
- https://tinyurl.com/usupsz4a (Win 11 Version Numbers & Build Versions)
1196
1193
https://docs.microsoft.com/en-us/lifecycle/products/windows-server-2022
1197
1194
https://tinyurl.com/yj5e72jt (MS Win 10 release info)
1198
1195
https://tinyurl.com/kd3weeu7 (MS Server release info)
@@ -1282,13 +1279,12 @@ TBuildNameMap = record
1282
1279
1283
1280
// Windows 11 version 22H2
1284
1281
//
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
1289
1285
Win11v22H2Build = 22621 ;
1290
1286
// 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
1292
1288
Win11v22H2BuildAlt = 22622 ;
1293
1289
1294
1290
// Dev channel release - different sources give different names.
@@ -1299,15 +1295,17 @@ TBuildNameMap = record
1299
1295
// * From build 22567 the release string changed from "Dev" to "22H"
1300
1296
1301
1297
// Builds with version string "Dev"
1302
- Win11DevChannelDevBuilds: array [0 ..36 ] of Integer = (
1298
+ Win11DevChannelDevBuilds: array [0 ..43 ] of Integer = (
1303
1299
// pre Win 11 release
1304
1300
22449 , 22454 , 22458 , 22463 , 22468 ,
1305
1301
// post Win 11 release, pre Win 11 22H2 beta release
1306
1302
22471 , 22478 , 22483 , 22489 , 22494 , 22499 , 22504 , 22509 , 22518 , 22523 , 22526 ,
1307
1303
22533 , 22538 , 22543 , 22557 , 22563 ,
1308
1304
// post Win 11 22H2 beta release
1309
1305
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
1311
1309
);
1312
1310
// Builds with version string "22H2" in Dev channel
1313
1311
Win11DevChannel22H2Builds: array [0 ..2 ] of Integer = (
@@ -1318,6 +1316,8 @@ TBuildNameMap = record
1318
1316
22581 , 22593 , 22598 , 22610 , 22616
1319
1317
);
1320
1318
1319
+ Win11FutureComponentBetaChannelBuilds: array [0 ..0 ] of Integer = (22623 );
1320
+
1321
1321
Win11FirstBuild = Win11DevBuild; // First build number of Windows 11
1322
1322
1323
1323
// Windows server v10.0 version ----------------------------------------------
@@ -1856,7 +1856,7 @@ procedure InitPlatformIdEx;
1856
1856
// ** Tried to read this info from registry, but for some weird
1857
1857
// reason the required value is reported as non-existant by
1858
1858
// 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
1860
1860
// below.
1861
1861
InternalCSDVersion := Format(
1862
1862
' Service Pack %d' , [Win32ServicePackMajor]
@@ -1866,7 +1866,7 @@ procedure InitPlatformIdEx;
1866
1866
begin
1867
1867
case InternalMinorVersion of
1868
1868
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**
1870
1870
// Windows 11 report major version 10 and minor version 0
1871
1871
// Well that's helpful!!
1872
1872
if (Win32ProductType <> VER_NT_DOMAIN_CONTROLLER)
@@ -1898,9 +1898,13 @@ procedure InitPlatformIdEx;
1898
1898
else if IsBuildNumber(Win1022H2Build) then
1899
1899
begin
1900
1900
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' ;
1904
1908
end
1905
1909
else if FindBuildNumberFrom(
1906
1910
Win10DevChannel, InternalBuildNumber
@@ -1967,21 +1971,23 @@ procedure InitPlatformIdEx;
1967
1971
end
1968
1972
else if IsBuildNumber(Win11v22H2Build) then
1969
1973
begin
1970
- // See comments with declarations of Win11v22H2Build and
1971
- // Win11v22H2BuildAlt for details of naming of revisions.
1974
+ // **REF1**
1972
1975
InternalBuildNumber := Win11v22H2Build;
1973
1976
case InternalRevisionNumber of
1977
+ 876 ..MaxInt, 382 , 521 , 525 , 608 , 674 , 675 , 755 :
1978
+ InternalExtraUpdateInfo := ' Version 22H2' ;
1974
1979
1 :
1975
1980
InternalExtraUpdateInfo := Format(
1976
1981
' Version 22H2 [Beta & Release Preview v10.0.%d.%d]' ,
1977
1982
[InternalBuildNumber, InternalRevisionNumber]
1978
1983
);
1979
- 105 , 169 , 232 , 317 , 382 , 457 :
1984
+ 105 , 169 , 232 , 317 , 457 , 607 , 754 :
1980
1985
InternalExtraUpdateInfo := Format(
1981
1986
' Version 22H2 [Release Preview v10.0.%d.%d]' ,
1982
1987
[InternalBuildNumber, InternalRevisionNumber]
1983
1988
);
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 :
1985
1991
InternalExtraUpdateInfo := Format(
1986
1992
' Version 22H2 [Beta v10.0.%d.%d]' ,
1987
1993
[InternalBuildNumber, InternalRevisionNumber]
@@ -2000,9 +2006,9 @@ procedure InitPlatformIdEx;
2000
2006
InternalBuildNumber := Win11v22H2BuildAlt;
2001
2007
// Set fallback update info for unknown revisions
2002
2008
case InternalRevisionNumber of
2003
- 290 , 436 , 440 , 450 , 575 , 586 , 590 :
2009
+ 290 , 436 , 440 , 450 , 575 , 586 , 590 , 598 , 601 :
2004
2010
InternalExtraUpdateInfo := Format(
2005
- ' Version 22H2 [Beta v10.0.%d.%d]' ,
2011
+ ' Version 22H2 [October Component Update v10.0.%d.%d]' ,
2006
2012
[InternalBuildNumber, InternalRevisionNumber]
2007
2013
);
2008
2014
else
@@ -2042,6 +2048,15 @@ procedure InitPlatformIdEx;
2042
2048
[InternalBuildNumber, InternalRevisionNumber]
2043
2049
);
2044
2050
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 ;
2045
2060
end
2046
2061
else // Win32ProductType in [VER_NT_DOMAIN_CONTROLLER, VER_NT_SERVER]
2047
2062
begin
@@ -3294,3 +3309,4 @@ initialization
3294
3309
InitPlatformIdEx;
3295
3310
3296
3311
end .
3312
+
0 commit comments