Mail Archives: cygwin/1998/02/24/22:18:49
>From: "\"Zow\" Terry Brugger" <zow AT mdbs DOT com>
>Reply-To: "zow AT mdbs DOT com" <zow AT mdbs DOT com>
>To: "'Martin Portmann'" <map AT graph-tech DOT ch>,
> "'mh AT mike DOT franken DOT de'"
> <mh AT mike DOT franken DOT de>,
> "'Andrew Lipnitsky'" <ert AT cit DOT org DOT by>
>Cc: "gnu-win32 AT cygnus DOT com" <gnu-win32 AT cygnus DOT com>
>Subject: RE: b19 and cygwin.dll
>Date: Mon, 23 Feb 1998 14:34:51 -0000
>
>-----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.
Another good reason to leave the dll with the application level. As I
see it there are three categories of dll's:
1. System Specific: these are for the Operating System dlls that come
from MS; thses should be placed in /Windows/System##/ directory.
2. Manufacturer Specific: these are dll's that the manufacturer will use
for more than one package; for MS routines these should go in the
/Windows/ directory. For all others these should go in the
/Manufacturer/ directory.
3. Package Specific: these are dll's that are only used for a particular
package; they should go in a directory called /Manufacturer/Package/.
>
> -----------------------------------------------------
> Martin Portmann Mobile +41 79 330 60 12
>
>Terry
>
>
Just 2 more cents worth,
- \\||//
---o0O0--Earnie--0O0o----
-earnie_boyd AT hotmail DOT com-
------ooo0O--O0ooo-------
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
-
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".
- Raw text -