Can I Copy LabVIEW Code Module VIs into My TestStand Deployment System?

Updated Jan 22, 2020

Reported In


  • TestStand
  • LabVIEW Full
  • LabVIEW Base
  • LabVIEW Professional

Issue Details

I have created and deployed a TestStand Deployment that contains LabVIEW Code Module VIs. Now I have modified one of the VIs on my development computer and want to update my deployment computer. Can I simply copy the LabVIEW VI from the development computer and overwrite the old VI on the deployment system? 


No, you should not attempt to update the modified VIs by simply copying them into the deployment system. Creating a TestStand deployment that contains LabVIEW code modules does more than simply package everything into an installer or image. The recommended method for updating these files consists on building a patch or rebuilding the TestStand Deployment.

Additional Information

When you create a TestStand deployment that contains LabVIEW VIs, the TestStand Deployment Utility uses the LabVIEW Application Builder API to create a LabVIEW Source Distribution .

First, the TestStand Deployment Utility parses through every Sequence File in your Workspace (and recursively parses through every Sequence in the Sequence File) to locate all the VIs that are called as code modules. These VIs are then automatically added to the deployment’s Source Files. (You can see the code modules that your sequences call in the Distributed Files tab of the Deployment Utility).

When you actually build the deployment, the TestStand Deployment Utility uses the LabVIEW Application Builder API to build a Source Distribution for these VIs. This means that the Deployment Utility parses through all of the LabVIEW code modules looking for any dependencies that it can find, whether they are subVIs that you created or DLLs called through a Call Library Function Node. It includes these dependencies as part of the deployment as well, and by default places all the subVIs in a folder called SupportVIs.

More importantly, this process rewires your code modules to point to the VIs that are now in the SupportVIs folder. This is crucial because the Deployment System typically does not contain the LabVIEW Development System, therefore you cannot make these reconnections manually on the Deployment System.

Keep in mind that the TestStand Deployment Utility and the LabVIEW Application Builder cannot find certain dependencies such as dynamically called VIs, dynamically called DLLs and LabVIEW Shared Variables automatically. These must be included manually as part of your deployment.

Refer to the section titled Processing VIs of the Deploying TestStand Systems chapter of the NI TestStand Reference Manual  for more details.