LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Application can't find LV library VIs

Hello All,
 
I am building an application that I would like to work on any computer (LV installed or not).  My application dynamically calls plugins and any LV library VIs that are used in the plugins but not in the main app do not seem to be "included" with the built application.  As an example, here are some of the files it can't locate:
 
<vilib>:\utility\miscctls.llb\LVRowAndColumnTypeDef.ctl
<vilib>:\utility\config.llb\CloseConfigData.vi
<vilib>:\utility\config.llb\ReadKey(String).vi
 
I would like to know how to "tell" the application where to find these files.  This application will be distributed with an installer including the runtime library (8.5), and I'm assuming that these files will be included in the RTE.  Please let me know if you need additional information.
 
Thanks!
Jorge
 
0 Kudos
Message 1 of 3
(2,956 Views)
Dynamic VIs would need to be added to the project in order to be included in the exe. VIs are NOT part of the RTE. If you want to distribute the dynamic VI separately, you would need to package them as a lvllib or llb and provide the path to these external files.
0 Kudos
Message 2 of 3
(2,935 Views)

These files are not include in the runtime engine.

The builder will only include those VIs into the .exe which are part of th VI Hirarchy. Other VIs will not be included.

You must deploy the missing VIs as support VIs together with missing runtime DLLs. In your target the files will be located in the following folders:

Missing DLLs in your target folder. You will have missing DLLs in the case your main application will not include e. g. the VI "Read PNG File.vi" but one of your plugins will. Then you need the lvpng.dll too.

Missing vi/user/instr/.lib files in a subfolder vi/user/instr.lib. These folders are the default search paths. Just create the same structure as in your development environment.

Create a VI which will do the following steps:

1: Load all toplevel and dynamic VIs.

2: use App.AllVIsInMemory and open each VI to get its path

3: Strip the VI names from the paths and sort the paths

4: Eliminate all duplicate paths

Now you have a list of all folders and LLBs which you must add to your deployment.

 

Waldemar

Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
Don't forget to give Kudos to good answers and/or questions
0 Kudos
Message 3 of 3
(2,933 Views)