05-18-2010 02:22 AM
Hi
I have written an application to control a 'Data Translation' PCI data acquisition card (DT302) using LabVIEW (8.6.1). I have used Data Translations 'LVLink' VIs in the application. It works perfectly on the development PC as a VI and as an executable.
The problem arises when I try to run the executable on a target PC. The program fails to recognize the DT302 card. I believe I have the necessary extra files/software installed:
I know the card is installed correctly as it can be recognized by other (non Labview) programs. I think I may require an additional file or .dll but I'm not sure.
Any help would be greatly appreciated
Thanks
Stuart
05-18-2010 03:03 AM
Hi Stuart,
If you can tell us which dlls are dependencies of the project, we can probably tell you what you need to include in your installer. You may be missing something like VISA runtime if the VISA protocol is being used.
James
05-18-2010 03:10 AM
Thanks for your help.
The dlls shown as dependencies are:
05-18-2010 05:00 AM
Stu-Qub wrote:Thanks for your help.
The dlls shown as dependencies are:
- advapi32.dll
- Kernel32.dll
A quick search on the forum came up with advapi32.dll as a windows dll, and I know Kernel32.dll is a windows dll.
Unless advapi32.dll is not on the destination PC, I have no suggestions, this isn't as simple as it might have been.
You could try including advapi32.dll in the installer and see if that fixes the problem, if you are not installing to a windows machine of the same OS, that may be your problem.
Now I really am out of ideas for now. - this looks like a job for Rolf K or one of the other gurus.
James
05-18-2010 05:51 AM
05-18-2010 06:08 AM
you haven't done something silly in the exe - like tick the box that requires the development environment on the PC when the exe is deployed have you?
James
05-18-2010 06:18 AM
05-18-2010 09:55 AM
05-18-2010 10:29 AM - edited 05-18-2010 10:31 AM
Suspect this is due to a relative path call to the dlls being created by the calling VIs when you compile.
It may be due to a version difference in the files mentioned on your PC and the ones used on the "blank PC".
Recommend you make an installer which includes the dlls and re-installs them to the PC - it is possible that the NI calls to the dlls are modifying them or the registry.
James
Edit:
Compare the Path between your LabVIEW PC and your blank one
Also check the correct params are inserted in the path for any calls to functions external to LabVIEW, this could be causing breaks if %PATH% has not got the required files in it.