make builtin dlls visible for applications?

Peter Beutner p.beutner at gmx.net
Thu Nov 17 16:56:40 CST 2005


Hi

There is yet another issue preventing SeriousSam from working.
It fails to load opengl32.dll because before loading the dll it makes sure it can find it
via SearchPath().The problem is that SearchPath doesn't know about the builtin dlls
provided by wine, so it fails to find them and SeriousSam won't start.

I can think of several ways to work around that, but i don't really like any of them.
Maybe somebody else can throw in some comments or even has a better idea:

possible solutions:
1) let SearchPath search for builtin dlls, and if found make it pretend the file exists in
the c:\windows\system32\.
This will cause all sorts of trouble if the application want to do anything else with the
file beside trying to load it.(think of somebody browsing around with a Filemanager trying
to copy/move/rename those files)

2) place dummy files for all builtin dlls in c:\windows\system32 (or symlinks pointing to
corresponding *.dll.so files)
hmm I guess you would get into trouble if you use WINEDLLOVERRIDE. Wouldn't
LoadLibrary try to load those dummy files?

3) just put it under the category "application-specific hack", and put instructions
somewhere(appdb,..) what to do to get it working.
ie:"touch ~/.wine/drive_c/windows/system32/opengl32.dll", would do it in this case.

4) combination from 1) and 3), solve it like in 1) but make it a per-application
configuration setting similar to dll overrides.

Comments?
Better ideas?

Peter



More information about the wine-devel mailing list