I have a scenario here where the main.vi is calling the sub functions in user.lib. When I create an executable there are no issues as it's included in the executable.
When I create an installer, I need the user.lib files to be in the same location. As I went through the forums easy way is to add the user.lib files into the project structure. By doing this I have dependencies issue. I have resolved this by changing the caller of the sub functions in main.vi.
While creating the installer, the files will be redirected to the user.lib folder. In this case with the main.vi looks for user.lib or the new location mapped in the main.vi.
Thanks in advance.
Solved! Go to Solution.
I don't understand your question.
Are you saying that you need all the files in user.lib to be included in your installer?
That just does not make sense. I have been creating installers for a long time and never needed anything from user.lib to build an installer
Let me make sure I understand. You want a way to take some code you have in your user.lib and install it so that it goes into the user.lib of other computers right? In that case you should really be using VIPM. With the free version you can create and install packages. A package can be a collection of files that get put into specific locations in your LabVIEW install. You can even edit a palette that gets created when you install the package. There are also dependencies so that a package can only be installed when another package is installed first. This helps with configuration management. You can also run VIs before and after a package gets installed or uninstalled. And did I mention you can install packages on a per LabVIEW install? So adding code to the 2016 user.lib but different (or same) code to 2017. With the professional version you can also create VIPCs which are collections of packages into a single file. With it you double click it, and it asks what version of LabVIEW all the packages should be installed for.
Sorry if I was not clear first time. Thanks for the update. I'll use the VIPM, as this is easy. Few of the old threads say to add the folder to the project folder and then while creating installer add the same to the LabVIEW User.lib. What's your comment on the same?
I have a question with VIPM package, since the application installer doesn't have LabVIEW development version installed, I couldn't import the created package?
Is there any work around for the same?
If your target machine doesn't have LabVIEW installed, why are you trying to put VIs from user.lib there?
When you say user.lib, do you mean you are using some extra NI drivers like 488.1 or DAQmx? If so, you select these support drivers as you are creating the installer, you don't manually install the VIs to the target computer.
Few of the old threads say to add the folder to the project folder and then while creating installer add the same to the LabVIEW User.lib. What's your comment on the same?
I don't know what you are saying, and I don't know what you are trying to do. Yes VIPM is for the development environment, so the development environment needs to be installed. Since you haven't said what you are trying to do we assumed you were talking about the development environment, since that is where user.lib and vi.lib are.
I'm confused too! Can you zip a simple project with the app and installer build spec settings you are trying to deploy?
Are you using user.lib as a library of sub functions you create and call runtime from your main.vi when it has been made into an exe? If so, why not move them into a lvlib "container" that gets included when you build the installer? Then you can define where in the installation it will be located.
Let me give a detailed information on my application,
My application uses the sensor to measure the bandwidth of the light and USB camera to verify the illumination of LEDs.
So the APIs of the sensor and its corresponding .dll are stored in user.lib as shown below,
My Initial Image Capture.vi is calling the library from user.lib and image capture functions IMAQdx and IMAQ functions as shown,
So when I build the executable I have included the .dll files (runtime) folder in always included.
When I select the installer the executable file will be looking for the .dll in the user.lib folder right?
I have also attached my project for better visibility...