NI .NET Deployment

Publish Date: Sep 26, 2017 | 2 Ratings | 4.00 out of 5 | Print | Submit your review

Overview

This tutorial helps you to deploy an application using the correct NI .NET assemblies. Review each step carefully to ensure successful deployment.

Table of Contents

  1. Determine the Files You Need to Copy
  2. Locate the Files You Need to Copy
  3. Locate Device Drivers
  4. Special Considerations for Publisher Policy Files
  5. Understand the Difference Between 32-bit and 64-bit File Versions

1. Determine the Files You Need to Copy

Use the following table to determine the necessary files to copy when deploying your NI Windows Forms or Web Forms .NET application. 

Note: FxXX refers to the version of the .NET Framework that the assembly targets (for example, Fx40 denotes an assembly that targets .NET Framework 4.0).

Note: If you copy the Intel Math Kernel Library (MKL) libraries or mesa.dll with your deployment application, you need to also copy their respective license agreements and/or notices. Refer to <National Instruments>\_Legal Information.txt for information on where to find the license agreements and/or notices to include for each third-party component.

NI .NET Assembly File Dependencies Unmanaged Binaries
NationalInstruments.Analysis.Enterprise NationalInstruments.Analysis.Enterprise.dll
NationalInstruments.Common.dll
NationalInstruments.NiLmClientDLL.dll
nianlys.dll 
All Math Kernel Library (MKL) DLLs  
NationalInstruments.Analysis.Professional NationalInstruments.Analysis.Professional.dll
NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
nianlys.dll  
All Math Kernel Library (MKL) DLLs  
NationalInstruments.Analysis.Standard NationalInstruments.Analysis.Standard.dll
NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
nianlys.dll 
All Math Kernel Library (MKL) DLLs  
NationalInstruments.Common NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
msvcr100.dll 
NationalInstruments.Controls NationalInstruments.Controls.dll
NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
msvcp100.dll 
msvcr100.dll 
msvcrt.dll 
NationalInstruments.Controls.Booleans NationalInstruments.Controls.Booleans.dll
NationalInstruments.Controls.dll
NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
msvcp100.dll 
msvcr100.dll 
msvcrt.dll 
NationalInstruments.Controls.Graphs NationalInstruments.Controls.Graphs.dll
NationalInstruments.Controls.dll
NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
SharpDX.D3DCompiler.dll
SharpDX.Direct3D9.dll
SharpDX.Direct3D10.dll
SharpDX.Direct3D11.dll
SharpDX.dll
SharpDX.DXGI.dll

msvcp100.dll
msvcr100.dll
msvcrt.dll


Note
: NationalInstruments.Controls.Graphs.dll has a dependency on DirectX 11.0 or later. In almost all cases, you should already have this installed on your Windows OS.  For more information, refer to How to install the latest version of DirectX.

NationalInstruments.Controls.Numerics NationalInstruments.Controls.Numerics.dll
NationalInstruments.Controls.dll
NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
msvcp100.dll 
msvcr100.dll 
msvcrt.dll 
NationalInstruments.DAQmx NationalInstruments.DAQmx.dll
NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll 

msvcr100.dll

 

NationalInstruments.DAQmx.ComponentModel NationalInstruments.Common.dll
NationalInstruments.DAQmx.dll
NationalInstruments.DAQmx.ComponentModel.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll

msvcr100.dll

 

NationalInstruments.ModularInstruments.NIDCPower.FxXX NationalInstruments.ModularInstruments.NIDCPower.FxXX.dll
Ivi.Driver.dll
Ivi.DCPwr.dll
NationalInstruments.ModularInstruments.Common.dll
NationalInstruments.Common.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.MStudioCLM.dll
 
NationalInstruments.ModularInstruments.NIDigital.FxXX NationalInstruments.ModularInstruments.NIDigital.FxXX.dll
Ivi.Driver.dll
NationalInstruments.ModularInstruments.Common.dll
NationalInstruments.Common.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.ModularInstruments.TClock.dll
 
