Q: Make regsvr32 ignore a DLL dependency I'm trying to get some software to function that we don't have the installer to (and the company is unable to supply).
A custom DLL needs registering, which we have but it relies on another DLL - a driver for a Basler industrial camera (PYLONBASE_MD_VC80.dll). Eventually found that online. Now a whole Pandora's Box of DLLs is needed:
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

These are proving hard to find.
Is there any way to get the software to ignore the whole PYLONBASE_MD_VC80.dll dependency as it will never need it (no Basler cameras are being used)?
All this is being found through Dependency Walker.

A: You could write your own stub version of pylonbase_md_vc80.dll that exports empty functions that match the names imported by the DLL you need to load.  Dependency Walker should show you the names of the functions that DLL imports from pylonbase_md_vc80.dll.  You may have to put dummy parameters in the functions if the imported names are decorated with @NUMBER suffixes.
Alternatively, you may be able to find a tool that can mark pylonbase_md_vc80.dll as a delay load DLL in the DLL that you possess.  Then, it should load and run without ever needing pylonbase_md_vc80.dll, as long as no call is made to a function in the latter.  I don't know of any such tool though.
