08-23-2017 09:16 AM
No, the default folder to include libraries like that is in the "<exe folder>\data" , but you can change that in the executable build specifications. Also, for the vision functions (IMAQ and IMAQdx) you are required to have a vision acquisition software license on each computer you deploy to, which is ~$430 last time I checked. So if your camera is not working, it could be that you didn't activate a vision license.
08-25-2017 10:00 AM
As greg said you don't need to worry about where the DLL is in a built EXE. The compiler will in most cases detect that there is a dependency and include it automatically in the support folder with the EXE. If you are having issues with getting your application to work I'd suggest looking at the basic error handling (which may state a licensing issue) or even just open the camera in MAX and see if you can communicate with it if it uses the normal IMAQ drivers.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
08-28-2017 04:25 AM
Okay, Thanks Hooovahh and Gregoryj. I'll work on this and once completed I'll mark this post solution.
I also have another question, for example, if A.dll has a dependency in B.dll and the project has only A.dll under dependency tree? How shall this be taken care?
Thanks
08-28-2017 04:34 AM - edited 08-28-2017 04:44 AM
@gnshmrthy wrote:
Okay, Thanks Hooovahh and Gregoryj. I'll work on this and once completed I'll mark this post solution.
I also have another question, for example, if A.dll has a dependency in B.dll and the project has only A.dll under dependency tree? How shall this be taken care?
Thanks
By getting rid of text programming weenies.
Seriously though,. If a.dll has deeper dependant .dlls they should be in your project dependencies for each target. There is a reason why each build spec has a preview!
And, of course, you list those external dependencies in your readme file! Right?
08-28-2017 05:02 AM
@gnshmrthy wrote:
Okay, Thanks Hooovahh and Gregoryj. I'll work on this and once completed I'll mark this post solution.
I also have another question, for example, if A.dll has a dependency in B.dll and the project has only A.dll under dependency tree? How shall this be taken care?
Thanks
Basically the original developer of that A.dll should have created an installer that installs all the necessary secondary dependencies on a system. And you are then supposed to run that installer.
The developer is the person who knows best what his component all needs on different versions of the OS and how to install them best and create the correct registry settings for it to work. If there is no such installer he was lazy .
If you really know to absolutely know what you are doing and can figure out all the possible secondary dependencies, and those dependencies don't require registry settings to be added to the system, and .., and .., then you can add these secondary DLL dependencies to your application installer yourself and make sure they get into the same directory that your executable ends up. This is one of the first directories that Windows checks when a DLL requires another DLL to be loaded. Windows doesn't know about a data folder inside your application folder and LabVIEW doesn't know about secondary dependencies of DLLs, only the direct dependencies that your Call Library Nodes specify.
08-28-2017 12:06 PM
@rolfk wrote:
@gnshmrthy wrote:
Okay, Thanks Hooovahh and Gregoryj. I'll work on this and once completed I'll mark this post solution.
I also have another question, for example, if A.dll has a dependency in B.dll and the project has only A.dll under dependency tree? How shall this be taken care?
Thanks
Basically the original developer of that A.dll should have created an installer that installs all the necessary secondary dependencies on a system. And you are then supposed to run that installer.
The developer is the person who knows best what his component all needs on different versions of the OS and how to install them best and create the correct registry settings for it to work. If there is no such installer he was lazy
.
I'll take that as a second for the motion to get rid of the text weenie
08-29-2017 06:00 AM
Thanks Jeff and Rolf...