http://bugs.winehq.org/show_bug.cgi?id=29014
Bug #: 29014 Summary: Internet Explorer 7 crashes on startup - unimplemented function apphelp.dll.ApphelpCheckShellObject Product: Wine Version: 1.3.32 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: RandomAccountName@mail.com Classification: Unclassified
IE7 installed with winetricks crashes on startup with:
wine: Unimplemented function apphelp.dll.ApphelpCheckShellObject called at address 0x7b83b722 (thread 0009), starting debugger...
Disabling apphelp works around it.
http://bugs.winehq.org/show_bug.cgi?id=29014
A Wine user RandomAccountName@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=29014
A Wine user RandomAccountName@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression CC| |nerv@dawncrow.de Regression SHA1| |e14e83837fcf6b30599c19d6e85 | |c5cf50517a8ec
http://bugs.winehq.org/show_bug.cgi?id=29014
--- Comment #1 from Austin English austinenglish@gmail.com 2011-11-07 13:23:24 CST --- Created attachment 37358 --> http://bugs.winehq.org/attachment.cgi?id=37358 stub
http://bugs.winehq.org/show_bug.cgi?id=29014
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |proent1992@comcast.net
--- Comment #2 from Anastasius Focht focht@gmx.net 2011-11-07 15:45:59 CST --- *** Bug 29023 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=29014
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Summary|Internet Explorer 7 crashes |Internet Explorer 7 and 8 |on startup - unimplemented |crash on startup due to |function |unimplemented function |apphelp.dll.ApphelpCheckShe |apphelp.dll.ApphelpCheckShe |llObject |llObject Ever Confirmed|0 |1
--- Comment #3 from Anastasius Focht focht@gmx.net 2011-11-07 15:49:21 CST --- Hello,
confirming and revising summary.
Regards
http://bugs.winehq.org/show_bug.cgi?id=29014
--- Comment #4 from Anastasius Focht focht@gmx.net 2011-11-07 17:02:05 CST --- Hello Austin,
the signature in spec file needs correction, last parameter is ptr type. It might be useful to log out parameters passed into stub to know which object is being checked (REFCLSID -> debugstr_guid() etc.)
Returning "FALSE" by default might not be a good idea.
MSDN: http://msdn.microsoft.com/en-us/library/bb432180.aspx
--- quote --- Return value
FALSE if the object should be blocked from instantiating; TRUE otherwise. Remarks
This is a helper function for Explorer and Internet Explorer that allows those applications to detect bad extension objects and either block them from running or fix them.
If the database indicates that a shim should be used to fix the extension and bShimIfNecessary is TRUE, this function loads Shimeng.dll and applies the fix. ... --- quote ---
Basically you tell IE to block every shell extension. As long as Wine doesn't do shimming it should behave as if the API is not present meaning that all extensions are allowed to be instantiated - even the bad guys.
Example "FALSE":
"7b8a2d94-0ac9-11d1-896c-00c04fb6bfc4" = CLSID_SecurityManager
--- snip --- WINEDEBUG=+tid,+seh,+relay,+apphelp wine 'C:\Program Files\Internet Explorer\iexplore' ... 0029:Call KERNEL32.LoadLibraryA(77fc9340 "appHelp.dll") ret=77f71734 ... 0029:Ret KERNEL32.LoadLibraryA() retval=7ddb0000 ret=77f71734 ... 0029:Call KERNEL32.GetProcAddress(7ddb0000,77fc96aa "ApphelpCheckShellObject") 0029:Ret KERNEL32.GetProcAddress() retval=7ddbb7a4 ret=77f7166a 0029:Call apphelp.ApphelpCheckShellObject(777693f0,00000001,016acc38) ret=77f69412 0029:fixme:apphelp:ApphelpCheckShellObject stub: {7b8a2d94-0ac9-11d1-896c-00c04fb6bfc4}, 1, 0x16acc38) 0029:Ret apphelp.ApphelpCheckShellObject() retval=00000000 ret=77f69412 ... <object never instanciated> --- snip ---
Example "TRUE":
--- snip --- WINEDEBUG=+tid,+seh,+relay,+apphelp wine 'C:\Program Files\Internet Explorer\iexplore' ... 0033:Call KERNEL32.LoadLibraryA(77fc9340 "appHelp.dll") ret=77f71734 ... 0033:Ret KERNEL32.LoadLibraryA() retval=7dda0000 ret=77f71734 0033:Call KERNEL32.GetProcAddress(7dda0000,77fc96aa "ApphelpCheckShellObject") ret=77f7166a 0033:Ret KERNEL32.GetProcAddress() retval=7ddb07a4 ret=77f7166a 0033:Call apphelp.ApphelpCheckShellObject(777693f0,00000001,016acc38) ret=77f69412 0033:fixme:apphelp:ApphelpCheckShellObject stub: {7b8a2d94-0ac9-11d1-896c-00c04fb6bfc4}, 1, 0x16acc38) 0033:Ret apphelp.ApphelpCheckShellObject() retval=00000001 ret=77f69412 0033:Call ole32.CoCreateInstance(777693f0,00000000,00000001,77769400,016acc74) ret=77f6942c ... 0033:Call advapi32.RegOpenKeyExW(80000000,016aca0e L"CLSID\{7B8A2D94-0AC9-11D1-896C-00C04FB6BFC4}",00000000,00020019,016aca68) ret=7e5a6eeb ... 0033:Call advapi32.RegOpenKeyExW(80000001,6141a588 L"Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\",00000000,00020019,001ede68) ret=61413393 ... 0033:Ret ole32.CoCreateInstance() retval=00000000 ret=77f6942c ... --- snip ---
Regards
http://bugs.winehq.org/show_bug.cgi?id=29014
--- Comment #5 from A Wine user RandomAccountName@mail.com 2011-11-07 23:48:25 CST --- (In reply to comment #1)
Created attachment 37358 [details] stub
This stub does prevent the crash for me, but it's true that returning FALSE causes problems (browser helper objects such as add-on toolbars are not loaded). Everything seems as expected after making it return TRUE instead.
http://bugs.winehq.org/show_bug.cgi?id=29014
--- Comment #6 from André H. nerv@dawncrow.de 2011-11-08 03:46:14 CST --- im not at home, could you rathe try to comment out the spec entry pls
http://bugs.winehq.org/show_bug.cgi?id=29014
--- Comment #7 from A Wine user RandomAccountName@mail.com 2011-11-08 05:29:00 CST --- Commenting out the entry in the spec file prevents the crash, too.
http://bugs.winehq.org/show_bug.cgi?id=29014
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |e423abf5a528579b66945729d60 | |50e39cf663971 Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #8 from Austin English austinenglish@gmail.com 2011-11-08 12:24:31 CST --- (In reply to comment #5)
(In reply to comment #1)
Created attachment 37358 [details] stub
This stub does prevent the crash for me, but it's true that returning FALSE causes problems (browser helper objects such as add-on toolbars are not loaded). Everything seems as expected after making it return TRUE instead.
http://source.winehq.org/git/wine.git/commitdiff/e423abf5a528579b66945729d60...
http://bugs.winehq.org/show_bug.cgi?id=29014
Vitaliy Margolen vitaliy-bugzilla@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |der_billyboy@hotmail.com
--- Comment #9 from Vitaliy Margolen vitaliy-bugzilla@kievinfo.com 2011-11-09 10:17:41 CST --- *** Bug 29037 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=29014
Vitaliy Margolen vitaliy-bugzilla@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |27650
http://bugs.winehq.org/show_bug.cgi?id=29014
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org 2011-11-18 13:03:57 CST --- Closing bugs fixed in 1.3.33.