При загрузке стандартной DLL (а не ActiveX или COM dll) Windows применяет следующие правила:
Если включен SafeDllSearchMode:
- Каталог программы.
- Системный каталог.Либо (Windows \ System32 или Windows \ SysWow64, в зависимости от того, работаете ли вы на 64-битной или нет).
- 16-разрядный системный каталог (Windows \ System).
- Каталог Windows.
- Текущий каталог.
- Все каталоги, которые находятся в переменной среды PATH.
Если SafeDllSearchMode отключен, порядок поиска следующий:
- Каталог программ.
- Текущий каталог.
- Системный каталог.Либо (Windows \ System32 или Windows \ SysWow64, в зависимости от того, работаете ли вы на 64-битной или нет).
- 16-разрядный системный каталог (Windows \ System).
- Каталог Windows.
- Все каталоги, которые находятся в переменной среды PATH.
Мое личное предпочтение (а не мусорить в каталоге System или Windows) - создать где-нибудь каталог developmentDLLs и добавить его в ПУТЬ переменная.При распространении приложения поместите DLL в каталог приложения программы.Таким образом, у вас меньше всего шансов помешать работе других DLL.Для получения полной информации о загрузке DLL см. MSDN .