https://bugs.winehq.org/show_bug.cgi?id=23094
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://ishare.iask.sina.com |https://web.archive.org/web |.cn/download/explain.php?fi |/20110708152221/http://dl_d |leid=15435443 |ir.qq.com/invc/qqplayer/QQP | |layer_Setup_31_831.exe Resolution|--- |FIXED Depends on|657 | Fixed by SHA1| |09721acaea4bf6b95b72c49540a | |a6cdc667c684d Status|NEW |RESOLVED
--- Comment #10 from Anastasius Focht focht@gmx.net --- Hello folks,
this was fixed by commit https://source.winehq.org/git/wine.git/commitdiff/09721acaea4bf6b95b72c49540... ("msvcr80: Share the source code with msvcrt.").
Part of Wine 1.7.17 release
Thanks Piotr
After the change, builtin 'msvcr80' is always preferred over native which doesn't inhibit the VC++ runtime version range mismatch / activation context problem.
Before:
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+loaddll,+actctx,+msvcrt,+msvcp wine ./QQPlayer_Setup_31_831.exe >>log 2>&1 ... 003d:Call KERNEL32.CreateProcessW(00000000,0040a0a8 L""C:\Program Files (x86)\Tencent\QQPlayer\QQPlayer.exe" /getfilelink",00000000,00000000,00000000,00000000,00000000,00000000,00456268,03bbe70c) ret=0040584d ... 0016:Call KERNEL32.__wine_kernel_init() ret=7bc54a74 ... 003d:Ret KERNEL32.CreateProcessW() retval=00000001 ret=0040584d ... 0016:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"MFC80U.DLL" 0xffdcae70 0016:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"MFC80U.DLL" 0xffdcae70 0016:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"MSVCR80.dll" 0xffdcabb0 0016:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"MSVCR80.dll" 0xffdcabb0 0016:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"msvcrt.dll" 0xffdca0a0 0016:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\msvcrt.dll" at 0x7e2e0000: builtin 0016:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\msvcr80.dll" at 0x7e380000: builtin 0016:Call PE DLL (proc=0x7e38ac20,module=0x7e380000 L"msvcr80.dll",reason=WINE_PREATTACH,res=(nil)) 0016:Ret PE DLL (proc=0x7e38ac20,module=0x7e380000 L"msvcr80.dll",reason=WINE_PREATTACH,res=(nil)) retval=0 0016:trace:loaddll:free_modref Unloaded module L"C:\windows\system32\msvcrt.dll" : builtin 0016:trace:loaddll:free_modref Unloaded module L"C:\windows\system32\msvcr80.dll" : builtin 0016:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"msvcrt.dll" 0xffdca8f0 0016:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\msvcrt.dll" at 0x7e310000: builtin 0016:trace:loaddll:load_native_dll Loaded L"C:\Program Files (x86)\Tencent\QQPlayer\MSVCR80.dll" at 0x78130000: native 0016:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"SHLWAPI.dll" 0xffdcabb0 0016:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\shlwapi.dll" at 0x7e290000: builtin 0016:trace:loaddll:load_native_dll Loaded L"C:\Program Files (x86)\Tencent\QQPlayer\MFC80U.DLL" at 0x782e0000: native ... 0016:trace:msvcrt:msvcrt_init_args got ""C:\Program Files (x86)\Tencent\QQPlayer\QQPlayer.exe" /getfilelink", wide = L""C:\Program Files (x86)\Tencent\QQPlayer\QQPlayer.exe" /getfilelink" argc=2 0016:Call KERNEL32.GetVersionExW(0033fb9c) ret=7e31ce66 0016:Ret KERNEL32.GetVersionExW() retval=00000001 ret=7e31ce66 0016:trace:msvcrt:msvcrt_init_args winver 00000502 winmajor 00000005 winminor 00000002 osver00000ece baseversion 00000ece basemajor 0000000e baseminor 000000ce 0016:trace:msvcrt:msvcrt_init_args osversion 00000502 osmajor 00000005 osminor 00000002 ... 0016:trace:msvcrt:DllMain finished process init 0016:Ret PE DLL (proc=0x7e36af10,module=0x7e310000 L"msvcrt.dll",reason=PROCESS_ATTACH,res=0x1) retval=1 0016:Call PE DLL (proc=0x7813232b,module=0x78130000 L"MSVCR80.dll",reason=PROCESS_ATTACH,res=0x1) ... 0016:Call KERNEL32.GetEnvironmentVariableA(78194b3c "__MSVCRT_HEAP_SELECT",00000000,00000000) ret=781348ca 0016:Ret KERNEL32.GetEnvironmentVariableA() retval=00000000 ret=781348ca 0016:Call KERNEL32.GetModuleHandleA(781949ec "KERNEL32.DLL") ret=78132fe3 0016:Ret KERNEL32.GetModuleHandleA() retval=7b810000 ret=78132fe3 ... 0016:Call KERNEL32.GetProcAddress(7b810000,781949a8 "FindActCtxSectionStringW") ret=78131dbe 0016:Ret KERNEL32.GetProcAddress() retval=7b82204c ret=78131dbe 0016:Call KERNEL32.GetModuleHandleA(7819499c "MSCoree.dll") ret=78131dcd 0016:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"MSCoree.dll" 0x3378e0 0016:Ret KERNEL32.GetModuleHandleA() retval=00000000 ret=78131dcd 0016:Call KERNEL32.GetModuleHandleA(78194990 "PGORT80.dll") ret=78131dd6 0016:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"PGORT80.dll" 0x3378e0 0016:Ret KERNEL32.GetModuleHandleA() retval=00000000 ret=78131dd6 0016:Call KERNEL32.GetModuleFileNameW(78130000,00337e44,00001f40) ret=78131df6 0016:Ret KERNEL32.GetModuleFileNameW() retval=00000033 ret=78131df6 0016:Call KERNEL32.GetLongPathNameW(00337e44 L"C:\Program Files (x86)\Tencent\QQPlayer\MSVCR80.dll",0033bcc4,00001f40) ret=78131e1b 0016:Ret KERNEL32.GetLongPathNameW() retval=00000033 ret=78131e1b 0016:Call KERNEL32.GetSystemDirectoryW(0033fb44,00000104) ret=78131e6b 0016:Ret KERNEL32.GetSystemDirectoryW() retval=00000013 ret=78131e6b 0016:Call KERNEL32.FindActCtxSectionStringW(00000000,00000000,00000002,78194974 L"msvcr80.dll",00337bcc) ret=78131ef9 0016:trace:actctx:RtlFindActivationContextSectionString 00000000 (null) 2 L"msvcr80.dll" 0x337bcc 0016:Ret KERNEL32.FindActCtxSectionStringW() retval=00000000 ret=78131ef9 ... 0016:Call user32.MessageBoxA(00000000,781c3808 "Runtime Error!\n\nProgram: C:\Program Files (x86)\Tencent\QQPlayer\QQPlayer.exe\n\nR6034\r\nAn application has made an attempt to load the C runtime library incorrectly.\nPlease contact the application's support team for more information.\r\n",78194898 "Microsoft Visual C++ Runtime Library",00012010) ret=7813986e ... --- snip ---
After:
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+loaddll,+actctx,+msvcrt,+msvcp wine ./QQPlayer_Setup_31_831.exe >>log 2>&1 ... 0024:Call KERNEL32.CreateProcessW(00000000,0040a0a8 L""C:\Program Files (x86)\Tencent\QQPlayer\QQPlayer.exe" /getfilelink",00000000,00000000,00000000,00000000,00000000,00000000,00456268,03bbe70c) ret=0040584d ... 0032:Call KERNEL32.__wine_kernel_init() ret=7bc54a74 ... 0024:Ret KERNEL32.CreateProcessW() retval=00000001 ret=0040584d ... 0032:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"MFC80U.DLL" 0xffaaf290 0032:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"MFC80U.DLL" 0xffaaf290 0032:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"MSVCR80.dll" 0xffaaefd0 0032:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"MSVCR80.dll" 0xffaaefd0 0032:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\msvcr80.dll" at 0x7e300000: builtin 0032:Call PE DLL (proc=0x7e365950,module=0x7e300000 L"msvcr80.dll",reason=WINE_PREATTACH,res=(nil)) 0032:trace:msvcrt:DllMain (0x7e300000, UNKNOWN, (nil)) pid(31), tid(32), tls(0) 0032:Ret PE DLL (proc=0x7e365950,module=0x7e300000 L"msvcr80.dll",reason=WINE_PREATTACH,res=(nil)) retval=1 0032:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"msvcrt.dll" 0xffaaef30 ... 0032:trace:msvcrt:msvcrt_init_args got ""C:\Program Files (x86)\Tencent\QQPlayer\QQPlayer.exe" /getfilelink", wide = L""C:\Program Files (x86)\Tencent\QQPlayer\QQPlayer.exe" /getfilelink" argc=2 0032:Call KERNEL32.GetVersionExW(ffaaed3c) ret=7e1a2e66 0032:Ret KERNEL32.GetVersionExW() retval=00000001 ret=7e1a2e66 0032:trace:msvcrt:msvcrt_init_args winver 00000502 winmajor 00000005 winminor 00000002 osver00000ece baseversion 00000ece basemajor 0000000e baseminor 000000ce 0032:trace:msvcrt:msvcrt_init_args osversion 00000502 osmajor 00000005 osminor 00000002 ... 0032:trace:msvcrt:DllMain finished process init 0032:Ret PE DLL (proc=0x7e1f0f10,module=0x7e190000 L"msvcrt.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1 0032:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"SHLWAPI.dll" 0xffaaefd0 0032:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\shlwapi.dll" at 0x7e280000: builtin 0032:trace:loaddll:load_native_dll Loaded L"C:\Program Files (x86)\Tencent\QQPlayer\MFC80U.DLL" at 0x782e0000: native 0032:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"SHELL32.dll" 0xffaaf290 0032:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\shell32.dll" at 0x7df50000: builtin 0032:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"COMCTL32.dll" 0xffaaf290 0032:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"COMCTL32.dll" 0xffaaf290 0032:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\comctl32.dll" at 0x7de60000: builtin 0032:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"MSVCP80.dll" 0xffaaf290 0032:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"MSVCP80.dll" 0xffaaf290 0032:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\msvcp80.dll" at 0x7dd50000: builtin 0032:Call PE DLL (proc=0x7ddb14b0,module=0x7dd50000 L"msvcp80.dll",reason=WINE_PREATTACH,res=(nil)) 0032:trace:msvcp:DllMain (0x0x7dd50000, 8, (nil)) 0032:Ret PE DLL (proc=0x7ddb14b0,module=0x7dd50000 L"msvcp80.dll",reason=WINE_PREATTACH,res=(nil)) retval=1 0032:Call PE DLL (proc=0x7eb2ee80,module=0x7eb20000 L"version.dll",reason=PROCESS_ATTACH,res=0x1) ... 0032:Call PE DLL (proc=0x7e365950,module=0x7e300000 L"msvcr80.dll",reason=PROCESS_ATTACH,res=0x1) 0032:trace:msvcrt:DllMain (0x7e300000, DLL_PROCESS_ATTACH, 0x1) pid(31), tid(32), tls(0) 0032:Call KERNEL32.TlsAlloc() ret=7e330f56 --- snip ---
Stable download links via Internet Archive:
https://web.archive.org/web/20110708152221/http://dl_dir.qq.com/invc/qqplaye...
https://web.archive.org/web/20140927222022if_/http://gamedaily.newaol.com/pu...
$ sha1sum Avatar_The_Game_Demo.exe d1eb256ec8e8a43aea1482f41da4be7b2e09954bf Avatar_The_Game_Demo.exe
$ du -sh Avatar_The_Game_Demo.exe 630M Avatar_The_Game_Demo.exe
$ wine --version wine-1.7.16-236-g09721acaea4
Regards