This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
RE: b19 and cygwin.dll
- To: zow at mdbs dot com
- Subject: RE: b19 and cygwin.dll
- From: "Earnie Boyd" <earnie_boyd at hotmail dot com>
- Date: Tue, 24 Feb 1998 07:42:39 PST
- Cc: gnu-win32 at cygnus dot com
>From: "\"Zow\" Terry Brugger" <zow@mdbs.com>
>Reply-To: "zow@mdbs.com" <zow@mdbs.com>
>To: "'Martin Portmann'" <map@graph-tech.ch>,
> "'mh@mike.franken.de'"
> <mh@mike.franken.de>,
> "'Andrew Lipnitsky'" <ert@cit.org.by>
>Cc: "gnu-win32@cygnus.com" <gnu-win32@cygnus.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@hotmail.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@cygnus.com" with one line of text: "help".