LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Build chokes on user32.dll via "Librarian Path Location.vi".

I suspect this is because user32.dll is always in use by Windows.

I was able to copy and paste user32.dll to my build directory just fine, but "Library Path Location.vi" apparently cannot.

Does anybody have a workaround?

Attached is a subVI that if included in a project, will prevent the build because it calls user32.dll.
0 Kudos
Message 1 of 7
(5,351 Views)
Hello,

When you configure a Call Library Node and set an absolute path to the DLL (c:\windows\system32\user32.dll), then Application Builder assumes it is not a system DLL and the EXE will need to know exactly where that DLL is located. So it puts the DLL in the support folder and links the VIs in the EXE to that location. If the Call Library Node is configured such that only the file name of the DLL appears (user32.dll), then Application Builder knows that the DLL is in the system search path and assumes that it will be available on the target system. So it does not include the DLL in the support folder because it is someone else's job to get the DLL on the target machine, and will not throw an error. 

Please give this a try and let me know if you run into any troubles!
Cheers,

Matt Pollock
National Instruments
Message 2 of 7
(5,342 Views)
That fixed it. I should have thought to look there!

:-(=

I coudn't find a buck-tooth emoticon so that will have to do.
0 Kudos
Message 3 of 7
(5,336 Views)
Glad I could help, it's what we're here for!
Cheers,

Matt Pollock
National Instruments
0 Kudos
Message 4 of 7
(5,331 Views)

Just FYI - I found another way to duplicate the same error in LV2009 SP1.   When I tried to run my build, I got the same error as reported above.  I checked the call library node as Matt recommended, but it was fine.  I had to go through my project file to find the answer. Without thinking about it, I must have somehow included user32.dll in my project. All I had to do was remove it from the project (making it show up in dependencies instead) and everything built fine.  Moral of the story - don't include system dlls in your projects!

 

JasonP - CLD 

0 Kudos
Message 5 of 7
(4,408 Views)

Hello

I have similiar problem with building LLB files.

 

I get following error. 

 

Error copying files.
Source: ..\..\Program Files\National Instruments\LabVIEW 8.6\resource\visarc
Destination: D:\builds\Arduino LLB\Arduino LLB\data\data\visarc

Librarian Path Location.vi

 

Visit the Request Support page at ni.com/ask to learn more about resolving this problem. Use the following information as a reference:

Error 1 occurred at AB_Destination.lvclass:Copy_File.vi -> AB_Source.lvclass:Copy_SourceItem.vi -> AB_Build.lvclass:Copy_Files.vi -> AB_Build.lvclass:Build.vi -> AB_Engine_Build.vi -> AB_Build_Invoke.vi -> AB_Build_Invoke.vi.ProxyCaller

Possible reason(s):

LabVIEW: An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.
=========================
NI-488: Command requires GPIB Controller to be Controller in Charge.

 

 

 

I heartly appreciate your help on this.

thank you

0 Kudos
Message 6 of 7
(3,747 Views)

Hi Jatin1489,

 

How are you calling the DLLs when you are building LLB files? Are you using the entire path name? If so, I would suggest using just the name of the DLL as input to a Call Library Function node.

 

Jordan G.

LabVIEW Product Marketing Engineer
National Instruments
0 Kudos
Message 7 of 7
(3,714 Views)