Hello, I am developing a ProjectWise plug-in for our CAD application. Is there a list of DLLs I need to redistribute? I tried to use the DLLs that have respective .LIBs in the SDK but my DLL failed to load. If I use ALL the dlls, my DLL loads. I would hate to have to use dependency walker on every DLL to find out which is needed.
It is always helpful to be as specific as you can. What kind of "plug-in"?
As far as dependencies go, if you install the ProjectWise Explorer on the same machine as your customization, then all the dependencies required by ProjectWise would already be available. The only dependencies that you would have to install yourself would be anything your customization requires that isn't on the machine already that ProjectWise isn't dependent upon.
Copying the DLLs probably is not enough as there are registry entries that need to be made, as well as other considerations. There are merge modules provided with the SDK, but I have never had to try to use them, but that might be useful to your needs.
Code snippets would help as well. If this plug-in is a custom module for ProjectWise Explorer, then you need to make Windows Registry entries like the Custom Module Manager makes for you. If your plug-in is loaded by your CAD application, then you need to call aaApi_Initialize() passing AAMODULE_ALL.
Hopefully, this is enough to get you pass your issue. If not, please provide more details and code snippets.
Dan WilliamsSolution ConsultantBentley Systems, IncorporatedPortland, OR, USA (Pacific Time UTC-08:00)
Hello, the plugin is a DLL that loads into another application. If you're familiar with AutoCAD, it would be analog to a .ARX file
edit.. ProjectWise Explorer is installed on my workstation
virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt)
AcRx::AppRetCode retCode =AcRxArxApp::On_kInitAppMsg (pkt) ;
if (aaApi_Initialize(AAMODULE_IDESKTOP) != TRUE)
const auto errorId = aaApi_GetLastErrorId();
const auto errorMSG = aaApi_GetMessageByErrorId(errorId);
acutPrintf(_T("\nFailed to load ProjectWise API, code = %ld, error = %ls"), errorId, errorMSG);
acutPrintf(_T("ProjectWise API succesffully loaded"));
return (retCode) ;
answered in https://communities.bentley.com/products/programming/projectwise_programming/f/projectwise-programming---forum/202375/sdk-environment-sample-question
Answer Verified By: Daniel Marcotte