Measurement Studio for VC++

cancel
Showing results for 
Search instead for 
Did you mean: 

Which DLL I need for Shipping Release?

Hi,
I am using Visual Studio 2005 (C++) for my application. I have nidaqmx.h and nidaqmx.lib and driver installed. My question is when I move my application to a different computer that doesn't have driver installed, what DLL(s) I need to make it run on different computers when we are not trying to talk to NI boards. Right now when I move it , it starts asking me for nicaiu.dll, then another DLL then another..forever.... What do I need to make it run on other computers when the application is not talking to NI board?  I do understand if I want to have it talk to NI, I need to install the driver.
Thanks
0 Kudos
Message 1 of 6
(7,593 Views)

Hi softwareguy,

I understand that you are talking about moving your application to another computer. However, I'm not sure what you mean when you say this:

"I move my application to a different computer that doesn't have driver installed, what DLL(s) I need to make it run on different computers when we are not trying to talk to NI boards."

When you move the application, are you removing all function calls and information that relates to daqmx? If you have some functions in your application that are still trying to talk to the driver, you are going to get errors that the program is looking for dlls that do not exist since the driver is not installed.  Therefore you need to remove anything in your program that is referencing daqmx including the #include statements with daqmx.h. 

The dll that your computer is searching for (nicaiu.dll) is actually the main dll where all DAQmx ANSI C functions are contained.  This is documented in the following knowledgebase.  I hope this information was helpful!

 

Regards,
Vanessa L.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 6
(7,573 Views)
Thanks for the reply. I understand what you mentioned, but the calls I am using are 5 DAQmx calls that I thought are contained to the nicaiu.dll. So I am move my application to another computer, why does it keep asking for additional dlls after I provide the nicaiu.dll. I didn't have this problem with traditional code where I only had to supply nidaq32.dll.
0 Kudos
Message 3 of 6
(7,566 Views)
I also meant to tell you the knowledge base link you sent doesn't work.
Thanks
0 Kudos
Message 4 of 6
(7,565 Views)

Hi softwareguy,

Sorry about the knowledgebase link.  I didn't realize that is an internal only document but it basically just says that all DAQmx ANSI C functions are located in that nicaiu.dll.  It might be more helpful if you would provide the names of the dlls that your progam is saying that you need.  I can't really say why you would be getting these errors without knowing which dlls the program is missing.

Also, if you are using DAQmx calls on the second computer, you should just install the DAQmx driver and include the entire library.  This should fix the problem all together.

Regards,
Vanessa L.
Applications Engineer
National Instruments
0 Kudos
Message 5 of 6
(7,550 Views)
Hi Vanessa,
I am actually trying to avoid to have the driver installed on different computers. Ni is one small part of our application, it would not be convenient for us to ship 1GB driver with our application to clients who may not need to use the NI part of our application. I did find the problem, when I was using the DAQmx calls in the application, I was not specifically calling them from the DLL that contains them, that is why it was asking me for many DLLs. Now, I only have to carry one DLL to go with our application which is what I needed.
Thanks
0 Kudos
Message 6 of 6
(7,536 Views)