http://bugs.winehq.org/show_bug.cgi?id=30422
Bug #: 30422 Summary: IWebBrowser2 ServiceProvider SID_SShellBrowser not supported Product: Wine Version: 1.3.37 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: mshtml AssignedTo: wine-bugs@winehq.org ReportedBy: lkcl@lkcl.net Classification: Unclassified
this is for running pyjamas-desktop using wine's native (gecko) MSHTML.DLL
the relevant code is here: http://pyjs.org/pygit/#file=pyjd/mshtml.py&id=0d4b6787d01c3d90f2c8801c5c...
but the convenient sections which fail (ending with the line that fails) are replicated here:
SID_SShellBrowser = GUID("{000214E2-0000-0000-C000-000000000046}")
# http://msdn.microsoft.com/en-us/library/aa752126%28VS.85%29.aspx wba = self.pBrowser.QueryInterface(IServiceProvider) wn = wrap(wba.QueryService(SID_SShellBrowser, IOleWindow))
# http://www.mail-archive.com/comtypes-users@lists.sourceforge.net/msg00439.ht... class IServiceProvider(IUnknown): _iid_ = GUID('{6D5140C1-7436-11CE-8034-00AA006009FA}')
# Overridden QueryService to make it nicer to use (passing it an # interface and it returns a pointer to that interface) def QueryService(self, serviceIID, interface): p = POINTER(interface)() self._QueryService(byref(serviceIID), byref(interface._iid_), byref(p))
the line that fails is the _QueryService, looking up the IOleWindow interface on SID_SShellBrowser, as can be seen below by "fixme:ieframe:WebBrowser_QueryInterface".
fixme:atl:OleInPlaceFrame_SetStatusText (0x133280, L"Downloading about:blank") - stub fixme:iphlpapi:NotifyAddrChange (Handle 0x61ce8fc, overlapped 0x61ce8e0): stub err:ole:CoGetClassObject class {591209c7-767b-42b2-9fba-44ee4615f2c7} not registered err:ole:CoGetClassObject class {591209c7-767b-42b2-9fba-44ee4615f2c7} not registered err:ole:CoGetClassObject no class object {591209c7-767b-42b2-9fba-44ee4615f2c7} could be created for context 0x3 fixme:ieframe:ClOleCommandTarget_QueryStatus (0x132ff4)->((null) 1 0x42a220 (nil)) fixme:ieframe:ClOleCommandTarget_QueryStatus command_0: 27, 0x0 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 25 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 26 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented group {000214d1-0000-0000-c000-000000000046} fixme:ntdll:NtLockFile I/O completion on lock not implemented yet fixme:ieframe:ClientSite_GetContainer (0x132ff4)->(0x42a230) fixme:ieframe:ClOleCommandTarget_Exec Unimplemented group {000214d1-0000-0000-c000-000000000046} fixme:atl:OleInPlaceFrame_SetStatusText (0x133280, L"") - stub fixme:atl:OleInPlaceFrame_EnableModeless (0x133280, 1) - stub fixme:ieframe:ClientSite_GetContainer (0x132ff4)->(0x42d070) fixme:imm:ImmReleaseContext (0x1006e, 0x515df48): stub fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 25 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 26 fixme:ieframe:ProvideClassInfo_GetClassInfo (0x132f40)->(0x30a7af8) fixme:ieframe:WebBrowser_QueryInterface (0x132f40)->({df0b3d60-548f-101b-8e65-08002b2bd119} 0x42f2fc) interface not supported fixme:ieframe:WebBrowser_put_RegisterAsBrowser (0x132f40)->(ffffffff) fixme:win:EnumDisplayDevicesW ((null),0,0x42e410,0x00000000), stub! fixme:ieframe:WBServiceProvider_QueryService (0x132f40)->({000214e2-0000-0000-c000-000000000046}, {00000114-0000-0000-c000-000000000046} 0x30db0f8) fixme:ieframe:WebBrowser_QueryInterface (0x132f40)->({df0b3d60-548f-101b-8e65-08002b2bd119} 0x42f60c) interface not supported Traceback (most recent call last): File "Hello.py", line 15, in <module> pyjd.setup("public/Hello.html?fred=foo#me") File "C:\python26\lib\site-packages\pyjd__init__.py", line 76, in setup _setup(*args, **kwargs) File "C:\python26\lib\site-packages\pyjd\mshtml.py", line 472, in setup wv.load_app() File "C:\python26\lib\site-packages\pyjd\mshtml.py", line 293, in load_app wn = wrap(wba.QueryService(SID_SShellBrowser, IOleWindow)) File "C:\python26\lib\site-packages\pyjd\mshtml.py", line 113, in QueryService self._QueryService(byref(serviceIID), byref(interface._iid_), byref(p)) _ctypes.COMError: (-2147467262, None, (None, None, None, 0, None))
https://bugs.winehq.org/show_bug.cgi?id=30422
--- Comment #1 from Austin English austinenglish@gmail.com --- Instruction on how to reproduce this would help. I tried:
$ winetricks -q python26 python26_comtypes $ unzip -d ~/.wine/drive_c pyjs-pyjs-0.8.1a-0-g8c7cbc5.zip $ cd ~/.wine/drive_c/pyjs-pyjs-07f54ad/ $ wine "C:\Python26\python.exe" bootstrap.py $ cd examples/helloworld $ wine "C:\Python26\python.exe" Hello.py Traceback (most recent call last): File "Hello.py", line 1, in <module> import pyjd # this is dummy in pyjs. ImportError: No module named pyjd fixme:msvcrt:__clean_type_info_names_internal (0x1e1f9bc8) stub
using pyjs from http://pyjs.org/Download.html
https://bugs.winehq.org/show_bug.cgi?id=30422
--- Comment #2 from Austin English austinenglish@gmail.com --- This is your friendly reminder that there has been no bug activity for over a year. Is this still an issue in current (1.7.51 or newer) wine?
https://bugs.winehq.org/show_bug.cgi?id=30422
--- Comment #3 from Luke Kenneth Casson Leighton lkcl@lkcl.net --- honestly couldn't tell you, austin. if you happen to know if someone has actively worked on XMLHttpRequest in the past year, writing unit tests, chances are high it's been fixed. if nobody's looked at XMLHttpRequest in the past year, chances are the bug's still present.
https://bugs.winehq.org/show_bug.cgi?id=30422
mirh mirh@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mirh@protonmail.ch
--- Comment #4 from mirh mirh@protonmail.ch --- Still a problem on latest wine. To fix broken imports I copied pyjd and comtypes to the Python26/Lib/ folder
https://github.com/pyjs/pyjs/archive/0.8.1a.zip https://github.com/enthought/comtypes/releases/download/1.1.7/comtypes-1.1.7...