03-31-2009 09:24 AM - edited 03-31-2009 09:24 AM
I am trying to build a source distro using LabVIEW 8.6.1. The code calls a dll and for that reason the dll is listed under the dependencies. When I try to build a source distribution I get this error:
Has anyone seen this before and if so what is the workaround? Thank you for the help.
Solved! Go to Solution.
04-01-2009 11:43 AM
Good Morning jmcbee,
As the first "Possible Reason" states, an input parameter may be invalid. Although "the Source Distribution Provider creates a copy of the project files (including the dependencies) for easy distribution to another machine," your .dll is at a path other than that of the project and this is the error that is being returned, its path may be the invalid input to blame. (KB: What Is The Build Specification Feature In Application Builder?)
Try placing a copy of that .dll in the same folder as your project and reconfigure your project and Call Library Function Nodes to look for the .dll in this new location instead of the original location.
Another thing that you can try is to remove all spaces from the Build Specification name and to ensure no spaces exist at the end of the name. Then rebuild the source distribution.
The following links may provide some useful background information:
What Is The Build Specification Feature In Application Builder?
http://digital.ni.com/public.nsf/allkb/41561F98D96235FC8625708F00552ADF?OpenDocument
Error 1 or Error 6 Occurred During File I/O - Input Parameter is Invalid
http://digital.ni.com/public.nsf/allkb/BB06ABD0261A9F2B86256F190049A620?OpenDocument
Why Does My Executable Not Work When Using the Current VI's Path Constant?
http://digital.ni.com/public.nsf/allkb/FD7DE8BC8FFC256C862565F4006BE363?OpenDocument
04-01-2009 11:48 AM
05-05-2009 04:50 PM
I'm getting the same error and I must have the same error but I'm not sure how to go about this. My project is using a .llb that i didn't create and so some of the code in it is locked for me not to change. It refers to 2 different DLLs but only the dll name is in the reference and not in the path so my files view in my project looks like the attached and the files are not in any path. I know Windows resolves this automatically as they are system DLLs but I get an error when i try to build the app. I can't change the references in the DLL callers since the code is locked in some places. Is there a way i can tell my project to find these somewhere else or should the EXE builder use windows to resolve this and it just isnt happening on my machine.
Regards
Brent Schenk
05-06-2009 08:42 AM
Good Morning Brent,
Have you tried copying the library (and dlls) in question to the same directory as your project and rebuilding?
This link may provide some more information:
My Stand-Alone Executable Cannot Find My DLL, Even Though I Have Specified the Path for the DLL
http://digital.ni.com/public.nsf/allkb/862567530005F09C862565C50068363D?OpenDocument
If this post doesn't help, please give us some more information, such as the error number you receive.
05-06-2009 09:55 AM
05-06-2009 10:26 AM
I apologize, i used my jump to conclusions mat a little prematurely and should have been looking into it more. This has nothing to do with DLLs and everything to do with overridden methods that don't show errors but for some reason cause the compiler to error out. I'm going to have to look into this deeper. Thanks for you time, if you have any ideas on where to start with this i will take suggestions 🙂
05-07-2009 02:09 PM
Hi Brent,
Thanks for the update. No worries; I'm happy you were able to roll your mat up for another day. My Magic 8 Ball keeps telling me to Ask Again Later, so I'll just take a stab at this myself.
Since I don't really know what your code is doing, some troubleshooting ideas may be as follows:
1. Implement proper error handling in the code. Use the error clusters wherever available for debugging.
2. As the message says, Error 6 is often related to File I/O. If you are doing any File I/O in your code, try to simplify or just remove it entirely during the debug process.
3. Verify that the methods you are using aren't interfering with one another somehow. Depending on how many are in the code, remove one and test or remove all and add them one at a time, testing along the way. Depending on how many you use and which they are, this idea may be tricky to actually implement.
Good Luck. If you are still having difficulty with this, you may get more minds on the issue by creating a new forum thread.