In tip 0716, I described the DLL search order for Windows NT-based systems, Windows NT 4.0, Windows NT 5.0, AKA Windows 2000, and Windows NT 5.1, AKA Windows XP.

Starting With SP3, Windows 2000 has implemented the SafeDllSearchMode Value Name, a REG_DWORD data type, at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager. A data value of 0 preserves the current search order, but a data value of 1 causes Windows 2000 to search for the DLL in:

%SystemRoot%\System32

%SystemRoot%

The current directory

The folders in your %PATH% environment variable.

NOTE: If you have shortcuts without the Start in property, and the current working folder is on a network drive, the SafeDllSearchMode Value Name can be used to overcome slow program startup.