From: Etaash Mathamsetty etaash.mathamsetty@gmail.com
--- programs/winecfg/appdefaults.c | 47 +++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 20 deletions(-)
diff --git a/programs/winecfg/appdefaults.c b/programs/winecfg/appdefaults.c index 71eb9f36fef..2a3bb93ddf8 100644 --- a/programs/winecfg/appdefaults.c +++ b/programs/winecfg/appdefaults.c @@ -40,6 +40,7 @@ struct win_version DWORD dwMajorVersion; DWORD dwMinorVersion; DWORD dwBuildNumber; + DWORD UBR; DWORD dwPlatformId; const WCHAR *szCSDVersion; WORD wServicePackMajor; @@ -49,26 +50,26 @@ struct win_version
static const struct win_version win_versions[] = { - { L"win11", L"Windows 11", L"6.3", 10, 0, 22000, VER_PLATFORM_WIN32_NT, L"", 0, 0, L"WinNT"}, - { L"win10", L"Windows 10", L"6.3", 10, 0, 19043, VER_PLATFORM_WIN32_NT, L"", 0, 0, L"WinNT"}, - { L"win81", L"Windows 8.1", NULL, 6, 3, 9600, VER_PLATFORM_WIN32_NT, L"", 0, 0, L"WinNT"}, - { L"win8", L"Windows 8", NULL, 6, 2, 9200, VER_PLATFORM_WIN32_NT, L"", 0, 0, L"WinNT"}, - { L"win2008r2", L"Windows 2008 R2", NULL, 6, 1, 7601, VER_PLATFORM_WIN32_NT, L"Service Pack 1", 1, 0, L"ServerNT"}, - { L"win7", L"Windows 7", NULL, 6, 1, 7601, VER_PLATFORM_WIN32_NT, L"Service Pack 1", 1, 0, L"WinNT"}, - { L"win2008", L"Windows 2008", NULL, 6, 0, 6002, VER_PLATFORM_WIN32_NT, L"Service Pack 2", 2, 0, L"ServerNT"}, - { L"vista", L"Windows Vista", NULL, 6, 0, 6002, VER_PLATFORM_WIN32_NT, L"Service Pack 2", 2, 0, L"WinNT"}, - { L"win2003", L"Windows 2003", NULL, 5, 2, 3790, VER_PLATFORM_WIN32_NT, L"Service Pack 2", 2, 0, L"ServerNT"}, - { L"winxp64", L"Windows XP 64", NULL, 5, 2, 3790, VER_PLATFORM_WIN32_NT, L"Service Pack 2", 2, 0, L"WinNT"}, - { L"winxp", L"Windows XP", NULL, 5, 1, 2600, VER_PLATFORM_WIN32_NT, L"Service Pack 3", 3, 0, L"WinNT"}, - { L"win2k", L"Windows 2000", NULL, 5, 0, 2195, VER_PLATFORM_WIN32_NT, L"Service Pack 4", 4, 0, L"WinNT"}, - { L"winme", L"Windows ME", NULL, 4, 90, 3000, VER_PLATFORM_WIN32_WINDOWS, L" ", 0, 0, L""}, - { L"win98", L"Windows 98", NULL, 4, 10, 2222, VER_PLATFORM_WIN32_WINDOWS, L" A ", 0, 0, L""}, - { L"win95", L"Windows 95", NULL, 4, 0, 950, VER_PLATFORM_WIN32_WINDOWS, L"", 0, 0, L""}, - { L"nt40", L"Windows NT 4.0", NULL, 4, 0, 1381, VER_PLATFORM_WIN32_NT, L"Service Pack 6a", 6, 0, L"WinNT"}, - { L"nt351", L"Windows NT 3.51", NULL, 3, 51, 1057, VER_PLATFORM_WIN32_NT, L"Service Pack 5", 5, 0, L"WinNT"}, - { L"win31", L"Windows 3.1", NULL, 3, 10, 0, VER_PLATFORM_WIN32s, L"Win32s 1.3", 0, 0, L""}, - { L"win30", L"Windows 3.0", NULL, 3, 0, 0, VER_PLATFORM_WIN32s, L"Win32s 1.3", 0, 0, L""}, - { L"win20", L"Windows 2.0", NULL, 2, 0, 0, VER_PLATFORM_WIN32s, L"Win32s 1.3", 0, 0, L""} + { L"win11", L"Windows 11", L"6.3", 10, 0, 22000, 588, VER_PLATFORM_WIN32_NT, L"", 0, 0, L"WinNT"}, + { L"win10", L"Windows 10", L"6.3", 10, 0, 19043, 1165, VER_PLATFORM_WIN32_NT, L"", 0, 0, L"WinNT"}, + { L"win81", L"Windows 8.1", NULL, 6, 3, 9600, 0, VER_PLATFORM_WIN32_NT, L"", 0, 0, L"WinNT"}, + { L"win8", L"Windows 8", NULL, 6, 2, 9200, 0, VER_PLATFORM_WIN32_NT, L"", 0, 0, L"WinNT"}, + { L"win2008r2", L"Windows 2008 R2", NULL, 6, 1, 7601, 0, VER_PLATFORM_WIN32_NT, L"Service Pack 1", 1, 0, L"ServerNT"}, + { L"win7", L"Windows 7", NULL, 6, 1, 7601, 0, VER_PLATFORM_WIN32_NT, L"Service Pack 1", 1, 0, L"WinNT"}, + { L"win2008", L"Windows 2008", NULL, 6, 0, 6002, 0, VER_PLATFORM_WIN32_NT, L"Service Pack 2", 2, 0, L"ServerNT"}, + { L"vista", L"Windows Vista", NULL, 6, 0, 6002, 0, VER_PLATFORM_WIN32_NT, L"Service Pack 2", 2, 0, L"WinNT"}, + { L"win2003", L"Windows 2003", NULL, 5, 2, 3790, 0, VER_PLATFORM_WIN32_NT, L"Service Pack 2", 2, 0, L"ServerNT"}, + { L"winxp64", L"Windows XP 64", NULL, 5, 2, 3790, 0, VER_PLATFORM_WIN32_NT, L"Service Pack 2", 2, 0, L"WinNT"}, + { L"winxp", L"Windows XP", NULL, 5, 1, 2600, 0, VER_PLATFORM_WIN32_NT, L"Service Pack 3", 3, 0, L"WinNT"}, + { L"win2k", L"Windows 2000", NULL, 5, 0, 2195, 0, VER_PLATFORM_WIN32_NT, L"Service Pack 4", 4, 0, L"WinNT"}, + { L"winme", L"Windows ME", NULL, 4, 90, 3000, 0, VER_PLATFORM_WIN32_WINDOWS, L" ", 0, 0, L""}, + { L"win98", L"Windows 98", NULL, 4, 10, 2222, 0, VER_PLATFORM_WIN32_WINDOWS, L" A ", 0, 0, L""}, + { L"win95", L"Windows 95", NULL, 4, 0, 950, 0, VER_PLATFORM_WIN32_WINDOWS, L"", 0, 0, L""}, + { L"nt40", L"Windows NT 4.0", NULL, 4, 0, 1381, 0, VER_PLATFORM_WIN32_NT, L"Service Pack 6a", 6, 0, L"WinNT"}, + { L"nt351", L"Windows NT 3.51", NULL, 3, 51, 1057, 0, VER_PLATFORM_WIN32_NT, L"Service Pack 5", 5, 0, L"WinNT"}, + { L"win31", L"Windows 3.1", NULL, 3, 10, 0, 0, VER_PLATFORM_WIN32s, L"Win32s 1.3", 0, 0, L""}, + { L"win30", L"Windows 3.0", NULL, 3, 0, 0, 0, VER_PLATFORM_WIN32s, L"Win32s 1.3", 0, 0, L""}, + { L"win20", L"Windows 2.0", NULL, 2, 0, 0, 0, VER_PLATFORM_WIN32s, L"Win32s 1.3", 0, 0, L""} };
#define DEFAULT_WIN_VERSION L"win10" @@ -435,6 +436,7 @@ static void set_winver(const struct win_version *version) set_reg_key(HKEY_LOCAL_MACHINE, szKeyNT, L"CurrentBuild", NULL); set_reg_key(HKEY_LOCAL_MACHINE, szKeyNT, L"CurrentBuildNumber", NULL); set_reg_key(HKEY_LOCAL_MACHINE, szKeyNT, L"ProductName", NULL); + set_reg_key(HKEY_LOCAL_MACHINE, szKeyNT, L"UBR", NULL); set_reg_key(HKEY_LOCAL_MACHINE, szKeyProdNT, L"ProductType", NULL); set_reg_key(HKEY_LOCAL_MACHINE, szKeyWindNT, L"CSDVersion", NULL); set_reg_key(HKEY_LOCAL_MACHINE, szKeyEnvNT, L"OS", NULL); @@ -449,6 +451,10 @@ static void set_winver(const struct win_version *version) swprintf(buffer, ARRAY_SIZE(buffer), L"%d.%d", version->dwMajorVersion, version->dwMinorVersion); set_reg_key(HKEY_LOCAL_MACHINE, szKeyNT, L"CurrentVersion", buffer); } + if (version->UBR) + set_reg_key_dword(HKEY_LOCAL_MACHINE, szKeyNT, L"UBR", version->UBR); + else + set_reg_key(HKEY_LOCAL_MACHINE, szKeyNT, L"UBR", NULL); set_reg_key_dword(HKEY_LOCAL_MACHINE, szKeyNT, L"CurrentMajorVersionNumber", version->dwMajorVersion); set_reg_key_dword(HKEY_LOCAL_MACHINE, szKeyNT, L"CurrentMinorVersionNumber", version->dwMinorVersion); set_reg_key(HKEY_LOCAL_MACHINE, szKeyNT, L"CSDVersion", version->szCSDVersion); @@ -475,6 +481,7 @@ static void set_winver(const struct win_version *version) set_reg_key(HKEY_LOCAL_MACHINE, szKeyNT, L"CurrentBuild", NULL); set_reg_key(HKEY_LOCAL_MACHINE, szKeyNT, L"CurrentBuildNumber", NULL); set_reg_key(HKEY_LOCAL_MACHINE, szKeyNT, L"ProductName", NULL); + set_reg_key(HKEY_LOCAL_MACHINE, szKeyNT, L"UBR", NULL); set_reg_key(HKEY_LOCAL_MACHINE, szKeyProdNT, L"ProductType", NULL); set_reg_key(HKEY_LOCAL_MACHINE, szKeyWindNT, L"CSDVersion", NULL); set_reg_key(HKEY_LOCAL_MACHINE, szKeyEnvNT, L"OS", NULL);