Subject: RE: b19 and cygwin.dll
From: [email-masked] (Earnie Boyd)

24 Feb 1998 22:18:49 -0800
Message-ID: <[email-masked]>
Content-Type: text/plain
To: [email-masked]
Cc: [email-masked]

>From: "\"Zow\" Terry Brugger" <[email-masked]>
>Reply-To: "[email-masked]" <[email-masked]>
>To: "'Martin Portmann'" <[email-masked]>,
>        "[email-masked]'"
>	 <[email-masked]>,
>        "'Andrew Lipnitsky'" <[email-masked]>
>Cc: "[email-masked]" <[email-masked]>
>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----
[email-masked]
------ooo0O--O0ooo-------

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".