Moving Developed VIs, Executables, and Installers to a Different OS

Updated Dec 6, 2018

Reported In

Software

  • LabVIEW

Operating System

  • Linux
  • Windows
  • Mac OS X

Issue Details

  • I am considering porting my LabVIEW application that I developed on one operating system to another. Is this possible, and are there any special considerations I need to keep in mind? 
  • I have developed a VI on a Windows OS, and have built an executable. I would like to run the executable on a Mac OS or a Linux. Is this possible?
  • I have created a installer/executable in LabVIEW on a Windows computer and want to deploy it to a system with a different version of Windows. Is this possible?

Solution

Developed VIs

As long as the LabVIEW versions are the same (or newer in most cases), you can move VIs between versions of Windows, Mac OS X, and Linux. When you open the VI on the new platform, LabVIEW detects that the VI is from another platform and recompiles it to run correctly. 
 

However, if a VI contains platform-specific features,such as .NET or ActiveX, you cannot move it between platforms. Refer to the Porting VIs among Platforms topic in the LabVIEW Help for more information about the platform-specific features that prevent you from moving a VI between operating systems. This help topic also includes information about workarounds where they are available.
 

Executables and Installers

Executables (stand-alone applications) and installers are platform dependent. An executable must be built on the target operating system and cannot run on another OS or on another version of the same OS. A VI can be recompiled because the VI includes the source code. However, an executable includes pre-compiled code, and it cannot be converted.

Additional Information

Virtual Machines (VM)

Built applications can also run on virtual machines running the same operating system used to build the application. This option generally works for projects that do not involve hardware unless your virtual machine is specifically configured to interface with your hardware. Virtual Machines are also not officially supported by National Instruments.
 

Platform Dependent Features

Platform dependent features like ActiveX and dynamic link libraries (.dll files) will not transfer between platforms. Features such as Active X and DLLs are only available on the Windows platform. Apple Events are only available on the Macintosh platform. If VIs use platform dependent features, modification is required when they are transferred from one platform to another. If Code Interface Nodes (CINs) are used in the VI then it is necessary to recompile the CIN code when transferring between platforms.
 

Hardware Drivers

Not all hardware drivers are supported on all platforms. Therefore, National Instruments recommends that you make sure the required drivers for your hardware are supported in the operating system before you move your application to a different operating system.  For example, applications developed using DAQmx 9.8 are not compatible on Linux or OS X.  The application would need to be modified to use the DAQmx Base 3.7 driver. Additionally, it is important to consider that these two drivers do not support all of the same hardware, so moving an application from one operating system to another may require different hardware. You should always consult the README for the device driver to confirm its compatibility with devices and operating systems.

DLL vs SO

DLL files in Macintosh and Linux machines are referred to as Shared Object or .so files.

 

WAS THIS ARTICLE HELPFUL?

Not Helpful