We have a C# program we use in production to test and certify up to 90 of our devices at a time. We were using the nRF51 dongle and the MasterEmulator DLL, however due to the large amount of BLE traffic we have in our building, it was struggling to connect to the devices causing large amounts of retest with it's associated cost.
So, I replaced the dongle and MasterEmulator DLL with nRF52DK boards running the serialization application and converted the C# program to use the pc-ble-driver. This works great at my desk. However, when we move program to production it fails on the sd_rpc_physical_layer_create_uart call with the error: "Unable to load DLL 'pc_ble_driver_shared_sd_api_v3.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)"
The error itself is clear that there is a DLL missing. However, the pc_ble_driver_shared_sd_api_v3.dll is included with the program. Making me wonder if the DLL has dependencies on other DLLs that may not be present on the production PC. Leading me to the question: Can anyone provide a list of dependencies for the pc_ble_driver_shared_sd_api_v3.dll?
Note, I am an embedded developer doing my best in a managed code world for this particular assignment!
You may be missing the J-link drivers required for communicating with the DK over UART. See the hardware setup section of the pc-ble-driver installation notes.
Thanks Terje! I completely over looked that. I'll get our production folks to install that and we'll see what happens.
Well, I finally got access to the production PC. I downloaded the Segger J-Link software and installed it. Still received the same error. So, then I wondered if I needed some of Nordic's software on this PC as well. So I installed the command line tools. That did not help either. One thing I noticed is that when I run the J-Link DLL updater, it finds no 3rd party applications using J-Link.
UPDATE: I finally got the program running in production. I installed Visual Studio 2017 on the production machine so I could use a developers tool to log the missing DLL. The installation of Visual Studio fixed the problem.
Oops meant to add that as a comment
Thanks for your help Terje. I appreciate the responses.