rtivdds.dll Missing Error While Running an Executable Built from NI LabVIEW

Updated Mar 6, 2019

Reported In

Software

  • LabVIEW 2017
  • Real-Time Innovations Data Distribution Service Toolkit
  • LabVIEW Application Builder Module

Operating System

  • Windows

Issue Details

I am working with the RTI DDS toolkit and I have a project that I've written in LabVIEW 2017, and it runs fine on my development machine. When I try to build it into an executable, the rtilvdds.dll gets pulled into the Data folder, but when I actually run the executable, I get the following error:



It gives me this error for any VIs that use any components of the toolkit. Do we know if the DLL is compatible with LabVIEW 2017, or if there is any issue when building it into an executable?

Solution

When creating an executable LabVIEW cannot find the DDS libraries that the RTI DDS toolkit uses: nddsc.dll, rtivdds.dll, nddscore.dll and rtidlc.dll (rtimonitoring.dll and nddssecurity.dll are optional if you are using them). LabVIEW does not track dlls recursively, it considers the only libraries you are using are the ones you call in the .vi files. Refer to Managing Dependencies in LabVIEW Projects to know more.
 
One of the things you can do it is to copy these libraries to <your .exe folder>/data (where the rtilvdds.dll should be). However this is a workaround. The proper way of doing this is manually including them in the project so LabVIEW adds them automatically (You can find these libraries under <LabVIEW installation>\vi.lib\_RTI DDS Toolkit_internal_deps; for example C:\Program Files (x86)\National Instruments\LabVIEW 2017\vi.lib\_RTI DDS Toolkit_internal_deps). Follow these steps to perform the same:

1) Add the .dll files you need to your project. LabVIEW will not let you add them to its dependencies section. Therefore, you can create a new folder in your project to have them available for the application builder. The picture attached has one called Dependencies:




2. Then, when you are creating your .exe application, you need to include the library files as Always included, in source files tab. So LabVIEW can include them automatically in the correspondent folder to run your application:




This will help you include the required .dlls in the executable.

Additional Information

The RTI DDS Toolkit for LabVIEW by Real-Time Innovations is built on the Data Distribution Service (DDS) standard, the leading data-centric publish/subscribe connectivity standard for integrating distributed real-time applications. With the subVIs in this toolkit, you can easily publish and share data between multiple LabVIEW applications, NI Linux Real-Time controllers and third-party applications that use DDS. The toolkit extends the benefits of RTI ConnextⓇ solutions to LabVIEW applications.

WAS THIS ARTICLE HELPFUL?

Not Helpful