NationalInstruments.ModularInstruments.NIDmm.FxXX NationalInstruments.ModularInstruments.NIDmm.FxXX.dll
Ivi.Driver.dll
Ivi.DMM.dll
NationalInstruments.ModularInstruments.Common.dll
NationalInstruments.Common.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.MStudioCLM.dll
 
NationalInstruments.ModularInstruments.NIFgen.FxXX NationalInstruments.ModularInstruments.NISwitch.FxXX.dll
Ivi.Driver.dll
Ivi.Fgen.dll
NationalInstruments.ModularInstruments.Common.dll
NationalInstruments.Common.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.MStudioCLM.dll
 
NationalInstruments.ModularInstruments.NIRfsa.FxXX NationalInstruments.ModularInstruments.NIRfsa.FxXX.dll
Ivi.Driver.dll
NationalInstruments.ModularInstruments.Common.dll
NationalInstruments.Common.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.MStudioCLM.dll
 
NationalInstruments.ModularInstruments.NIRfsg.FxXX NationalInstruments.ModularInstruments.NIRfsg.FxXX.dll
Ivi.Driver.dll
NationalInstruments.ModularInstruments.Common.dll
NationalInstruments.Common.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.MStudioCLM.dll
 
NationalInstruments.ModularInstruments.NIRfpm.FxXX

NationalInstruments.ModularInstruments.NIRfsa.FxXX.dll
NationalInstruments.ModularInstruments.NIRfsg.FxXX.dll

NationalInstruments.ModularInstruments.NIRfpmSwitch.FxXX.dll
Ivi.Driver.dll
NationalInstruments.ModularInstruments.Common.dll
NationalInstruments.Common.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.MStudioCLM.dll

 
NationalInstruments.ModularInstruments.NIScope.FxXX NationalInstruments.ModularInstruments.NIScope.FxXX.dll
Ivi.Driver.dll
Ivi.Scope.dll
NationalInstruments.ModularInstruments.Common.dll
NationalInstruments.Common.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.MStudioCLM.dll
 
NationalInstruments.ModularInstruments.NISwitch.FxXX NationalInstruments.ModularInstruments.NISwitch.FxXX.dll
Ivi.Driver.dll
Ivi.Swtch.dll
NationalInstruments.ModularInstruments.Common.dll
NationalInstruments.Common.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.MStudioCLM.dll
 
NationalInstruments.Net Note: DataSocket does not support deployment using file copying. You can deploy applications that include DataSocket by building an installer. Refer to Deploying Measurement Studio Applications for more information.  
NationalInstruments.NetworkVariable Note: NetworkVariable does not support deployment using file copying. Refer to Measurement Studio .NET Merge Modules and Deploying Measurement Studio Network Variable Applications for more information.  
NationalInstruments.NI4882 NationalInstruments.NI4882.dll
NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
 
NationalInstruments.Tdms NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.Tdms.dll
cvitdms.dll 
tdms.dll 

NationalInstruments.UI NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.UI.dll
NationalInstruments.UI.Styles3D.dll
mesa.dll 
msvcp100.dll 
msvcr100.dll 
msvcrt.dll 
NationalInstruments.UI.WebForms NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.UI.dll
NationalInstruments.UI.Styles3D.dll
NationalInstruments.UI.WebForms.dll
mesa.dll 
msvcp100.dll 
msvcr100.dll 
msvcrt.dll 
NationalInstruments.UI.WindowsForms NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.UI.dll
NationalInstruments.UI.Styles3D.dll
NationalInstruments.UI.WindowsForms.dll
mesa.dll 
msvcp100.dll 
msvcr100.dll 
msvcrt.dll 
NationalInstruments.VisaNS NationalInstruments.Common.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.VisaNS.dll
 

 

Back to Top

2. Locate the Files You Need to Copy

Use the following table to locate the necessary files to copy when deploying your application.

File Dependency Location
NationalInstruments.Analysis.Enterprise.dll

32-bit system:

  • 32-bit binaries: <Program Files>\National Instruments\MeasurementStudioVS20xx\DotNET\Assemblies\Current

