02-06-2019 12:45 PM
I have a project that uses the Actor Framework. It runs fine in LabVIEW dev, but if I build to an EXE, the launcher immediately throws error 1003: SubVI (Actor Framework.lvlib:Actor.lvclass:Actor.vi) is not executable. I'm relatively inexperienced with the guts of the AF, and the nuances of Application Builder.
I tried these things, but they didn't resolve my issue.
Through remote debugging (which I just learned about today), I opened up Actor Framework.lvlib:Actor.lvclass:Actor.vi inside the EXE. LabVIEW Runtime is right: this VI is broken in the build. Most of the SubVIs it calls (listed below) are greyed out and the error window shows Bad Linkage to SubVI. I can open each of them without issue, so I believe they're included in the EXE package.
My application does not use "Open Actor Core Front Panel?" anywhere, which I only mention because this seems to be a common cause for similar errors.
I have another project that uses the Actor Framework. It can build and run as an EXE just fine. I've confirmed all settings in the Build Specification are the same for both projects.
I've spent a few hours on this already, and I'm stumped. Any suggestions for debug?
Solved! Go to Solution.
02-06-2019 03:53 PM
Have you tried clearing the compiled object cache and building again? Sometimes that fixes issues.
02-07-2019 11:00 AM
I dug through the EXE some more and found statically linked VIs that the Application Builder didn't identify as dependencies, so they never got included in the EXE. Thus my child Actors were broken, which I think either confused the Application Builder, or the Runtime Environment. Either way, the Actor Framework parent Actor loaded as broken in the EXE.
The fix was setting "Always include" for essentially everything in my project (disk & memory usage be damned!). I ended up not needing to include Actor Framework.lvlib, or AF Debug.lvlib, or enabling Debugging. The vanilla Build Spec worked once I explicitly included all my VIs.