TestStand directly loads and runs the DLLs you specify on the C/C++ DLL Module tab for the C/C++ DLL Adapter or the LabWindows/CVI Module tab for the LabWindows/CVI Adapter. Because code modules most likely call subsidiary DLLs, such as instrument drivers, you must ensure that the operating system can find and load any DLL you specify.

The adapter attempts to load subordinate DLLs using the following search directory precedence:

  1. The directory that contains the DLL the adapter calls directly
  2. The Windows\System32 and Windows\System directories
  3. The Windows directory
  4. The current working directory of the application
  5. The directories listed in the PATH environment variable

For compatibility purposes, when the adapter fails to load a DLL, the adapter temporarily sets the current working directory to the directory of the DLL and attempts to load subordinate DLLs using the following deprecated search directory precedence:

  1. The directory that contains the application that loaded the adapter
  2. The Windows\System32 and Windows\System directories
  3. The Windows directory
  4. The current working directory of the application, which the adapter sets to the directory that contains the DLL it calls directly
  5. The directories listed in the PATH environment variable
Note NI does not recommend placing subordinate DLLs in the directory that contains the application that loaded the adapter because TestStand might not support loading DLLs from this location in future versions.

Use the TestStand Deployment Utility to deploy code modules and subsidiary DLLs for use with TestStand.