[Bug 23094] Multiple application installers abort with 'runtime error R6034' (Microsoft VC++ 2008 MFC runtime and manifest missing)(AVATAR Demo, iNodeSetup 3.60, QQPlayer 3.1)

WineHQ Bugzilla wine-bugs at winehq.org
Thu Feb 4 11:45:01 CST 2021


https://bugs.winehq.org/show_bug.cgi?id=23094

Anastasius Focht <focht at 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 at gmx.net> ---
Hello folks,

this was fixed by commit
https://source.winehq.org/git/wine.git/commitdiff/09721acaea4bf6b95b72c49540aa6cdc667c684d
("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/qqplayer/QQPlayer_Setup_31_831.exe

https://web.archive.org/web/20140927222022if_/http://gamedaily.newaol.com/pub/Avatar_The_Game_Demo.exe

$ 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

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list