LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview.EXE doesn't find Chroma 61500 DLL VIs

Solved!
Go to solution

I created a system that used the Chroma LabVIEW drivers and am now building a 2nd system, but I do not want to install full LabView and only the .exe and runtime engine is installed.   Chroma suggests placing the files in a specific file location, but those locations do not exist because of not loading the full version of LabView.

 

I am struggling figuring this one out and where to get everything loaded.  

 

I tried to create an installer and made sure the exe builds included dependencies, but that hasn't worked either.    I did direct the loading when opening the exe to find the .dll it was looking for, but it still appears to be missing the VIs needed.   Attached screen shot.

0 Kudos
Message 1 of 10
(1,002 Views)

The message indicates that you are missing the external function DLL.

Did you place the Chroma driver in the <LabVIEW>\instru.lib folder of your deployment machine?

Reference: LabVIEW Driver Installation Guide < Chroma (chromausa.com)

-------------------------------------------------------

Applications Engineer | TME Systems

https://tmesystems.net/

-------------------------------------------------------

https://github.com/ZhiYang-Ong
0 Kudos
Message 2 of 10
(976 Views)
Solution
Accepted by topic author ljark

This DLL needs to be placed in the same directory as executable (or in \data subfolder).

But the real problem is that this library depends from CVIRTE:

Screenshot 2024-04-11 21.25.13.png

so you should install LabWindows/CVI Run-Time on the target computer, or bundle it to the installer.

Message 3 of 10
(973 Views)

You say labview.exe but talk about a build application. You should place the according DLL (and all its possible dependencies) in the same directory as your "labview.exe" (which I guess is called something else in your case, at least it would be advisable to not call it labview.exe).

 

And the program looks for Chr61XXX_*.* which is actually a wildcard name and is translated effectively into Chr61XXX_32.dll for a 32-bit application and Chr61XXX_64.dll for a 64-bit application. So your DLL should have the according name.

 

The data subfolder will only work if the application was build with the DLL in that folder and is likely already in there in that case. But a DLL is only loadable if all its dependencies are also fullfilled and as Andrey showed you it depends on the CVIRTE. LabWindows/CVI is to complex to copy all necessary DLLs into your application directory. Instead you need to install it on the computer too. The only problem might be that it may have to be a specific LabWindows/CVI runtime version.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 4 of 10
(968 Views)

Yes it is loaded and working correctly on the development system.   

0 Kudos
Message 5 of 10
(958 Views)

@rolfk wrote:

...LabWindows/CVI is to complex to copy all necessary DLLs into your application directory. Instead you need to install it on the computer too. The only problem might be that it may have to be a specific LabWindows/CVI runtime version.


Usually CVI Run-Time is backward compatible, so the DLL built with older CVI is usually fine with higher version of Run-Time. But for very old CVIs this may be not true. I would like to recommend to start with latest available, and only if this doesn't work try older versions.

0 Kudos
Message 6 of 10
(955 Views)

Thanks for the suggestion,  I will give it a try and load LabWindows/CVI.    Sorry, yes I was being generic defining the .exe.   

0 Kudos
Message 7 of 10
(954 Views)

Looks like the LabWindows/CVSI run-time solved the issue.  Thanks for the suggestion!!

0 Kudos
Message 8 of 10
(938 Views)

I have the same issue. With your suggestion I'm able to run the exe. But every time I run the application I have to select the dll. Could you help me?

0 Kudos
Message 9 of 10
(95 Views)

@fabio.int wrote:

I have the same issue. With your suggestion I'm able to run the exe. But every time I run the application I have to select the dll. Could you help me?


There are apparently secondary DLLs in the same directory than your main Chroma DLL. Windows only searches in very specific directories for dependencies. One of them is the so called current directory. This is maintained per process in Windows and changed by Windows to whatever directory the file dialog was in when selecting a file (or directory).

Instead you should place all the DLLs in well known directories. For Windows that are the current process directory (where your exe file is, which for the LabVIEW IDE is LabVIEW.exe and not a good directory to clutter with all kinds of DLLs. Then there are the System directory, Windows directory, current directory (this can change anytime you or your user selects a file with the file dialog), and any directory listed in the PATH environment variable. LabVIEW adds since quite some time also the directory in which your *.lvproj file is located when in the IDE.

For a build executable you want to place all the private dlls in the same directory than your <mybuilt>.exe file, for LabVIEW IDE you should put them in the same directory than your *.lvproj file. Even better is to use a real installer if it is available for your DLLs. It will usually place its DLLs into the Windows System directory.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 10 of 10
(47 Views)