Wine's OLE/COM doesn't work, and I can no longer use native COM

David D. Hagood wowbagger at sktc.net
Sat Aug 7 11:11:52 CDT 2004


One of the few Windows programs I use is Delorme's MapNGo (versions 4 
and 6). Under older versions of Wine wherein I could use the native 
Windows OLE/COM implementation it worked fairly well, but with the new 
Wine it does not.

The symptoms are that the program cannot create the initial document 
object - this ususally is an indication that the DLLS implementing the 
COM classes for the MapNGo object are not registered correctly with the 
system. However, I have taken a system running an older version of Wine 
that could successfully run Mng6 and upgraded it to the latest CVS of 
Wine, and it broke the app.

Not being a wiz at COM, I am not sure where to go from here, other than 
to report the results of tracing the run:

  WINDEBUG=+ole,+com wine ./Mng6
fixme:ole:CoRegisterMessageFilter stub
err:msg:DispatchMessageW BeginPaint not called on WM_PAINT for hwnd 0x1003a!
[wowbaggr at surfer AAAMNG6]$
[wowbaggr at surfer AAAMNG6]$ WINDEBUG=+ole,+com wine ./Mng6.mdb
wine: cannot determine executable type for L"D:\\AAAMNG6\\Mng6.mdb"
[wowbaggr at surfer AAAMNG6]$ WINDEBUG=+ole,+com wine ./mng
mng6.cnt     mng6.exe     mng6.hlp     mngfeat.hlp
[wowbaggr at surfer AAAMNG6]$ WINDEBUG=+ole,+com wine ./mng6.exe
fixme:ole:CoRegisterMessageFilter stub
err:msg:DispatchMessageW BeginPaint not called on WM_PAINT for hwnd 0x1003a!
[wowbaggr at surfer AAAMNG6]$
[wowbaggr at surfer AAAMNG6]$ WINDEBUG=+all wine ./mng6.exe
fixme:ole:CoRegisterMessageFilter stub
err:msg:DispatchMessageW BeginPaint not called on WM_PAINT for hwnd 0x1003a!
[wowbaggr at surfer AAAMNG6]$
[wowbaggr at surfer AAAMNG6]$ WINEDEBUG=+ole,+com wine ./mng6.exe
trace:ole:DllMain 0x40c00000 0x1 0x1
trace:ole:DllMain (0x40e30000,1,0x1)
trace:ole:CoInitializeEx ((nil), 2)
trace:ole:CoInitializeEx () - Initializing the COM libraries
trace:ole:RunningObjectTableImpl_Initialize ()
trace:ole:OleInitialize ((nil))
trace:ole:CoInitializeEx ((nil), 2)
trace:ole:OleInitialize () - Initializing the OLE libraries
trace:ole:OLEClipbrd_Initialize ()
fixme:ole:CoRegisterMessageFilter stub
trace:ole:WINE_StringFromCLSID 
0x49d964->{F4B4E540-7F32-11CE-AC56-0000C0496D91}
trace:ole:WINE_StringFromCLSID 
0x487530->{D97A6266-C342-11D2-A562-A313798CEB30}
trace:ole:WINE_StringFromCLSID 
0x4071f3bc->{D97A6266-C342-11D2-A562-A313798CEB30}
trace:ole:CoGetClassObject
         CLSID:  {d97a6266-c342-11d2-a562-a313798ceb30},
         IID:    {b196b28f-bab4-101a-b69c-00aa00341d07}
trace:ole:COMPOBJ_DLLList_Add
trace:ole:CoInitializeEx ((nil), 2)
trace:ole:WINE_StringFromCLSID 
0x5f8a41b8->{00025E15-0000-0000-C000-000000000046}
trace:ole:CoGetClassObject
         CLSID:  {00025e15-0000-0000-c000-000000000046},
         IID:    {b196b28f-bab4-101a-b69c-00aa00341d07}
trace:ole:COMPOBJ_DLLList_Add
trace:ole:CreateErrorInfo (0x4071f38c): stub:
trace:ole:IErrorInfoImpl_QueryInterface (0x40252658)->(
         IID:    {22f03340-547d-101b-8e65-08002b2bd119},0x4071f38c)
trace:ole:ICreateErrorInfoImpl_AddRef (0x40252658)
trace:ole:IErrorInfoImpl_AddRef (0x40252658)->(count=1)
trace:ole:IErrorInfoImpl_QueryInterface -- Interface: 
(0x4071f38c)->(0x4025265c)trace:ole:IErrorInfoImpl_Release 
(0x40252658)->(count=2)
trace:ole:ICreateErrorInfoImpl_QueryInterface (0x40252658)
trace:ole:IErrorInfoImpl_QueryInterface (0x40252658)->(
         IID:    {1cf2b120-547d-101b-8e65-08002b2bd119},0x4071f390)
trace:ole:IErrorInfoImpl_AddRef (0x40252658)->(count=1)
trace:ole:IErrorInfoImpl_QueryInterface -- Interface: 
(0x4071f390)->(0x40252658)trace:ole:ICreateErrorInfoImpl_SetGUID 
(0x40252658)->({00000000-0000-0000-0000-000000000000})
trace:ole:ICreateErrorInfoImpl_SetSource (0x40252658)
trace:ole:ICreateErrorInfoImpl_SetDescription (0x40252658)
trace:ole:ICreateErrorInfoImpl_SetHelpContext (0x40252658)
trace:ole:SetErrorInfo (0, 0x40252658)
trace:ole:IErrorInfoImpl_AddRef (0x40252658)->(count=2)
trace:ole:IErrorInfoImpl_Release (0x40252658)->(count=3)
trace:ole:ICreateErrorInfoImpl_Release (0x40252658)
trace:ole:IErrorInfoImpl_Release (0x40252658)->(count=2)
err:msg:DispatchMessageW BeginPaint not called on WM_PAINT for hwnd 0x1003a!

(this last message usually happens when Mng tries to show an error 
dialog at startup.)

When I've tried re-installing Mng6, I get messages from Wine about 
"Registering a non-oleautomation interface" - I do not know if this is 
significant or not.

So, any pointers on where to go from here?



More information about the wine-devel mailing list