>A late joiner in this thread but here's my 2 cents worth. I do not want my dlls in the system directory because I do not want to descend into dll hell. I do not add the dlls to the project and keep them in their own subdirectory which is put in the path statement. This is a little more work but it does give me some security.
If you don't put them in the Windows system directroies, the search path for Windows is:
With both implicit and explicit linking, Windows first searches the set of pre-installed DLLs such as the performance library (KERNEL32.DLL) and the security library (USER32.DLL). Windows then searches for the DLLs in the following sequence:
The directory where the executable module for the current process is located.
The current directory.
The Windows system directory. The GetSystemDirectory function retrieves the path of this directory.
The Windows directory. The GetWindowsDirectory function retrieves the path of this directory.
The directories listed in the PATH environment variable.
Note that the LIBPATH environment variable is not used.