10-09-2013 12:47 PM
Hi,
I have a problem with the application builder LV 2009. I set a dynamically called VI to always included and I create the executable.
1. The executable runs on my labtop with LV 2009 installed, where it was programmed.
2. It also runs on another PC with the LV 2009 run-time engine.
3. On a third PC also with the LV 2009 run-time engine it crashes because it does not find the dynamically called VI.
All OS are WIN XP prof.
Any explanation?
thanks,
sylvester
10-09-2013 12:59 PM
Hi Sylvester,
Are you calling the dynamic VI by path or by name? If the subVI is included in the executable, you may need to change the path as per this KnowledgeBase:
Why Does My Executable Not Work When Using the Current VI's Path Constant?
http://digital.ni.com/public.nsf/websearch/FD7DE8BC8FFC256C862565F4006BE363?OpenDocument
As for why it works on one PC but not the other, is it possible that the VI in question is also present (external to the exe) on the first non-development PC?
Regards,
10-09-2013 01:30 PM
I know about the path issue, but I can put the executable on a USB stick. If I run it from the stick, it runs on the PC with LV 2009, on another another one with 2009 run-time engine, but not on a third PC with the same 2009 run-time engine. On the third PC, I re-installed the run-time engine, but still error 1003.
My intension is to create an installer with the run-time engine and the executable so customers can install the program on their own PCs. So it is essential, that it works on any PC with WIN XP, 7, and 8.
10-09-2013 01:51 PM
Hi Sylvester,
Error 1003 (VI is not executable) is a slightly different situation than the dynamically-called VI not being located (Error 1004 or Error 7). This means that the subVI has been found but is broken. What dependencies does this subVI have? What does it do? Are there any drivers or additional toolkits required for it to operate? Does it call any other subVIs that would not be included in the default runtime installation?
Regards,
10-09-2013 02:02 PM
Thanks, I found it!
In the end, the only logical explanation: a dll required by the dynamically called VI was not installed on one computer, now it works.
Thanks for helping,
sylvester