Which Wine DLLs should I *not* overwrite with the real thing?

Solution 1:

While you probably could replace the WINE dlls, there really is no way to determine which you can replace unless you are a developer for the Wine project. In most cases the DLLs will run just fine, by shaking up the system you are more likely to solve bugs than to solve your problems.

If you notice a particular program is having difficulty then you may want to determine where in the program the problem is happening then try to figure out WHICH dll it is that could be possibly related to the problem, then try a soft link and see if it fixes the issue.

I would stick with what Wine explicitly recommends, if replacing the dlls worked and made an improvement Wine would recommend it themselves.

Solution 2:

gdi32.dll, kernel32.dll, and user32.dll are the lowest-level Windows libraries, and as such should not be used to replace the equivalents in wine since they will be the ones to primarily talk with the underlying OS.

wsock32.dll does TCP/IP handling, so should be left alone as well.

Solution 3:

http://appdb.winehq.org/

The AppDB lists out modifications required for every program that works under Wine. So, for the application which isn't running natively, just check with AppDB and replace DLLs accordingly..