Run Multiple Instances of a LabVIEW Executable Simultaneously

Updated May 28, 2019

Reported In

Software

  • LabVIEW

Issue Details

Applications that I build in LabVIEW are singletons, i.e., I can only have one instance open at a time. If I double-click the executable while an instance is already running, it simply opens up the already running executable.

Can I run multiple instances of a LabVIEW executable simultaneously?

Solution

Yes, it is possible to run multiple instances of a LabVIEW executable at the same time.  When a LabVIEW executable is run for the first time, it creates an ini file in the same directory and name as the executable itself. To do this you will need to add a line to the ini config file that is created after running a LabVIEW executable. By adding this line to the ini file, you can enable launching multiple instances of the corresponding executable. The line is:

allowmultipleinstances = TRUE

Here's how to add this line to the ini file:
  1. Build a LabVIEW executable
  2. Run the executable one time. Observe that an ini config file is created in the same directory as the executable
  3. Close the execution of the application and open the configuration ini file
  4. Add the following line to the ini file beneath the [<Application_Title>] line, where <Application_Title> is the name of your executable (i.e. <Application_Title>.exe): allowmultipleinstances = TRUE
  5. Save and close the ini file.
  6. You can now run multiple instances of this application simultaneously

Additional Information

You can automate the process of adding tokens to an ini file, by selecting a custom configuration file in the Build Specifications Properties box in your project. The option will be in the Advanced category. For more information, read Will LabVIEW Queues or Semaphores Work Between Executables?

Note: Some functions like Queues or Semaphores are only valid inside the process in which they were created. In the LabVIEW Development Environment, all VIs are running in the same process. When those VIs are built into an executable, each instance of the executable will run in its own process. 

WAS THIS ARTICLE HELPFUL?

Not Helpful