Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

How to distribute the program developed with DAQmx and Visual Basic 2010?

I'm now making a program on a conventional PC and move it to the target PC, which is used as a controller with NI USB DAQs.  The target PC has a small size of memory and hard disk, so that I cannot install the development environment to the target PC.
.
So far, I'm usign DAQmx 9.4 and Visual Basic 2010 Express and the program works well on my PC. 

However, it does not work on the target PC, if I simply moves the exe file to the target PC.  In the target PC,
.Net Framework 4.0 Client Profile (it's runtime module of .NET 4)
DAQmx 9.4 (core) runtime
are installed.  If I run the exe, it said "cannot find DLL." 
I'd appreciate it if you would give me suggestions.

I believe there are several essential problems here.
1) DAQmx does not work with .Net Framework Client Profile.  (NationalInstruments.Common.DLL does not work with the compile option with ".NET Framework 4.0 Client Profile" (Only it works with ".NET Framework 4.0").
So, it seems that for the distribution, we have to install .NET Framework full version to every target machine....

2) DAQmx runtime does not have "language supports", so that the required DLLs are NOT installed on the target PC.
Even if I copied those DLLs to the target PC, the program could not find them automatically....

I think that it is almost impossible to distribute the program to another PC.  The target PC need almost all the softwares installed in the development PC.

--
Thanks in advance.

0 Kudos
Message 1 of 4
(5,188 Views)

ytaku,

 

Our recommended distribution method is to use the Visual Studio Setup Project which will automatically include the necessary merge modules to distribute your application. You would also have to bootstrap the DAQmx installer. However, this is not an option for Visual Studio Express. So instead, you will need to do a manual distribution as you are attempting, which can get a bit hairy.

 

You are right that NI .NET assemblies are only compatible with the full .NET framework and not the client profiles. You will need to install the full version on the target system.

 

I have not tried this before, but you should be able to get away with only the DAQmx Core Runtime if you include the DAQmx assemblies with your distribution. You will need to distribute the following DLL files:

 

 

You can find more information about manual deployments in the Measurement Studio Help>>Deploying Applications>>Merge Modules and Deployment Files>>.NET XCOPY Deployment Files.

National Instruments
0 Kudos
Message 2 of 4
(5,176 Views)

Thank you D Biel very much for your reply.  I appreciate your answer.

However, it might be too late...  I already gave up .NET 4 environment...  

 

--

The solutions I chose are twofold.

 

1) Compile the program by using Visual Basic .NET 2010 with the compile option ".NET Framework 2."

.NET Framework 2 is quite compact and there is no difference of rutime routines such as "Full" and "client profile." Also its functions are usually sufficient to use it for controller.  

 

2) Use Visual C++ without using any .NET or MFC.  

This is the most easy to establish the firm protramming environment.  Everything is tranparent to the programmer.

Of course, no confliction.  

 

Eventually, my preference is 2).  I feel it was a wrong idea to use VB .NET for embedded systems.

 

 

 

 

0 Kudos
Message 3 of 4
(5,172 Views)

I have a VB.NET application that controls an NI 6221 Interface PCI card. I create tasks and operate the card through the measurement studio functions in the VB development environment. I have created a setup.exe deployment program which automatically detects the required NI dependencies. But, I have to install the drivers from the NI CD before the application will run. I would like to have my application run even if the interface card is not installed (i.e. off line installation) without having to install the NI drivers, or at least have the required NI components installed transparently during the installation of the application. 

 

If anyone can point a way to allowing the application to run without installing the drivers, or how to install the drivers as part of the application deployment (setup) process I would be very grateful. 

 

Thanks, Tony

0 Kudos
Message 4 of 4
(4,385 Views)