Deploying a LabVIEW Real-Time Startup Executable without the LabVIEW Development Environment

Updated Jan 18, 2019

Reported In


  • CompactRIO Chassis


  • LabVIEW Real-Time Module
  • LabVIEW FPGA Module


  • NI-RIO
  • NI CompactRIO

Issue Details

I have a built a LabVIEW real-time executable that I need to deploy to a real-time target, but I do not have access to the LabVIEW Development Environment. Is this possible?


If you have a LabVIEW executable file and do not have the LabVIEW Development Environment, you can still deploy your startup executable to PharLap, VxWorks, and Linux targets through one of the available solutions below.
  • Using identical hardware. It is possible to deploy the executable on a duplicate image via the Replication and Deployment (RAD) Utility. Instructions for how to install and use RAD are included in the previous link.
  • If the executable has been compiled for the correct target. You can FTP the file onto your real-time controller:
    1. Place the executable in the c:\ni-rt\startup\ directory.
    2. Set the following two settings in the NI-RT.ini file or lvrt.conf file on the target:

where startup.rtexe is the name of your executable file. 


Additional Information

While this method works, the recommended method for deploying a LabVIEW Real-Time startup executable is to do so through the LabVIEW Project.

As well, the NI-RT.ini file is located in the root directory of the target, at c:\ni-rt.ini for PharLap/VxWorks targets. For Linux targets, you will need to use the lvrt.conf file. The file path for the location of the lvrt.conf file is etc/natinst/share/lvrt.conf on Linux targets.

The reason you have to modify the settings is that when you deploy the executable to the real-time controller using the LabVIEW Project Explorer, LabVIEW sets the two flags automatically. Therefore, if you are transferring the start-up executable to the controller via FTP, then you need to set these two flags manually. 

You may also deploy a startup executable by obtaining an image of a device with a running executable and then deploying that image to a new system. If you need to deploy to a Linux Real-Time target outside of the LabVIEW Development environment, this is the recommended method.


Not Helpful