Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to email@example.com.
Oliver Schneider wrote: > The setup package of CVSNT apparently ships with the file > "u3dapi10.dll". This file has apparently to do with the U3 system > available for some USB memory sticks. Since CVSNT is registered with > the PATH environment variable, it becomes part of the DLL search path > as well. > There is only one version of this DLL, and its version number is in its name so if they ever produce a 2.0 version for example it would be called something different (it's unlikely there will be another version though, U3 never took off). > Is it necessary to put this DLL into the DLL search path by default? This file is *not* in the PATH. It's in a march hare specific directory on Common Files. There is in fact very little placed directly in the path on CVSNT (and even that is only for running from the command line - tortoiecvs doesn't need it, since it can use the simcvs stub). The list is presently: cvsapi.dll mdnsclient.dll cvstools.dll cvs.exe cvsdiag.exe extnt.exe cvslock.exe cvsagent.exe In addition cvsnt places itself last in the search path to avoid accidentally interfering with any installed applications. > after checking static dependencies and it just works fine. Only the > combination of PATH with this DLL makes it a problem in the first > place, basically creating the infamous "DLL hell". No application should be relying on PATH for its dependent DLLs. Some do, but in practice most of those can be modified so they don't need it, since simply placing its DLLs in the same directory as the EXE is enough for most - the EXE directory is always first in the search path. DLL hell in modern setups is caused by applications using System32 rather than their own directories.. we've had awful trouble with iconv.dll being dumped there by some applications for example which breaks the control panel. That's why CVSNT avoids using System32 even for system files like the C library - not worth the pain it causes. Tony