From: zow AT mdbs DOT com (Zow Terry Brugger) Subject: RE: b19 and cygwin.dll 23 Feb 1998 18:02:55 -0800 Message-ID: <01BD4068.3414B270.zow.cygnus.gnu-win32@mdbs.com> Reply-To: "zow AT mdbs DOT com" To: "'Martin Portmann'" , "'mh AT mike DOT franken DOT de'" , "'Andrew Lipnitsky'" Cc: "gnu-win32 AT cygnus DOT com" -----Original Message----- From: Martin Portmann According to M$ manuals a DLL will be searched in 1. The directory from which the application loaded. 2. The current directory 3. Windows 95: The Windows system directory (c:\windows\system) Windows NT: The 32-bit Windows system directory (c:\winnt\system32) 4. Windows NT: The 16-bit Windows system directory (c:\winnt\system) 5. The Windows directory (C:\winnt) 6. Directories that are listed in the PATH environment variable What we do with our Win32 applications is to ship all necessary dll in the same path as the application. This is the fastest and you never have problems overwritting a client dll or depending on a client configuration. This is slightly misleading, as we discovered the hard way. While those are the places that the system looks for a DLL, it is not necessarily done in that order. In fact, the order it's done seems to be undefined. We discovered this because we had an old version of our DLL in the system32 directory and the new version in the directory w/ the new version of our app. When we executed the app, we saw old bugs reappear and after much debugging and hair pulling, discovered that it was the old copy of the DLL that was being loaded. I subsequently added a rudimentary version check to our DLL. ----------------------------------------------------- Martin Portmann Mobile +41 79 330 60 12 Terry - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".