LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Deploy DAQmx driver on other computer

Solved!
Go to solution

Hello,

 

I am developping a C++ programme on QtCreator which control lot of devices such as NI cards. It is why I am using the DAQmx driver.

 

Unfortunately, I can't find what dll files to copy with my executable to deploy this application on another computer which doesn't have DAQmx installed on it.

 

Can you guide me with this please ?

 

I already tried to copied all dll files from the system32 folder of Windows beginning with "ni" (and which doesn't exist on the other computer) because I see the dependency (through DependencyWalker) with the nicaiu.dll file. But doing this the application shows an error message 0xc0000142 because it doesn't succeed to load thes dll. However, if I don't copy these dll but install DAQmx on the other computer, it is working. So the error message is related to DAQmx on which I don't know if it is possible to deploy my application without installing DAQmx on another computer.

 

Thank you in advance for your help.

Best regards.

Mathieu Gauquelin
0 Kudos
Message 1 of 5
(1,161 Views)

Bonjour,

 

Je développe actuellement un programme C++ sous QtCreator qui contrôle de nombreux équipements dont des cartes NI. C'est pourquoi j'utilise le driver DAQmx avec les exemples qu'on peut trouver dans la documentation.

 

Cependant, je ne trouve pas de documentation concernant le déploiement sur d'autres ordinateur. Je ne sais pas quelles librairies je dois copier avec mon exécutable pour que ce dernier fonctionne sur un autre ordinateur sans avoir besoin d'installer DAQmx.

 

J'ai bien trouvé avec DependencyWalker qu'il fallait des librairies du dossier system32 de Windows, mais quand je les copie l'exécutable affiche un message d'erreur 0xc0000142, car il n'arrive pas à charger correctement ces dll.

 

Comment je sais que ce sont ces dll qui provoquent le message d'erreur ? Car en installant DAQmx sur l'autre ordinateur (et supprimant les dll copié de l'autre ordinateur commencant par "ni", l'exécutable se lance.

 

Pourriez vous m'aider en me disant quelles sont les fichiers dlls à récupérer lors du déploiement d'une application utilisant le driver DAQmx?

 

Merci par avance.

Cordialement

Mathieu Gauquelin
0 Kudos
Message 2 of 5
(1,170 Views)
Solution
Accepted by topic author Mathieu33800

DAQmx is a way to complicated driver framework to document what you would have to copy where on the different Windows versions, which administrative registry entries you need to add to the system and what other digital hoops to jump through in order to let you do that.

 

The DAQmx dll front end is only a very tiny part of the whole with many other support DLLs and system kernel drivers that all need to be perfectly installed for the whole to work as intended instead of rendering a computer into a heap of junk! Especially the kernel driver installation (at least a dozen different kernel drivers all working together) is very delicate, one single error there and Windows could be unable to restart!

 

You want to use the NI DAQmx installer for sure, and safe yourself from grey hair and worse!

Rolf Kalbermatter
My Blog
Message 3 of 5
(1,164 Views)

Ok thank you for this answer.

 

So we necesary need admin privileges to install DAQmx. I imagine the DAQmx Runtime is enough or do I have to install the big software (with NI MAX ...) ?

 

Regards.

Mathieu Gauquelin
0 Kudos
Message 4 of 5
(1,150 Views)

DAQmx runtime is the absolute minimum requirement. NI-MAX is however often very handy to see what NI hardware is installed and do some preconfiguration and testing with it. I always first check in NI-MAX before attempting to use any NI hardware in LabVIEW or another programming environment.

Rolf Kalbermatter
My Blog
0 Kudos
Message 5 of 5
(1,147 Views)