Dll Loading Strategy

The dll loading strategy changed up from Wine cvs version 990423. There is newer information about it in the Wine manual ("man wine") and in the "config"-file in the documentation directory. As the command line interface changed too, you may try the new command line options for dll loading.

According to the dll-pairs an the dlls that must be load as builtin version, you should beware of dll type mismatches.

There are four types of dlls:

Some win16/win32 dlls depend on each other. These are the so named dll-pairs as mentioned in the "[DllPairs]" section in the new configuration file. You cannot use different dll types for dlls from an dll-pair!

In addition some dlls may only be used in their builtin version:

Do not load these dlls from any other source!

Be cautious in your use of native dlls, particularly if you have a native windows installation. To correct problems which appear when running an app, you have to make sure that you have set up correctly the defaults and overrides in the wine.conf and the command line.

Start with a relatively simple application like Notepad, Wordpad or Mspaint:

$ wine c:/path/to/wordpad.exe

If you have problems try something like this (in one command line):

$ wine c:/path/to/notepad.exe \
-dll comdlg32,commdlg,shell32,shell,commctrl,comctl32=b

This tells Wine explicitly to take the built-in dlls.

Or if you have these native dlls installed:

$ wine c:/path/to/notepad.exe \
-dll comdlg32,commdlg,shell32,shell,commctrl,comctl32=n
This tells Wine to use the native dlls.

To track the loading of dlls you can give "-debugmsg +module" as a command line option to Wine. It also identifies which type of dll (library) Wine is trying to load.