Alexandre Julliard julliard@winehq.org wrote:
Sent: Feb 17, 2009 5:07 AM To: Dan Kegel dank@kegel.com Cc: "wine-devel@winehq.org" wine-devel@winehq.org Subject: Re: search path redux - if office 2007 always uses a private riched20, why does wine interpose its own global one?
Dan Kegel dank@kegel.com writes:
See http://bugs.winehq.org/show_bug.cgi?id=14980
Essentially, to run Office 2007, you have to set an override for riched20. Since Office installs a new, spiffier version of riched20 in its own private directory, and expects to find it there, isn't it a bug that we don't let it have it?
There's no guarantee that using the private version would help. In some cases it does, in other cases it makes things worse. So defaulting to builtin is preferable, this way at least when it doesn't work we have a chance of fixing it.
I think the phrase for this is 'dll hell'. That is Application A ships with and places a copy of xyz.dll in the program directory and uses it, exclusively. This was fine for some versions of Windows when xyz.dll could add in its own functions at the end of the dll and include all of the functionality of the system provided xyz.dll. However, this breaks when the system is upgraded (witness what happened to a bunch of programs when XP SP2 was released or you upgraded from Windows 3.1 to Windows 3.11, etc.). This may or may not happen with Wine because we added the ability to first call the Native xyz.dll and if a function did not exist there, call Wine's xyz.dll. This allows the Wine project to call Wine specific versions of library code and continue to use program supplied dlls. Good idea and one that should be retained. However, some programs will NOT function without their program specific dlls, and it appears that Office 2007 is one of them. Thus, it will be necessary to switch from built-in to native, built-in for this program until Wine incorporates all of the new functions. This may also be true of other programs.
James McKenzie