Skip to content

Commit 49b5dff

Browse files
committed
Update DDabLib PJSysInfo unit to v5.17.0
Replaces #55 that updated to PJSysInfo v5.15.5 Closes #62
1 parent 37e0941 commit 49b5dff

File tree

1 file changed

+37
-21
lines changed

1 file changed

+37
-21
lines changed

Src/3rdParty/PJSysInfo.pas

Lines changed: 37 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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
32943309
InitPlatformIdEx;
32953310

32963311
end.
3312+

0 commit comments

Comments
 (0)