On November 1, 2002 01:38 pm, Alexandre Julliard wrote:
Oh, if you allow using native dlls that the app installs then things are easier; I thought you wanted to make things work with builtins only. But then you cannot ignore the dll overrides problem, you need to tweak the overrides just right for every app, and make sure you get the correct version of every native dlls (for the same native dll some versions work and some don't).
Good point. Tweaking the dll overrides is a big NO-NO. We should look for apps that run with the current Wine default overrides:
<snip>
This really depends on what your aim is for 0.8.0 - from what I've read, your aim is to create a release which provides decent compatability, a good user experience, and -REQUIRES- no native DLLs.
However for this really to happen, you'll need to make some compromises on various DLL preferences. For example, the two the most common programs people first try to install under WINE are either Microsoft Word, or (which recent versions of Office require anyway..) Internet Explorer.
If you expect internet explorer to work, you are GOING to have to have at least shdocvw,shlwapi set native,builtin. That way they are not required, but if IE is installed and those DLLs exist, you will need to use the native versions. I really can't imagine ANY way we could create a builtin version of those two dll's which will work with -all- internet explorer versions, as the DLL's change horribly between revisions and even service packs. I think urlmon suffers from the same fate, but I'm not certain.
As these middleware DLLs change interfaces so often, we would either need a major hack-job to try and select the right version for the calling middleware.... or have a configuration file that will default them to native.
I'm sure other DLLs suffer from the same problem, these are DLLs we simply cannot hope to emulate to the extent where large middleware applications work. The main external APIs and/or COM interfaces may remain the same, but the middleware itself relies too much on subtle differences in the undocumeneted interfaces.
Cheers, - Ender