05-06-2009 02:56 PM
I'm am currently migrating my companies test scripts from TestStand 3.0 to TestStand 4.1.1 and VI's from LabVIEW 7.0 to LabVIEW 8.6. I have re-saved all of the sequence files to the new version as well as performed the 'Mass Compile' operation on all of our custom VI's. During the execution of one of the sequence files a call is made to a VI (through a LabVIEW library). If I run this sequence file on a machine with the development software and have the Adapter for LabVIEW set to use the development system the VI executes as expected. If I have the adapter set to use the Run-time engine (in this case 8.6, the same as the development version) I get an error:
"LabVIEW: The VI is not executable. Most likely the VI is broken or one of its subVIs cannot be located. Open the VI in LabVIEW using File>>Open and verify that it is runnable."
I noticed that in the library file there are sub VI's that are called from "C:\Program Files\National Instruments\LabVIEW 7.0\vi.lib" This directory only exists on machines that have the development system installed. Perhaps this is why the VI does not execute using the runtime engine
05-07-2009 05:01 AM
Hi,
It's not just your custom VI's that need to be mass compiled. It's all VIs, including those in the TestStand Folders, that need to be mass compiled to ensure all VIs are at the same version.
Regards
Ray Farmer
05-07-2009 08:24 AM - edited 05-07-2009 08:24 AM
Ray is right. Development environments are backwards compatible (you can run VIs compiled in LabVIEW 7.1 or 8.5 in LabVIEW 8.6). That's why you can run your sequence just fine on the development system, but on the target machines you are using the LabVIEW Run-Time engine, which is not backwards compatible. With the Run-Time engine, ALL VIs need to be in the same version as the Run-Time engine (including VIs in vi.lib, tools.lib, instr.lib, etc.).
The first thing I would check is make sure everything has been mass compiled to 8.6, including vi.lib. If you are still getting the error you should be able to tell at what point the error occurs so you can look at that specific VI. Open it and confirm there isn't a broken run arrow and check to see what subVIs that VI is using and confirm they all have been compiled in version 8.6 too.
This should get you going, but if not just let us know.