LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Distributing an Application that calls Visual Studio built DLLs

I have a LabVIEW application that calls a Visual Studio 2005 built DLL, that then calls functions from another Visual Studio built DLL. When trying to distribute this application it will execute perfectly well on all machines with Visual Studio installed, but on any machine that doesn't have Visual Studio installed, despite installing the Visual Studio Redistributable Package on the machine, I get the error message on attempting to run the application:-

"Missing External Function 4575Interface.dll:(name of function):C in (sub VI that uses function).vi" for the 10+ VIs that use functions called from that dll.

Any suggestions?

0 Kudos
Message 1 of 3
(2,747 Views)

Hi,

 

You will need to manually add all of the DLLs you are calling into your LabVIEW project. Check in the folder "Dependencies" in your Project Explorer what external DLLs the VIs are using, then drag and drop those DLLs into your project. LabVIEW will not automatically include these external DLLs when you specify a build specification unless you explicitly tell it to do so. When you distribute the application using an executable, always explicitly select those DLLs as "Always Included". Finally, register these DLLs on the target machine by using Windows command: regsvr32.exe. I would recommend you to write a Windows batch file *.bat to ease the deployment process. 

 

Another point to note is, the DLLs you will find in the folder "Dependencies" are the DLLs LabVIEW automatically recognized through what you are calling in your program. However if any of these DLLs is linking some other DLLs, LabVIEW will not be able to detect them on the build, so you will need to add the DLLs into your project manually for distribution.

 

Hope this helps,

Best regards,

Mark M.
Applications Engineer
National Instruments UK & Ireland
0 Kudos
Message 2 of 3
(2,716 Views)

The easiest way to include all the DLLs that Visual Studio applications call seemed to be to add the "Microsoft Visual Studio 2005 Redistributable Package" installer to the project, and set this executable to run after installation of my project, to add all the DLL dependencies into the required locations.

 

Thanks for your help anyway.

0 Kudos
Message 3 of 3
(2,713 Views)