COM .dll not discovering c++ component.

Q:

A COM .dll not discovering c++ component. How should I fix this?

 

A

I'm not sure what folders the COM and C++ components typically reside in, but the COM dll is probably expecting the c++ component to be somewhere that it is not.  Let's assume that the COM component will successfully load the c++ component from the same directory as the COM component:

The first test step I would suggest is placing the addin.dll, the PIA dll and the c++ dll all in the directory where the c++ dll is installed and loading the add-in from there.  You'll want to set Copy Local to false so that the libraries are loaded from the single location.  Then the c++ dll should be found by the COM library and loaded successfully.

If this succeeds, you can try leaving the PIA in the same directory as the COM and c++ libraries and loading/running the add-in from its dedicated directory with a reference (Copy Local = false) set to the PIA installed in the GAC from the common directory.

Continuing with the common folder assumption...  If keeping the PIA, COM and c++ .dll in a common directory is not acceptable for your final product install, then you may have to change the way the COM dll loads the c++ .dll.    

 

 

 

 


Posted May 22 2009, 02:44 PM by BillL
Filed under: , ,
Copyright Summit Software Company, 2008. All rights reserved.