From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
05-02-2018 09:07 AM
I have created a packed project library for deployment to a customer, built in LV 2015 (version 15.0f2). My build machine shows that runtime 2015 SP1 f10 is installed. My customer is running LV 2016 but also has the same 2015 runtime installed. My understanding was that this should enable them to use the PPL. However, when they try to add one of the public VIs from the PPL to the block diagram of a new VI, they receive the message "You cannot open a packed library saved in a version earlier than the current version of LabVIEW".
Does this mean my understanding is wrong, or have I not built against the runtime I think I have? Is it possible to query a PPL and find which runtime it expects?
Thanks,
Andy
Solved! Go to Solution.
05-02-2018 09:59 AM
When you are running LabVIEW 2016, the 2015 RTE will not be used. Put another way, the caller has to be in a compatible version of LabVIEW as the VI being called. I recommend you just recompile your PPL in 2016.
I have not tried it yet, but this issue should be reduced in LabVIEW 2017 with a new build option to allow to run in newer runtime engines.
05-02-2018 10:05 AM
Thanks for the reply, crossrulz.
Yes, that makes sense. I suppose the 2015 RTE allows executables compiled in LV2015 to be used on that machine, but when LV2016 is actually running that's what gets used.
I think I can use a regular library with password protection but I'll have to look at ways of preventing the customer from seeing the diagrams of anything.
05-02-2018 10:07 AM
@crossrulz wrote:
When you are running LabVIEW 2016, the 2015 RTE will not be used. Put another way, the caller has to be in a compatible version of LabVIEW as the VI being called. I recommend you just recompile your PPL in 2016.
I have not tried it yet, but this issue should be reduced in LabVIEW 2017 with a new build option to allow to run in newer runtime engines.
Exactly! the 2016 development environment cannot load the "Single compiled file" known to you as "MyPPL"
With 2017 and later..... you CAN select a PPL build option to allow future versions of the Run Time Engine to load "MyPPL" crossrulz hasn't tried it- I haven't tried it...... Well, unless you are on a BETA post 2017 LabVIEW version... Well, lets just say, "Nobody has tried it with a released LabVIEW version"
05-02-2018 10:10 AM
@PsyenceFact wrote:
Thanks for the reply, crossrulz.
Yes, that makes sense. I suppose the 2015 RTE allows executables compiled in LV2015 to be used on that machine, but when LV2016 is actually running that's what gets used.
I think I can use a regular library with password protection but I'll have to look at ways of preventing the customer from seeing the diagrams of anything.
Just "Upcharge" for the "Delivered Source" And save us here from tring to solve the bug you wrote (Yeah, I don't write bugs either)
05-03-2018 04:17 AM
@JÞBJust "Upcharge" for the "Delivered Source" And save us here from tring to solve the bug you wrote (Yeah, I don't write bugs either)
So far the project requirements have followed the path of "Build us a DLL! No, scrub that, a packed library! Oh no, hang on, a regular library with some sort of protection! What do you mean the customer gets the source code?" Fortunately I'm charging by the hour.
I need to look at ways of making the maintaining of password-protected libraries containing password-protected VIs a more hassle-free activity.