Subject: RE: b19 and cygwin.dll
From: [email-masked] (Zow Terry Brugger)

23 Feb 1998 18:02:55 -0800
Message-ID: <[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]>

-----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
"[email-masked]" with one line of text: "help".