Добрый день, коллеги!
Меня вот какой мучает вопрос.
Каким образом можно конфигурировать и менять механизм поиска зависимых DLL модулей, прописанных в разделе импорта EXE или DLL модуля?
Поскольку в разделе импорта любого модуля указано только имя DLL, а пути нету, то загрузчику приходится самому искать ее на диске. По старинке, поиск DLL осуществляется в следующей последовательности:
Каталог, содержащий EXE-файл.
Текущий каталог процесса.
Системный каталог Windows.
Основной каталог Windows.
Каталоги, указанные в переменной окружения PATH.
Так вот ... могу ли я в этот механизм внести свои изменения/дополнения ...? Может быть с помощью манифестов ...? Ведь в манифестах прописывают инфу о том где искать CRT-шные DLL-ки, какую версию Common Controls подгружать и так далее ... Но скока я не рыл по поводу манифестов, везде инфа только о том как подключать Shared DLL типа msvcr**.dll, msvcp**.dll, atl**.dll, cmnctrls.dll, настраивать security, и так далее, а вот толкового мануала о том, что за инфу вообще можно запихать в манифест, как можно ссылаться там на сторонние DLL модули и пр., никак и нигде найти не могу ... :(
Я просто хочу чтоб все DLL приложения не располагались в одном каталоге, а были распределены по логическим подпапкам, при этом понятно связывались с EXE статически, а не динамически, существовали в единственном экземпляре каждая, не была засрана переменная Path и т.д.
Коллеги, не знаете как это можно забабахать? Можно ли это сделать с помощью манифестов?
"Дайте мне возможность выпускать и контролировать деньги в государстве и – мне нет дела до того, кто пишет его законы." (c) Мейер Ансельм Ротшильд , банкир.