On 1/21/22 18:11, Paul Gofman wrote:
There is also version number in kernel32/version.rc which some games expect to have in sync IIRC.
No reason we shouldn't have it in sync, but on Windows apparently it's possible to have it slightly off comparing to build value in registry.
Then, there is a version number hardcoded in kernelbase/version.c:version_data[] which is currently 17134, that should probably be bumped as well? (fwiw there is also the number in ntdll/version.c: VersionData[] but this is 17763 now.
See attached v2 patch as an attempt to unify this. Symbol name should probably be WIN10BUILDNUMBER, in case major number will be ever bumped from 10.
Alexandre, what do you think?
Probably not exactly related but maybe once the default is upgraded to Win10 it makes sense to add ReleaseId and DisplayVersion registry values? I recall at least one game depending in ReleaseId presence.
This will need some changes to winecfg too I think, to remove these value when prefix version switches from win10.
P.S. found another inconsistency, for win10 we should keep using "6.3" for CurrentVersion, with major/minor ints correctly bumped to {10,0}. This will confuse winecfg matching logic, and should be addressed separately.
On 1/21/22 17:27, Nikolay Sivov wrote:
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com
dlls/ntdll/version.c | 2 +- loader/wine.inf.in | 24 ++++++++++++------------ programs/winecfg/appdefaults.c | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/dlls/ntdll/version.c b/dlls/ntdll/version.c index 5f956d9d2e6..b782e239d39 100644 --- a/dlls/ntdll/version.c +++ b/dlls/ntdll/version.c @@ -467,7 +467,7 @@ void version_init(void) NtQuerySystemInformation( SystemWineVersionInformation, wine_version, sizeof(wine_version), NULL ); - current_version = &VersionData[WIN7]; + current_version = &VersionData[WIN10]; RtlOpenCurrentUser( KEY_ALL_ACCESS, &root ); attr.Length = sizeof(attr); diff --git a/loader/wine.inf.in b/loader/wine.inf.in index c0251934dfc..c3c22361a98 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in @@ -5594,12 +5594,12 @@ HKLM,"System\CurrentControlSet\Services\Winsock\Parameters",,16 HKLM,"System\CurrentControlSet\Services\Winsock2\Parameters\Protocol_Catalog9\Catalog_Entries",,16 [VersionInfo] -HKLM,%CurrentVersionNT%,"CurrentVersion",2,"6.1" -HKLM,%CurrentVersionNT%,"CurrentMajorVersionNumber",0x10001,6 -HKLM,%CurrentVersionNT%,"CurrentMinorVersionNumber",0x10001,1 -HKLM,%CurrentVersionNT%,"CSDVersion",2,"Service Pack 1" -HKLM,%CurrentVersionNT%,"CurrentBuild",2,"7601" -HKLM,%CurrentVersionNT%,"CurrentBuildNumber",2,"7601" +HKLM,%CurrentVersionNT%,"CurrentVersion",2,"10.0" +HKLM,%CurrentVersionNT%,"CurrentMajorVersionNumber",0x10001,10 +HKLM,%CurrentVersionNT%,"CurrentMinorVersionNumber",0x10001,0 +HKLM,%CurrentVersionNT%,"CSDVersion",2,"" +HKLM,%CurrentVersionNT%,"CurrentBuild",2,"17763" +HKLM,%CurrentVersionNT%,"CurrentBuildNumber",2,"17763" HKLM,%CurrentVersionNT%,"CurrentType",2,"Uniprocessor Free" HKLM,%CurrentVersionNT%,"DigitalProductId",1,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ @@ -5608,16 +5608,16 @@ HKLM,%CurrentVersionNT%,"DigitalProductId",1,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -HKLM,%CurrentVersionNT%,"ProductName",2,"Microsoft Windows 7" +HKLM,%CurrentVersionNT%,"ProductName",2,"Microsoft Windows 10" HKLM,%Control%\ProductOptions,"ProductType",2,"WinNT" HKLM,%Control%\Windows,"CSDVersion",0x10003,0x100 HKLM,%Control%\Session Manager\Environment,"OS",2,"Windows_NT" [VersionInfo.ntamd64] -HKLM,%CurrentVersionNT%,"CurrentVersion",2,"6.1" -HKLM,%CurrentVersionNT%,"CSDVersion",2,"Service Pack 1" -HKLM,%CurrentVersionNT%,"CurrentBuild",2,"7601" -HKLM,%CurrentVersionNT%,"CurrentBuildNumber",2,"7601" +HKLM,%CurrentVersionNT%,"CurrentVersion",2,"10.0" +HKLM,%CurrentVersionNT%,"CSDVersion",2,"" +HKLM,%CurrentVersionNT%,"CurrentBuild",2,"17763" +HKLM,%CurrentVersionNT%,"CurrentBuildNumber",2,"17763" HKLM,%CurrentVersionNT%,"CurrentType",2,"Uniprocessor Free" HKLM,%CurrentVersionNT%,"DigitalProductId",1,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ @@ -5626,7 +5626,7 @@ HKLM,%CurrentVersionNT%,"DigitalProductId",1,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -HKLM,%CurrentVersionNT%,"ProductName",2,"Microsoft Windows 7" +HKLM,%CurrentVersionNT%,"ProductName",2,"Microsoft Windows 10" HKLM,%Control%\ProductOptions,"ProductType",2,"WinNT" HKLM,%Control%\Windows,"CSDVersion",0x10003,0x100 HKLM,%Control%\Session Manager\Environment,"OS",2,"Windows_NT" diff --git a/programs/winecfg/appdefaults.c b/programs/winecfg/appdefaults.c index df187ca41e1..3f8892e95e9 100644 --- a/programs/winecfg/appdefaults.c +++ b/programs/winecfg/appdefaults.c @@ -74,7 +74,7 @@ static const struct win_version win_versions[] = #endif }; -#define DEFAULT_WIN_VERSION L"win7" +#define DEFAULT_WIN_VERSION L"win10" static const WCHAR szKey9x[] = L"Software\Microsoft\Windows\CurrentVersion"; static const WCHAR szKeyNT[] = L"Software\Microsoft\Windows NT\CurrentVersion";