LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Executable won't automatically load one dependency

Solved!
Go to solution

Hi, I made a simple executable "Linear Sweep.exe" from the Build Sweep by modifying some code from the Keithley 24XX.lvproj. The main vi is Keithley 24XX Sweep and Acquire Measurements with Export.vi.

 

The executable works, but it always asks the user to load the Write Delimited Spreadsheet (string).vi that's in the vi.lib dependencies. I cannot figure out why it won't assign and look for this vi in the supporting directory. 

 

I have attached the zip file of the build folder (Sweep.zip) and a zip file (Keithley 24XX.zip) that contains the parent LabVIEW project (Keithley 24XX.lvproj). I have also attached a snapshot of the vi that fails to load each time and where LabVIEW is searching for the vi. I cannot figure out why it's searching there, as the "loading" folder is the correct one. 

 

Any help is appreciated. Thanks!

0 Kudos
Message 1 of 12
(1,877 Views)

 

A bunch of VIs are missing; including your main VI.

"If you weren't supposed to push it, it wouldn't be a button."
0 Kudos
Message 2 of 12
(1,849 Views)

paul_cardinale,

 

I just downloaded the Keithley 24XX.zip on a different computer and it's still showing all the files are there? The main vi is stored in the examples folder. 

 

Can you send a screenshot of the expanded Keithley 24XX folder and subfolders if it is still not there?

0 Kudos
Message 3 of 12
(1,836 Views)

Here's what I get:

mf.png

"If you weren't supposed to push it, it wouldn't be a button."
0 Kudos
Message 4 of 12
(1,805 Views)

Ah, I'm sorry. Hopefully this works? I built the zip file in the build specifications and included the entire project this time. (I think maybe it was keeping the file paths from my computer the first time around because I never zipped a whole project and didn't realize their was a build specifications option 😐)

Download All
0 Kudos
Message 5 of 12
(1,797 Views)

Now I get this:

mf2.png

"If you weren't supposed to push it, it wouldn't be a button."
0 Kudos
Message 6 of 12
(1,790 Views)

Hi Paul,

 

I could be wrong, but I'm fairly certain all of the files are there. I asked my colleague to download the zip to his computer and he can see the files, but he doesn't have a LabVIEW license. The file sizes are the same as the originals though.

It looks like you are just trying to open the project and it's looking for the files at the path that I originally stored them. Other than an installer, I don't know how to fix that problem. The installer exe is too large to upload.

Have you tried just opening the vi's by extracting the zip folder and then opening them individually? It looks like that should work.  

0 Kudos
Message 7 of 12
(1,600 Views)

I've noticed that LabVIEW project-style drivers from third party vendors never seem to open up correctly unless in the instr.lib folder corresponding to the version of LV you are using.  I don't know why.  I never explored why because I always just put them where they want to be.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 8 of 12
(1,585 Views)
Solution
Accepted by topic author krogue

By placing the project in <instrlib> I was able to get the project* to see all the files; and also reproduce the problem.

I looks like 'Write Delimited Spreadsheet (string).vi' is the only direct dependency outside the project.

I got the build to work OK by setting the destination to a folder outside <instrlib>,

 

 

* Normally, the paths inside a .lvproj or ,lvlib file are relative to that file.  But if a file is in <instrlib>, then it's path in the file is relative to <instrlib>.

"If you weren't supposed to push it, it wouldn't be a button."
Message 9 of 12
(1,517 Views)

vi.lib and instr.lib are development system paths, the run-time engine doesn't typically know where these actually are. (It can't resolve the <instr.lib> segment)

 

In this situation I've typically built my exe so that it pulls those VIs into the executable or build the driver into a PPL that follows the EXE or is put into a known path that would be the same on all systems.

0 Kudos
Message 10 of 12
(1,505 Views)