https://bugs.winehq.org/show_bug.cgi?id=47277
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |kernel32 CC| |focht@gmx.net URL| |https://github.com/sh-akira | |/VirtualMotionCapture/relea | |ses/download/v0.35r2/Virtua | |lMotionCapture0.35r2.zip Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Summary|dotnet applications seems |.NET 4.x WPF applications |to repeatedly call |fail to start with 'zh_CN' |URL_ParseUrl and fail |locale and WinVer set to | |'Windows 7' or later, | |endlessly spamming | |'parse_url failed to parse | |L"<assemblyname>.resources" | |'
--- Comment #9 from Anastasius Focht focht@gmx.net --- Hello folks,
--- quote --- This happens with dotnet40 as well. As long as the windows version is set to "Windows 7" or up. The application would otherwise work fine. --- quote ---
at least one .NET WPF application you've mentioned (VirtualMotionCapture) requires at least .NET Framework 4.5 or later because it makes use of specific 'System.Runtime.CompilerServices' features that are not available with .NET Framework 4.0 runtime. It will crash on startup if you only used 'winetricks -q dotnet40' (after working around first issue).
In fact the app requests even higher SKU for whatever reasons:
https://github.com/sh-akira/VirtualMotionCapture/blob/master/ControlWindowWP...
--- snip --- <?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.1" /> </startup> </configuration> --- snip ---
Anyway, I could reproduce the issue with your locale and WinVer set to 'Windows 7' (default):
--- snip --- $ pwd /home/focht/Downloads/vmc/ControlPanel
$ file *.{dll,exe} akr.WPF.Controls.ColorPicker.dll: PE32 executable (DLL) (console) Intel 80386 Mono/.Net assembly, for MS Windows UnityMemoryMappedFile.dll: PE32 executable (DLL) (console) Intel 80386 Mono/.Net assembly, for MS Windows DLLInstaller32.exe: PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows DLLInstaller64.exe: PE32+ executable (GUI) x86-64 Mono/.Net assembly, for MS Windows VirtualMotionCaptureControlPanel.exe: PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows
$ LC_ALL=zh_CN.UTF-8 wine ./VirtualMotionCaptureControlPanel.exe ... 0009:fixme:path:parse_url failed to parse L"PresentationFramework" 0009:fixme:path:parse_url failed to parse L"WindowsBase" 0009:fixme:path:parse_url failed to parse L"System.Core" 0009:fixme:path:parse_url failed to parse L"System" 0009:fixme:path:parse_url failed to parse L"System.Configuration" 0009:fixme:path:parse_url failed to parse L"System.Xml" 0009:fixme:path:parse_url failed to parse L"System.Numerics" 0009:fixme:path:parse_url failed to parse L"System.Security" 0009:fixme:path:parse_url failed to parse L"System.Xaml" 0009:fixme:path:parse_url failed to parse L"Accessibility" 0009:fixme:path:parse_url failed to parse L"PresentationCore" 0009:fixme:path:parse_url failed to parse L"UIAutomationTypes" 0009:fixme:path:parse_url failed to parse L"System.Windows.Input.Manipulations" 0009:fixme:path:parse_url failed to parse L"UIAutomationProvider" 0009:fixme:path:parse_url failed to parse L"System.Deployment" 0009:fixme:path:parse_url failed to parse L"ReachFramework" 0009:fixme:path:parse_url failed to parse L"PresentationUI" 0009:fixme:path:parse_url failed to parse L"System.Printing" 0009:fixme:path:parse_url failed to parse L"WindowsBase" 0009:fixme:path:parse_url failed to parse L"System.Core" 0009:fixme:path:parse_url failed to parse L"System" 0009:fixme:path:parse_url failed to parse L"PresentationCore" 0009:fixme:path:parse_url failed to parse L"System.Xaml" 0009:fixme:ntdll:EtwEventRegister ({e13b77a8-14b6-11de-8069-001b212b5009}, 0x59b28e0, 0x5a50028, 0x5a573e0) stub. 0009:fixme:nls:LCIDToLocaleName unsupported flags 8000000 0009:fixme:nls:get_dummy_preferred_ui_language (0x8 0x32ce54 (nil) 0x32ce50) returning a dummy value (current locale) 0009:fixme:nls:get_dummy_preferred_ui_language (0x8 0x32ce54 0x3fd2490 0x32ce50) returning a dummy value (current locale) 0009:fixme:nls:LCMapStringEx unsupported lparam 3fd2490 0009:fixme:ntdll:EtwEventRegister ({6a7dfda1-a101-5a70-eade-2ecfec4034d8}, 0x5ff02be, (nil), 0x161b960) stub. 0009:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 0x161b918, 64) stub 0009:fixme:ntdll:EtwEventRegister ({e13b77a8-14b6-11de-8069-001b212b5009}, 0x5ff035e, (nil), 0x32ed14) stub. 0009:fixme:ntdll:EtwEventRegister ({8e9f5090-2d75-4d03-8a81-e5afbf85daf1}, 0x5ff0386, (nil), 0x1622b94) stub. 0009:fixme:path:parse_url failed to parse L"VirtualMotionCaptureControlPanel.resources" 0009:fixme:path:parse_url failed to parse L"VirtualMotionCaptureControlPanel.resources" ... <repeats endlessly> --- snip ---
This works:
--- snip --- $ LC_ALL=C wine ./VirtualMotionCaptureControlPanel.exe ... 0009:fixme:path:parse_url failed to parse L"PresentationFramework" 0009:fixme:path:parse_url failed to parse L"WindowsBase" 0009:fixme:path:parse_url failed to parse L"System.Core" 0009:fixme:path:parse_url failed to parse L"System" 0009:fixme:path:parse_url failed to parse L"System.Configuration" 0009:fixme:path:parse_url failed to parse L"System.Xml" 0009:fixme:path:parse_url failed to parse L"System.Numerics" 0009:fixme:path:parse_url failed to parse L"System.Security" 0009:fixme:path:parse_url failed to parse L"System.Xaml" 0009:fixme:path:parse_url failed to parse L"Accessibility" 0009:fixme:path:parse_url failed to parse L"PresentationCore" 0009:fixme:path:parse_url failed to parse L"UIAutomationTypes" 0009:fixme:path:parse_url failed to parse L"System.Windows.Input.Manipulations" 0009:fixme:path:parse_url failed to parse L"UIAutomationProvider" 0009:fixme:path:parse_url failed to parse L"System.Deployment" 0009:fixme:path:parse_url failed to parse L"ReachFramework" 0009:fixme:path:parse_url failed to parse L"PresentationUI" 0009:fixme:path:parse_url failed to parse L"System.Printing" 0009:fixme:path:parse_url failed to parse L"WindowsBase" 0009:fixme:path:parse_url failed to parse L"System.Core" 0009:fixme:path:parse_url failed to parse L"System" 0009:fixme:path:parse_url failed to parse L"PresentationCore" 0009:fixme:path:parse_url failed to parse L"System.Xaml" 0009:fixme:ntdll:EtwEventRegister ({e13b77a8-14b6-11de-8069-001b212b5009}, 0x56428e0, 0x56e0028, 0x56e73e0) stub. 0009:fixme:nls:LCIDToLocaleName unsupported flags 8000000 0009:fixme:nls:get_dummy_preferred_ui_language (0x8 0x32ce54 (nil) 0x32ce50) returning a dummy value (current locale) 0009:fixme:nls:get_dummy_preferred_ui_language (0x8 0x32ce54 0x3de16a8 0x32ce50) returning a dummy value (current locale) 0009:fixme:nls:LCMapStringEx unsupported lparam 3de2320 0009:fixme:ntdll:EtwEventRegister ({6a7dfda1-a101-5a70-eade-2ecfec4034d8}, 0x5dd02be, (nil), 0x161b960) stub. 0009:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 0x161b918, 64) stub 0009:fixme:ntdll:EtwEventRegister ({e13b77a8-14b6-11de-8069-001b212b5009}, 0x5dd035e, (nil), 0x32ed14) stub. 0009:fixme:ntdll:EtwEventRegister ({8e9f5090-2d75-4d03-8a81-e5afbf85daf1}, 0x5dd0386, (nil), 0x1622b94) stub. 0009:fixme:path:parse_url failed to parse L"VirtualMotionCaptureControlPanel.resources" 0009:fixme:path:parse_url failed to parse L"VirtualMotionCaptureControlPanel.resources" 0009:fixme:ntdll:EtwEventRegister ({2e5dba47-a3d2-4d16-8ee0-6671ffdcd7b5}, 0x5dd043e, (nil), 0x1685e0c) stub. 0009:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 0x1685ddc, 40) stub 0009:fixme:path:parse_url failed to parse L"UnityMemoryMappedFile" ... --- snip ---
Works as well:
--- snip --- $ LC_ALL=ja_JP.UTF-8 wine ./VirtualMotionCaptureControlPanel.exe ... --- snip ---
The reason seems to be that Wine returns 'zh-Hans' for ISO 639 name 'zh-cn' LOCALE_SPARENT. The .NET CLR somehow doesn't expect that. The ISO 639-1 language name is 'zh' which leads to a fallback resource path in .NET.
https://source.winehq.org/git/wine.git/blob/0747fd29d8f429a3421207b52eabe11c...
--- snip --- 3933 /****************************************************************************** 3934 * GetLocaleInfoEx (kernelbase.@) 3935 */ 3936 INT WINAPI DECLSPEC_HOTPATCH GetLocaleInfoEx( const WCHAR *locale, LCTYPE info, WCHAR *buffer, INT len ) 3937 { 3938 LCID lcid = LocaleNameToLCID( locale, 0 ); 3939 3940 TRACE( "%s lcid=0x%x 0x%x\n", debugstr_w(locale), lcid, info ); 3941 3942 if (!lcid) return 0; 3943 3944 /* special handling for neutral locale names */ 3945 if (locale && lstrlenW( locale ) == 2) 3946 { 3947 switch (LOWORD( info )) 3948 { 3949 case LOCALE_SNAME: 3950 if (len && len < 3) 3951 { 3952 SetLastError( ERROR_INSUFFICIENT_BUFFER ); 3953 return 0; 3954 } 3955 if (len) lstrcpyW( buffer, locale ); 3956 return 3; 3957 case LOCALE_SPARENT: 3958 if (len) buffer[0] = 0; 3959 return 1; 3960 } 3961 } 3962 return GetLocaleInfoW( lcid, info, buffer, len ); 3963 } --- snip ---
Trace log for working case, using 'ja_JP.UTF-8':
--- snip --- $ LC_ALL=ja_JP.UTF-8 WINEDEBUG=+seh,+relay,+resource,+nls wine ./VirtualMotionCaptureControlPanel.exe >>log_jp.txt 2>&1 ... 008b:Call KERNEL32.GetLocaleInfoEx(0032ec20 L"ja-JP",0000006d,0032ee20,00000212) ret=00acf806 008b:Call ntdll.RtlLocaleNameToLcid(0032ec20 L"ja-JP",0032eb08,00000002) ret=1001e2dd 008b:trace:resource:LdrFindResourceDirectory_U module 0x7b420000 type #0006 name #0006 lang 0000 level 2 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0006 ret 0x7b4b8c30 008b:trace:resource:LdrFindResource_U module 0x7b420000 type #0006 name #0006 lang 007f level 3 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0006 ret 0x7b4b8c30 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b8c30 id 007f ret 0x7b4bdec8 008b:trace:resource:LdrFindResource_U module 0x7b420000 type #0006 name #0006 lang 007f level 3 ... 008b:trace:resource:LdrFindResource_U module 0x7b420000 type #0006 name #0006 lang 0411 level 3 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0006 ret 0x7b4b8c30 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b8c30 id 0411 ret 0x7b4bdfd8 008b:trace:nls:RtlLocaleNameToLcid L"ja-JP" -> 0411 008b:Ret ntdll.RtlLocaleNameToLcid() retval=00000000 ret=1001e2dd 008b:trace:nls:GetLocaleInfoEx L"ja-JP" lcid=0x411 0x6d 008b:trace:nls:GetLocaleInfoW (lcid=0x411,lctype=0x6d,0032EE20,530) 008b:Call ntdll.NtQueryDefaultLocale(00000001,0032eaa8) ret=10018618 008b:Ret ntdll.NtQueryDefaultLocale() retval=00000000 ret=10018618 008b:Call ntdll.LdrFindResource_U(7b420000,0032ea64,00000003,0032ea70) ret=10017a53 008b:trace:resource:LdrFindResource_U module 0x7b420000 type #0006 name #0007 lang 0411 level 3 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0007 ret 0x7b4b90f0 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b90f0 id 0411 ret 0x7b4be938 008b:Ret ntdll.LdrFindResource_U() retval=00000000 ret=10017a53 008b:Call ntdll.LdrAccessResource(7b420000,7b4be938,0032ea8c,00000000) ret=10017b61 008b:Ret ntdll.LdrAccessResource() retval=00000000 ret=10017b61 008b:Call ntdll.memcpy(0032ee20,7b4e469c,00000006) ret=1001888c 008b:Ret ntdll.memcpy() retval=0032ee20 ret=1001888c 008b:trace:nls:GetLocaleInfoW (lcid=0x411,lctype=0x6d,0032EE20,530) returning 3 L"ja" 008b:Ret KERNEL32.GetLocaleInfoEx() retval=00000003 ret=00acf806 008b:Call KERNEL32.GetLocaleInfoEx(0032ef2c L"ja",0000005c,0032f12c,00000055) ret=00acf806 008b:Call ntdll.RtlLocaleNameToLcid(0032ef2c L"ja",0032edb8,00000002) ret=1001e2dd 008b:trace:resource:LdrFindResourceDirectory_U module 0x7b420000 type #0006 name #0006 lang 0000 level 2 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0006 ret 0x7b4b8c30 008b:trace:resource:LdrFindResource_U module 0x7b420000 type #0006 name #0006 lang 007f level 3 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0006 ret 0x7b4b8c30 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b8c30 id 007f ret 0x7b4bdec8 ... 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0006 ret 0x7b4b8c30 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b8c30 id 0411 ret 0x7b4bdfd8 008b:trace:nls:RtlLocaleNameToLcid L"ja" -> 0011 008b:Ret ntdll.RtlLocaleNameToLcid() retval=00000000 ret=1001e2dd 008b:trace:nls:GetLocaleInfoEx L"ja" lcid=0x411 0x5c 008b:Ret KERNEL32.GetLocaleInfoEx() retval=00000003 ret=00acf806 008b:Call KERNEL32.GetLocaleInfoEx(0032f12c L"ja",20000071,0032ef00,00000002) ret=00acf806 008b:Call ntdll.RtlLocaleNameToLcid(0032f12c L"ja",0032edb8,00000002) ret=1001e2dd 008b:trace:resource:LdrFindResourceDirectory_U module 0x7b420000 type #0006 name #0006 lang 0000 level 2 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 008b:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0006 ret 0x7b4b8c30 008b:trace:resource:LdrFindResource_U module 0x7b420000 type #0006 name #0006 lang 007f level 3 ... --- snip ---
Trace log for non-working case, with 'zh_CN.UTF-8':
--- snip --- $ LC_ALL=zh_CN.UTF-8 WINEDEBUG=+seh,+relay,+resource,+nls wine ./VirtualMotionCaptureControlPanel.exe >>log_zh.txt 2>&1 ... 0092:Call KERNEL32.GetLocaleInfoEx(0032ec20 L"zh-CN",0000006d,0032ee20,00000212) ret=00acf806 0092:Call ntdll.RtlLocaleNameToLcid(0032ec20 L"zh-CN",0032eb08,00000002) ret=1001e2dd 0092:trace:resource:LdrFindResourceDirectory_U module 0x7b420000 type #0006 name #0006 lang 0000 level 2 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0006 ret 0x7b4b8c30 0092:trace:resource:LdrFindResource_U module 0x7b420000 type #0006 name #0006 lang 007f level 3 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0006 ret 0x7b4b8c30 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b8c30 id 007f ret 0x7b4bdec8 0092:trace:resource:LdrFindResource_U module 0x7b420000 type #0006 name #0006 lang 007f level 3 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0006 ret 0x7b4b8c30 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b8c30 id 007f ret 0x7b4bdec8 ... 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0006 ret 0x7b4b8c30 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b8c30 id 0801 ret 0x7b4be3b8 0092:trace:resource:LdrFindResource_U module 0x7b420000 type #0006 name #0006 lang 0804 level 3 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0006 ret 0x7b4b8c30 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b8c30 id 0804 ret 0x7b4be3c8 0092:trace:nls:RtlLocaleNameToLcid L"zh-CN" -> 0804 0092:Ret ntdll.RtlLocaleNameToLcid() retval=00000000 ret=1001e2dd 0092:trace:nls:GetLocaleInfoEx L"zh-CN" lcid=0x804 0x6d 0092:trace:nls:GetLocaleInfoW (lcid=0x804,lctype=0x6d,0032EE20,530) 0092:Call ntdll.NtQueryDefaultLocale(00000001,0032eaa8) ret=10018618 0092:Ret ntdll.NtQueryDefaultLocale() retval=00000000 ret=10018618 0092:Call ntdll.LdrFindResource_U(7b420000,0032ea64,00000003,0032ea70) ret=10017a53 0092:trace:resource:LdrFindResource_U module 0x7b420000 type #0006 name #0007 lang 0804 level 3 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b73d8 id 0006 ret 0x7b4b7400 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b7400 id 0007 ret 0x7b4b90f0 0092:trace:resource:find_entry_by_id root 0x7b4b73d8 dir 0x7b4b90f0 id 0804 ret 0x7b4bed28 0092:Ret ntdll.LdrFindResource_U() retval=00000000 ret=10017a53 0092:Call ntdll.LdrAccessResource(7b420000,7b4bed28,0032ea8c,00000000) ret=10017b61 0092:Ret ntdll.LdrAccessResource() retval=00000000 ret=10017b61 0092:Call ntdll.memcpy(0032ee20,7b4e5bb8,00000010) ret=1001888c 0092:Ret ntdll.memcpy() retval=0032ee20 ret=1001888c 0092:trace:nls:GetLocaleInfoW (lcid=0x804,lctype=0x6d,0032EE20,530) returning 8 L"zh-Hans" 0092:Ret KERNEL32.GetLocaleInfoEx() retval=00000008 ret=00acf806 ... 0092:Call KERNEL32.lstrlenW(0380b098 L"VirtualMotionCaptureControlPanel.resources, Version=0.0.0.21, Culture=zh-CHS, PublicKeyToken=null") ret=00b1dabc ... --- snip ---
--- snip --- $ grep -Hrni LOCALE_SPARENT dlls/kernel32/nls/
dlls/kernel32/nls/zhi.nls:144: LOCALE_SPARENT "zh-Hans" dlls/kernel32/nls/del.nls:144: LOCALE_SPARENT "de" dlls/kernel32/nls/nep.nls:138: LOCALE_SPARENT "ne" dlls/kernel32/nls/eso.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/frb.nls:144: LOCALE_SPARENT "fr" dlls/kernel32/nls/plk.nls:144: LOCALE_SPARENT "pl" dlls/kernel32/nls/san.nls:144: LOCALE_SPARENT "sa" dlls/kernel32/nls/deu.nls:144: LOCALE_SPARENT "de" dlls/kernel32/nls/syr.nls:144: LOCALE_SPARENT "syr" dlls/kernel32/nls/enp.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/ast.nls:144: LOCALE_SPARENT "ast" dlls/kernel32/nls/art.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/kat.nls:144: LOCALE_SPARENT "ka" dlls/kernel32/nls/esz.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/ara.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/esv.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/hrv.nls:144: LOCALE_SPARENT "hr" dlls/kernel32/nls/esu.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/lth.nls:144: LOCALE_SPARENT "lt" dlls/kernel32/nls/ben.nls:138: LOCALE_SPARENT "bn" dlls/kernel32/nls/mon.nls:144: LOCALE_SPARENT "mn-Cyrl" dlls/kernel32/nls/rmc.nls:155: LOCALE_SPARENT "rm" dlls/kernel32/nls/ary.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/sky.nls:144: LOCALE_SPARENT "sk" dlls/kernel32/nls/eti.nls:144: LOCALE_SPARENT "et" dlls/kernel32/nls/ttt.nls:144: LOCALE_SPARENT "tt" dlls/kernel32/nls/enj.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/esp.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/rom.nls:144: LOCALE_SPARENT "ro" dlls/kernel32/nls/non.nls:144: LOCALE_SPARENT "nn" dlls/kernel32/nls/svf.nls:144: LOCALE_SPARENT "sv" dlls/kernel32/nls/far.nls:144: LOCALE_SPARENT "fa" dlls/kernel32/nls/frm.nls:144: LOCALE_SPARENT "fr" dlls/kernel32/nls/fra.nls:144: LOCALE_SPARENT "fr" dlls/kernel32/nls/srl.nls:144: LOCALE_SPARENT "sr-Latn" dlls/kernel32/nls/afk.nls:141: LOCALE_SPARENT "af" dlls/kernel32/nls/ptg.nls:144: LOCALE_SPARENT "pt" dlls/kernel32/nls/kyr.nls:144: LOCALE_SPARENT "ky" dlls/kernel32/nls/fin.nls:144: LOCALE_SPARENT "fi" dlls/kernel32/nls/ese.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/cor.nls:145: LOCALE_SPARENT "en" dlls/kernel32/nls/ess.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/esh.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/dec.nls:144: LOCALE_SPARENT "de" dlls/kernel32/nls/euq.nls:144: LOCALE_SPARENT "eu" dlls/kernel32/nls/hin.nls:144: LOCALE_SPARENT "hi" dlls/kernel32/nls/ari.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/esr.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/nld.nls:144: LOCALE_SPARENT "nl" dlls/kernel32/nls/mar.nls:144: LOCALE_SPARENT "mr" dlls/kernel32/nls/esc.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/div.nls:144: LOCALE_SPARENT "dv" dlls/kernel32/nls/azl.nls:144: LOCALE_SPARENT "az-Latn" dlls/kernel32/nls/knk.nls:144: LOCALE_SPARENT "kok" dlls/kernel32/nls/arh.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/enz.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/nls.nls:150: LOCALE_SPARENT "nl" dlls/kernel32/nls/esa.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/ars.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/enu.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/esm.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/tha.nls:144: LOCALE_SPARENT "th" dlls/kernel32/nls/heb.nls:145: LOCALE_SPARENT "he" dlls/kernel32/nls/esn.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/nlb.nls:144: LOCALE_SPARENT "nl" dlls/kernel32/nls/vit.nls:144: LOCALE_SPARENT "vi" dlls/kernel32/nls/csy.nls:144: LOCALE_SPARENT "cs" dlls/kernel32/nls/frs.nls:144: LOCALE_SPARENT "fr" dlls/kernel32/nls/esy.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/kor.nls:144: LOCALE_SPARENT "ko" dlls/kernel32/nls/arj.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/esl.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/guj.nls:144: LOCALE_SPARENT "gu" dlls/kernel32/nls/tel.nls:144: LOCALE_SPARENT "te" dlls/kernel32/nls/eni.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/arq.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/ukr.nls:144: LOCALE_SPARENT "uk" dlls/kernel32/nls/kan.nls:144: LOCALE_SPARENT "kn" dlls/kernel32/nls/arm.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/lvi.nls:144: LOCALE_SPARENT "lv" dlls/kernel32/nls/cat.nls:144: LOCALE_SPARENT "ca" dlls/kernel32/nls/eox.nls:160: LOCALE_SPARENT "eo" dlls/kernel32/nls/uzl.nls:144: LOCALE_SPARENT "uz-Latn" dlls/kernel32/nls/esb.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/arg.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/aze.nls:144: LOCALE_SPARENT "az-Cyrl" dlls/kernel32/nls/enc.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/slv.nls:144: LOCALE_SPARENT "sl" dlls/kernel32/nls/gdv.nls:145: LOCALE_SPARENT "gv" dlls/kernel32/nls/srb.nls:144: LOCALE_SPARENT "sr-Cyrl" dlls/kernel32/nls/sin.nls:144: LOCALE_SPARENT "si" dlls/kernel32/nls/bgr.nls:144: LOCALE_SPARENT "bg" dlls/kernel32/nls/isl.nls:144: LOCALE_SPARENT "is" dlls/kernel32/nls/fos.nls:144: LOCALE_SPARENT "fo" dlls/kernel32/nls/enl.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/zhh.nls:144: LOCALE_SPARENT "zh-Hant" dlls/kernel32/nls/msb.nls:144: LOCALE_SPARENT "ms" dlls/kernel32/nls/frl.nls:144: LOCALE_SPARENT "fr" dlls/kernel32/nls/ell.nls:144: LOCALE_SPARENT "el" dlls/kernel32/nls/nor.nls:145: LOCALE_SPARENT "nb" dlls/kernel32/nls/esi.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/hye.nls:144: LOCALE_SPARENT "hy" dlls/kernel32/nls/aru.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/esd.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/sqi.nls:144: LOCALE_SPARENT "sq" dlls/kernel32/nls/swk.nls:144: LOCALE_SPARENT "sw" dlls/kernel32/nls/ptb.nls:144: LOCALE_SPARENT "pt" dlls/kernel32/nls/ita.nls:144: LOCALE_SPARENT "it" dlls/kernel32/nls/chs.nls:144: LOCALE_SPARENT "zh-Hans" dlls/kernel32/nls/dan.nls:144: LOCALE_SPARENT "da" dlls/kernel32/nls/pan.nls:144: LOCALE_SPARENT "pa" dlls/kernel32/nls/gae.nls:145: LOCALE_SPARENT "ga" dlls/kernel32/nls/jpn.nls:144: LOCALE_SPARENT "ja" dlls/kernel32/nls/uzb.nls:144: LOCALE_SPARENT "uz-Cyrl" dlls/kernel32/nls/urd.nls:144: LOCALE_SPARENT "ur" dlls/kernel32/nls/wal.nls:144: LOCALE_SPARENT "wa" dlls/kernel32/nls/esf.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/rus.nls:144: LOCALE_SPARENT "ru" dlls/kernel32/nls/ena.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/ind.nls:144: LOCALE_SPARENT "id" dlls/kernel32/nls/enb.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/zhm.nls:144: LOCALE_SPARENT "zh-Hant" dlls/kernel32/nls/arl.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/dea.nls:144: LOCALE_SPARENT "de" dlls/kernel32/nls/cht.nls:144: LOCALE_SPARENT "zh-Hant" dlls/kernel32/nls/ivl.nls:144: LOCALE_SPARENT "iv" dlls/kernel32/nls/des.nls:144: LOCALE_SPARENT "de" dlls/kernel32/nls/ens.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/kkz.nls:144: LOCALE_SPARENT "kk" dlls/kernel32/nls/ark.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/frc.nls:144: LOCALE_SPARENT "fr" dlls/kernel32/nls/are.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/aro.nls:144: LOCALE_SPARENT "ar" dlls/kernel32/nls/eng.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/glc.nls:144: LOCALE_SPARENT "gl" dlls/kernel32/nls/msl.nls:144: LOCALE_SPARENT "ms" dlls/kernel32/nls/bel.nls:144: LOCALE_SPARENT "be" dlls/kernel32/nls/tam.nls:144: LOCALE_SPARENT "ta" dlls/kernel32/nls/its.nls:144: LOCALE_SPARENT "it" dlls/kernel32/nls/gdh.nls:145: LOCALE_SPARENT "gd" dlls/kernel32/nls/ent.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/hun.nls:144: LOCALE_SPARENT "hu" dlls/kernel32/nls/trk.nls:144: LOCALE_SPARENT "tr" dlls/kernel32/nls/enw.nls:144: LOCALE_SPARENT "en" dlls/kernel32/nls/cym.nls:145: LOCALE_SPARENT "en" dlls/kernel32/nls/brf.nls:145: LOCALE_SPARENT "fr" dlls/kernel32/nls/esg.nls:144: LOCALE_SPARENT "es" dlls/kernel32/nls/sve.nls:144: LOCALE_SPARENT "sv" dlls/kernel32/nls/mki.nls:144: LOCALE_SPARENT "mk" dlls/kernel32/nls/arb.nls:144: LOCALE_SPARENT "ar" --- snip ---
Tidbits:
https://github.com/dotnet/coreclr/blob/master/src/System.Private.CoreLib/sha...
https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/wpf-globaliza...
$ sha1sum VirtualMotionCapture0.35r2.zip d9ee65cd0f23b46b9cfc09c747c5dbc92a7470f1 VirtualMotionCapture0.35r2.zip
$ du -sh VirtualMotionCapture0.35r2.zip 32M VirtualMotionCapture0.35r2.zip
$ wine --version wine-5.0-rc4
Regards