Mail Archives: cygwin/1998/02/23/18:02:55
-----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".
- Raw text -