Error 1043 When Programmatically Saving VIs With a Built LabVIEW Executable

Updated Nov 3, 2020

Reported In

Software

  • LabVIEW
  • LabVIEW Runtime

Issue Details

When calling the "Save Instrument" invoke node from within a LabVIEW-built executable, I'm getting this message:
Error 1043 occurred at Invoke Node in [VI name].vi

Possible reasons(s): 

LabVIEW: (Hex 0x413) The property or method is not supported in this version of LabVIEW 



However, I do not get the same error when running the vi in LabVIEW.

Solution

The cause of this error is that the LabVIEW Runtime Engine, which is used to run executable files built using LabVIEW, does not support creating or modifying VIs.

While modifying VIs is not possible to do with the LabVIEW Runtime Engine alone, there is a work around available in the case that the application is intended to run on a computer with the LabVIEW Development System already installed. 

 

  1. Enable TCP / IP in the VI server settings and note the port that is being used. (LabVIEW > Tools > Options > VI Server)
  2. Open an application reference to an instance of LabVIEW on the local machine.
  3. Open a reference to the VI that wish to modify and save at runtime using the LabVIEW application reference created in step 3.
  4. Add code to modify and save the VI by reference.
  5. Don't forget to close the LabVIEW application reference and VI reference when they are no longer needed.

When finished, your code should look something like the following.

Additional Information

The workaround provided above is a method that allows the built LabVIEW application to utilize the LabVIEW Development System to do the work of saving the VI. The provided steps will only work on computers with the LabVIEW Development System already installed.