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

Updated Jul 26, 2022



  • CompactRIO Chassis


  • LabVIEW Real-Time Module

The recommended method for deploying a LabVIEW Real-Time startup executable is to do so through the LabVIEW Project. If you know the real-time executable will need to be deployed outside the LabVIEW development environment, you can create a component definition file (.cdf) by following Building and Deploying a Stand-Alone Real-Time Application.

If you have a LabVIEW executable file, but do not have the LabVIEW Development Environment nor the Real-Time and FPGA modules, you can still deploy your startup executable to Phar Lap, VxWorks, and NI Linux RT 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. If you need to deploy to a Linux Real-Time target outside the LabVIEW Development environment, this is the recommended method. 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/SFTP the files onto your real-time controller:
  1. Place the executable in the directory: 
    • c:\ni-rt\startup\ for VxWorks/Phar Lap targets.
    • /home/lvuser/natinst/bin for NI-Linux RT targets.
  2. Set the following two settings in the NI-RT.ini file or lvrt.conf file on the target.
    • 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, which is located in /etc/natinst/share/lvrt.conf.
RTTarget.ApplicationPath=c:\ni-rt\startup\startup.rtexe or  /home/lvuser/natinst/bin/startup.rtexe
where startup.rtexe is the name of your executable file. 

The reason you have to modify the NI-RT.ini or lvrt.conf file 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/SFTP, then you need to set these two flags manually.