Jump to content

Can No Longer Dynamically Launch a VI Within an Executable Using VI Server


Recommended Posts

you have to wire the "application reference" input of the "open VI reference" VI with the correct application reference.

That topic was discussed here

cheers,

CB

I tried that just by wiring the output of "Open Application Instance" without anything wired into that function, but this didn't help.

Also, NI replied with this being the issue:

as of LabVIEW 8.20, VIs in an executable can no longer

be programmatically controlled from outside of the executable. In

addition, developers can no longer build LabVIEW executables and use

them as VI libraries. This means that you can no longer rename an

exe to a .llb and gain access to the VI. The reason why this

behavior changed wasn't for this security issue, but for

compatibility with the upcoming Windows Vista.

Meaning that they changed how one can access VI's from inside .exe's.

Are they mixed up? Do I just need to give it a different application reference?

If what they said is true, any opinion on the best way for me to call VI's from an executable on a run-time system? (I deploy to machines that don't have the LabVIEW development system installed). Do I need to place a .llb instead of the .exe on the machine, and call the VI that's inside the .llb with VI server? Or is there a better way to achieve this? The goal is to have a core executable that never has to change that calls VI's dynamically. That way you can deploy new VI's on a run-time system without have to rebuild the entire application.

Thanks!! Jason

Link to comment
I tried that just by wiring the output of "Open Application Instance" without anything wired into that function, but this didn't help.

Also, NI replied with this being the issue:

as of LabVIEW 8.20, VIs in an executable can no longer

be programmatically controlled from outside of the executable. In

addition, developers can no longer build LabVIEW executables and use

them as VI libraries. This means that you can no longer rename an

exe to a .llb and gain access to the VI. The reason why this

behavior changed wasn't for this security issue, but for

compatibility with the upcoming Windows Vista.

Meaning that they changed how one can access VI's from inside .exe's.

Are they mixed up? Do I just need to give it a different application reference?

If what they said is true, any opinion on the best way for me to call VI's from an executable on a run-time system? (I deploy to machines that don't have the LabVIEW development system installed). Do I need to place a .llb instead of the .exe on the machine, and call the VI that's inside the .llb with VI server? Or is there a better way to achieve this? The goal is to have a core executable that never has to change that calls VI's dynamically. That way you can deploy new VI's on a run-time system without have to rebuild the entire application.

Thanks!! Jason

The way you used them, executables were no different than LLBs so continue to deploy with LLBs instead of EXEs.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.