08-15-2019 01:43 PM
Hello!
I'm a new user and created a LabVIEW program that would connect to an Ocean Optics spectrometer. However, I'm having issues creating a running executable. I was wondering if I am forgetting something, or creating it wrong? The issue is that the executable won't run at all, dropping the issue "The VI is not executable. The full development version of LabVIEW is required to fix the errors" repeated over and over again.
For some background, the idea is that it will sense an outside trigger, then triggering the spectrometer to take data given a specified number of frames and integration time. I'm using the .NETwrappers here through Omnidriver. After acquiring data, the program will save to an MDSplus local and remote tree.
So far this works perfectly when I run it in LabVIEW with a connected spectrometer. I then made an lvproj with the LabVIEW program, all it's subVIs, and the Omnidriver .dll libraries needed to run it. I created an executable and an installer with those. Then I installed it on the laptop and tried to run it. However, it popped up with a broken run arrow and the above error message but wouldn't give anything else.
I looked up the error message and attempted the steps provided, installing the updated .NET framework, unchecking Remove unused polymorphic VI instances and Disconnect unused inline subVIs under the Additional Exclusions section when building the executable., and mass compiling and then rebuiliding the executable and installer. Then reinstalling and executing the new executable.
This has not changed anything. Is there something I missed? Hopefully this is a detailed enough explanation of my issue.
Thanks in advance!
~Kat
08-21-2019 05:27 PM
Hi Kat,
It seems like the issue is occurring before the executable is being made. The broken run arrow needs to be fixed before the executable can be run. To check this, I suggest using debugging tools to determine the code errors in the development code. I have included a few links that outline debugging basics for your convenience.
Debugging Techniques in LabVIEW
http://www.ni.com/tutorial/14130/en/
Debugging Tools in LabVIEW
http://www.ni.com/getting-started/labview-basics/debug
How Can I Debug in LabVIEW EXE File in Local Host PC?
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000001DdLDSA0&l=en-US
Once all the errors are removed, the run arrow will turn white allowing the code to be run. At this point I would try re-building the executable and run it on your development computer. If it successfully runs on your development computer then move it to another PC to do further testing. If the executable does not run on another PC you may need to check the dependencies for the project, ensure they are included, and rebuild.
I also included some valuable resources on best practices for building an executable in LabVIEW below.
Distributing Applications with the LabVIEW Application Builder
http://www.ni.com/tutorial/3303/en/
Developing and Distributing an Application
http://zone.ni.com/reference/en-XX/help/371361R-01/lvhowto/develop_distribute_applications/
I hope this helps, and best of luck on your application!
Megan T.
Technical Support Engineer
National Instruments
08-21-2019 05:58 PM
Try putting the dll's in the same folder as the executable. It sounds like it's not able to access them.
08-21-2019 06:19 PM
@BertMcMahan wrote:
Try putting the dll's in the same folder as the executable. It sounds like it's not able to access them.
LabVIEW by default puts them in the data directory, so when I make EXEs I usually point the data directory to be the same as the EXE directory and then it builds fine by itself.
There's also a chance that you might need to create a "YourProgram.exe.config" file that enables either the version of .NET you need to use or enables loading from remote sources.