LabVIEW Application Crashes When Reference Data Types Are Passed Between Build Outputs (EXE, DLL, PPL) That Use Different Run-Time Engine Versions

Updated Sep 3, 2025

Reported In

Software

  • LabVIEW Runtime
  • LabVIEW

Issue Details

If you have multiple LabVIEW build outputs (EXE, DLL, PPL), and they were built with different options set for "Allow future versions of LabVIEW Runtime to run this application," and those build outputs pass reference data types between each other, you may experience a DAbort or crash. 

For example, you have an EXE that was built in LabVIEW 2020 with the option turned off and a DLL that was built in LabVIEW 2020 with the option turned on. On your machine, you have the LabVIEW 2020 RTE (Run-Time Engine) and the LabVIEW 2024 RTE installed.  When the EXE loads, it uses the 2020 RTE. The EXE then calls the DLL that will try to use the 2024 RTE. If reference data types are passed between the EXE and DLL, this may cause a DAbort and the application will close. 

Solution

Make sure all build outputs (EXE, DLL, PPL) that pass reference data types between each other use the same setting for "Allow future versions of LabVIEW Runtime to run this application."