64-bit system:

  • 32-bit binaries: <Program Files (x86)>\National Instruments\MeasurementStudioVS20xx\DotNET\Assemblies\Current
  • 64-bit binaries: <Program Files>\National Instruments\MeasurementStudioVS20xx\DotNET\Assemblies (64-bit)\Current
NationalInstruments.Analysis.Professional.dll
NationalInstruments.Analysis.Standard.dll
NationalInstruments.Common.dll
NationalInstruments.Controls.dll
NationalInstruments.Controls.Booleans.dll
NationalInstruments.Controls.Graphs.dll
NationalInstruments.Controls.Numerics.dll
NationalInstruments.DAQmx.dll
NationalInstruments.DAQmx.ComponentModel.dll
NationalInstruments.MStudioCLM.dll
NationalInstruments.NiLmClientDLL.dll
NationalInstruments.Tdms.dll
NationalInstruments.NI4882.dll
NationalInstruments.UI.dll
NationalInstruments.UI.Styles3D.dll
NationalInstruments.UI.WebForms.dll
NationalInstruments.UI.WindowsForms.dll
NationalInstruments.VisaNS.dll
NationalInstruments.ModularInstruments.NIDCPower.FxXX.dll
NationalInstruments.ModularInstruments.NIDigital.FxXX.dll
NationalInstruments.ModularInstruments.NIDmm.FxXX.dll
NationalInstruments.ModularInstruments.NIFgen.FxXX.dll
NationalInstruments.ModularInstruments.NIRfsa.FxXX.dll
NationalInstruments.ModularInstruments.NIRfsg.FxXX.dll
NationalInstruments.ModularInstruments.NIRfpm.FxXX.dll
NationalInstruments.ModularInstruments.NIScope.FxXX.dll
NationalInstruments.ModularInstruments.NISwitch.FxXX.dll
NationalInstruments.ModularInstruments.Common.dll
NationalInstruments.ModularInstruments.ModularInstrumentsSystem.dll
NationalInstruments.ModularInstruments.TClock.dll

32-bit system:

  • 32-bit binaries: <Program Files>\IVI Foundation\IVI\Microsoft.NET\Framework32

64-bit system:

  • 32-bit binaries:  <Program Files (x86)>\IVI Foundation\IVI\Microsoft.NET\Framework32
  • 64-bit binaries:  <Program Files>\IVI Foundation\IVI\Microsoft.NET\Framework64

Note: While the location is different, these assemblies are built with the target platform set to AnyCPU; therefore, there are no separate 32-bit and 64-bit file versions and no difference between the files in the 32-bit and 64-bit locations.

Ivi.Driver.dll
Ivi.DCPwr.dll
Ivi.Swtch.dll

32-bit system:

  • 32-bit binaries: <Program Files>\IVI Foundation\IVI\Microsoft.NET\Framework32\v2.0.50727

64-bit system:

  • 32-bit binaries:  <Program Files (x86)>\IVI Foundation\IVI\Microsoft.NET\Framework32\v2.0.50727
  • 64-bit binaries:  <Program Files>\IVI Foundation\IVI\Microsoft.NET\Framework64\v2.0.50727
tdms.dll

32-bit system:

  • 32-bit binary: <Program Files>\National Instruments\Shared\TDMS

64-bit system:

  • 32-bit binary:  <Program Files (x86)>\National Instruments\Shared\TDMS
  • 64-bit binary:  <Program Files>\National Instruments\Shared\TDMS
cvitdms.dll

32-bit binary:

  • %windir%\System32
  • %windir%\SysWOW64

64-bit binary:

  • %windir%\System32
mesa.dll

32-bit system:

  • 32-bit binary: <Program Files>\National Instruments\Shared\Mesa

64-bit system:

  • 32-bit binary:  <Program Files (x86)>\National Instruments\Shared\Mesa
  • 64-bit binary:  <Program Files>\National Instruments\Shared\Mesa


The mesa.dll is necessary only if 3D styles are used. If deploying a Web Forms application, place mesa.dll in the System32 directory on the target system.

You must install the Microsoft Visual C++ 2008 Redistributable Package on the target system when deploying projects that use 3D styles.

msvcp100.dll <Program Files>\Microsoft Visual Studio 10.0\VC\redist\x86\Microsoft.VC100.CRT

