2

Я пытаюсь заставить работать какое-то программное обеспечение, к которому у нас нет установщика (а компания не может его поставить).

Пользовательская DLL требует регистрации, которая у нас есть, но она зависит от другой DLL - драйвера для промышленной камеры Basler (PYLONBASE_MD_VC80.dll). В конце концов нашел это онлайн. Теперь нужна целая коробка DLL Пандоры:

XERCES-C_MD_VC80_V2_7.DLL
GCBASE_MD_VC80_V2_0.DLL
GENAPI_MD_VC80_V2_0.DLL
LOG_MD_VC80_V2_0.DLL
LOG4CPP_MD_VC80_V2_0.DLL

Их трудно найти.

Есть ли способ заставить программное обеспечение игнорировать всю зависимость PYLONBASE_MD_VC80.dll поскольку оно никогда не понадобится (камеры Basler не используются)?

Все это можно найти через Зависимость Уокера.

1 ответ1

3

Вы можете написать свою собственную версию-заглушку pylonbase_md_vc80.dll которая экспортирует пустые функции, которые соответствуют именам, импортируемым DLL, которую вам нужно загрузить. Dependency Walker должен показать вам имена функций, которые DLL импортирует из pylonbase_md_vc80.dll . Возможно, вам придется поместить фиктивные параметры в функции, если импортированные имена украшены суффиксами @NUMBER .

Кроме того, вы можете найти инструмент, который может пометить pylonbase_md_vc80.dll как DLL с задержкой загрузки в имеющейся у вас DLL. Затем он должен загружаться и запускаться без необходимости использования pylonbase_md_vc80.dll , если в последнем не выполняется вызов функции. Я не знаю ни одного такого инструмента, хотя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .