DLL-Связывание. Поиск DLL. Манифесты.
От: Rakafon Украина http://rakafon.blogspot.com/
Дата: 30.09.09 08:55
Оценка:
Добрый день, коллеги!
Меня вот какой мучает вопрос.
Каким образом можно конфигурировать и менять механизм поиска зависимых 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) Мейер Ансельм Ротшильд , банкир.
    dllhell
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.