The msvcp100.dll is necessary only if you use 3D styles.
msvcr100.dll
msvcrt.dll System32 directory; necessary only if you use 3D styles.
All Math Kernel Library (MKL) DLLs

The Math Kernel Libraries (MKL) DLLs are located in the following  directories. Copy all MKL DLLs in the  MKL folder to your application’s directory in a flat file structure.

32-bit system:

  • 32-bit binary: <Program Files>\National Instruments\Shared\MKL

64-bit system:

  • 32-bit binary:  <Program Files (x86)>\National Instruments\Shared\MKL
  • 64-bit binary:  <Program Files>\National Instruments\Shared\MKL
nianlys.dll

32-bit system:

  • 32-bit binary: <Program Files>\National Instruments\Shared\Analysis

64-bit system:

  • 32-bit binary:  <Program Files (x86)>\National Instruments\Shared\Analysis
  • 64-bit binary:  <Program Files>\National Instruments\Shared\Analysis

 

SharpDX.D3DCompiler.dll
SharpDX.Direct3D9.dll
SharpDX.Direct3D10.dll
SharpDX.Direct3D11.dll
SharpDX.dll
SharpDX.DXGI.dll
The SharpDX DLLs are installed in the Global Assembly Cache (GAC), located here:
%windir%\Microsoft.NET\assembly

 

Back to Top

3. Locate Device Drivers

To deploy an application that includes a device driver API, you can file copy the dependent assemblies or include a device driver runtime.  Refer to National Instruments .NET Support for more information on NI .NET APIs.  Alternately, refer to NI Drivers and Updates on ni.com and enter Device Drivers into the search field to download the latest version of the NI Device Drivers.

 Note: If a separate runtime installer exists for the driver you are deploying, NI recommends you use the runtime, which ensures that you have all necessary assemblies and configuration files needed to deploy your application.

 

Back to Top

4. Special Considerations for Publisher Policy Files

Some NI .NET assemblies use publisher policy files to redirect applications to always use the most recent version of the assembly installed on the system. However, if you use file copying to deploy an application, you cannot also deploy the policy files associated with assemblies because they must be installed to the GAC using an .exe such as GACUTIL. As a result, you must deploy an application configuration file with the copied application and assemblies to replicate the policy file behavior and redirect the deployed application to use the deployed assemblies. If you do not deploy an application configuration file and you deploy assemblies that were built with older versions of deployed assemblies (such as NationalInstruments.Common.dll), the deployed application may crash at assembly load time. Refer to How to: Create a Publisher Policy File and  Redirecting Assembly Versions for more information on how to use policy files to specify which assembly version your application targets.

 

Back to Top

5. Understand the Difference Between 32-bit and 64-bit File Versions

  • If you build a 64-bit .NET application on a 32-bit operating system, you cannot perform a file copy deployment of the application because 64-bit unmanaged dependencies are not installed on 32-bit operating systems. This also applies to applications built on a 32-bit operating system for AnyCPU without the Prefer32Bit project option set to True. To successfully deploy a 64-bit application, only copy files installed on a 64-bit operating system.
  • For AnyCPU applications, you must ensure that you include 32-bit or 64-bit versions of files when deploying to a 32-bit operating system or a 64-bit operating system, respectively.
  • The NI-SCOPE .NET assemblies version 1.1.1 and earlier do not support file copy deployment for 64-bit applications. All other Modular Instrument assemblies support file copy deployment for 64-bit applications.
  • For .NET Framework 4.0,  NationalInstruments.DAQmx.dll and NationalInstruments.UI.Styles3D.dll assemblies are platform-specific, meaning that the installer includes 32-bit and 64-bit versions of assemblies that target the x86 and x64 platforms, respectively; however, all other NI .NET assemblies target the AnyCPU platform. If you are deploying a 32-bit application, deploy the 32-bit version of the assembly (location listed in Step 2) and if you are deploying a 64-bit application, the 64-bit version of the assembly (location listed in Step 2).

 

 

Back to Top

Bookmark & Share


Ratings

Rate this document

Answered Your Question?
Yes No

Submit