qpro200.dll is its own little DLL hell

Dmitry Timoshkov dmitry at baikal.ru
Mon Jan 27 08:03:29 CST 2003


"Dan Kegel" <dank at kegel.com> wrote:

> The VB app I'm trying to bring up (Yardi) installs qpro200.dll.
> Amusingly, their setup utility crashes on startup if
> you run it again, in that dll's init routine.
> Deleting it seems to fix things.  Good old DLL hell.
> Partial relay and traceback attached in case anyone's curious.

> 080f0590:Call KERNEL.4: LOCALINIT(0417,0000,0800) ret=02e7:0120 ds=0417
> 080f0590:Ret  KERNEL.4: LOCALINIT() retval=0001 ret=02e7:0120 ds=0417
> wine: Unhandled exception, starting debugger...
> ...
> Unhandled exception: privileged instruction in 16-bit code (02ef:00ab).
> In 16-bit mode.
> 0x02ef:0x00ab: ljmp *%ss:0x0020
> Wine-dbg>Backtrace:
> =>0 0x02ef:0x00ab (bp=1528)
>   1 0x02ef:0x0127 (bp=155a)
>   2 0x4007951b (NE_InitDLL+0x113(pModule=0x402750b8) [segment.c:680] in libntdll.dll.so) (ebp=41101c30)

Having a bit of spare time I have a found a copy of qpro200.dll using
an Internet search. Although apparently it's not exactly the same version
as yours (since it crashes at different address), but it crashes at the same
address under both Wine and Windows 2000 somewhere in its LibMain and
disassembly of the very first command looks exactly like in your trace.
So, for me it looks like a bug in this DLL.

I'm using simple 16-bit DLL loader written for my own needs which just
does LoadLibrary/FreeLibrary.

My copy of qpro200.dll has following strings in its VersionInfo record:

CompanyName Crescent Software, Inc.
FileDescription QuickPak Professional DLL
FileVersion 3.24.000
InternalName QPRO200
LegalCopyright  Copyrightй Crescent Software, Inc. 1991-1994
LegalTrademarks QuickPakо is a trademark of Crescent Software Inc.
OriginalFilename QPRO200.DLL
ProductName QuickPak Professional for Windows
ProductVersion 3.24.000

I can send you my simple loader program if you wish to try it yourself.

--
Dmitry.






More information about the wine-devel mailing list