Making a system DLL unavailable (problem with COMMCTRL)

Samuel Audet guardia at step.polymtl.ca
Sat May 29 17:20:38 CDT 2004


Hello,

I have a Windows 3.1 application here that uses the OWL library.  I have
problems running it properly, and I have found the following:
http://www.xploiter.com/programming/c/borland/3031.html

Looking at what wine outputs when I use "WINEDEBUG=dll" or loaddll, I 
see that my program tries to load commctrl.dll and always succeeds.  The 
problem is, I want it not to succeed, since AFAIK, 16 bit COMMCTRL 
functionality is not implemented in WINE, and the OWL library has a 
backup plan where it emulates some of the controls (like described on 
the site above) when it can't find COMMCTRL, which is what it does in 
Windows 2000 or XP for example.

I have confirmed that the COMMCTRL is at the source of the problem by
using one from a Windows 98 installation.  Dialogs that are not showing
using WINE's builtin COMMCTRL are now showing (although they are having 
sizing problems... anybody might know why?).

Is there like a "disable" option in the [DllOverrides] section?  Or some
other way to disable a system DLL? I can't seem to just be able to
"remove" commctrl.dll since even 32 bits builtin DLL (in this case
comctl32.dll) require the 16 bit counterpart.  In this case, when 
comdlg32 tries to load, it loads comctl32 and fails because it can't 
load commctrl.  I don't think it's a good idea to make 32 bits DLL be 
dependent of their 16 bit counterpart.

Thank for any input!

-- 
Samuel Audet <guardia at step.polymtl.ca>
http://www.step.polymtl.ca/~guardia/





More information about the wine-devel mailing list