After Importing a DLL to LabVIEW the Generated VI Is Not Executable

Updated Aug 31, 2023

Reported In

Software

  • LabVIEW 2015

Other

Windows 10

Issue Details

When I try to import a dll in LabVIEW with the Import Shared Library Wizard, the generated VIs are not executable. The Import Shared Library Report has the following message:

Your generated files are installed in the following folder:
C:\Folder


Parsing header file warnings:
No errors/warnings occurred when parsing the header file.


The following errors/warnings occurred when generating the wrapper VIs for this shared library. 

VI Not Executable
The VI is not executable because of one of the following reasons:
  1. The shared library or a dependent file is not installed. To make the VI executable, you must install the shared library and all support files on the computer on which you run the VI.
  2. A required custom control might be empty or cannot be found. To make the VI executable, update the custom control manually.
  3. The VI contains a parameter with an unsupported data type. To make the VI executable, you must replace the empty cluster that the wizard generates with a control or indicator that uses supported data types.

When I checked the dependencies of the dll, I found that there are missing components (dlls): API-MS-WIN-CORE 

Solution

That error code notifies the user that LabVIEW couldn't load the DLL. This could be because it doesn't exist but also because for other reasons, such as missing dependencies.

Contact the developer of the dll to resolve the issue.

Additional Information

The DLLs are Windows's implementation detail and are subject to change at anytime. Microsoft started moving APIs starting from Windows 8. For example, APIs in Windows 8's api-ms-win-core-file-l1-2-0.dll got moved to api-ms-win-core-file-l1-2-1.dll in Windows 8.1. Old software still work because the dlls they are linked to are now just placeholders redirecting calls to the actual implementation. But nobody should link to the implementations directly, as that would be defeating the purpose of having such a redirection. Any software that report those dlls are missing are failing to accommodate the redirection.

​Don't try to obtain these dlls. The only supported way to get those DLLs is to do a major Windows upgrade (e.g. from Windows 7 to Windows 10). Distributing those files is against Windows end user agreement, and those files you get from a higher version of Windows won't work if your Windows version is too low.