Заставьте regsvr32 игнорировать зависимость DLL


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 не используются)?

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

Ответы:


3

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.