David D. Hagood wrote:
I'm trying to get the Delorme packages (AAA MapNGo, Street Atlas) running under the latest Wine. They used to work back when Wine used the MS DLLs for DCOM, but then they stopped working when Wine started supplying their own DCOM DLLS.

If you're pretty sure that the difference is because of ole, and it can't load a file, then I'd suspect ole storage or OleFont.

The FONT.FNT file is being opened (strace shows it being opened).
The mapsys32.dll file is being loaded (WINEDEBUG=+relay shows it)
The mapsys32.dll does not implement DllRegisterServer (regsvr32 says so).
The problem exists even though I've blown away my entire .wine directory and recreated it from scratch. The problem has been in the code for several months, and as of 19 Sept 2005's CVS it still is.

So, how can I see what is going on with mapsys32.dll?

Try a +olerelay,+storage,+relay trace. Try to pinpoint the failure (ie. where it starts doing HeapFree(), DestroyWindow(), ExitProcess, etc, then work back from there. Try see if there's a StgOpenStorage/StgCreateStorage call, or perhaps if the IOleFont object is being used.

Calls to ole interfaces don't show up in with a +relay trace, so you need +olerelay (which only shows up if somebody put a TRACE_(olerelay) macro in the ole functions).

The other thing to try is a +relay,+snoop trace, which will show you the entry points being called in mapsys32.dll.

Mike


Reply via email to