LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

.NET DLL path is incorrect when deployed

I have four VI's that use the same .NET dll (this is not a strongly named .Net Assembly). I am building my system on a network where the VIs reside in the following area G:\DE\TS\ATE\VI\Sub\Utilities\Comms\. The dll is placed in C:\Windows\System32\. Everything works fine at this point.

 

We now try and deploy the teststand workspace including the VIs to the C: drive of the Test system. So the VIs end up in a folder along the lines of C:\bob\VI\ and a copy of the dll ends up in the folder C:\bob\data\.

 

The first problem arises when we try and load the workspace in Teststand from the C: drive of the Test system. This is solved by deleting the new copy of the dll.

 

Then when you try to run the sequence file, it fails at the first VI with the link to the dll.

 

What is happening is that the VI is trying to load the dll from a relative path which does not exist. How can I store an absolute path for the dll within the VI.

 

At the moment, once the deployed system has been installed on a new system, I have to open the four offending VIs and relink them to the correct dll, which is obviously not what is wanted.

 

Any suggestions anyone?

0 Kudos
Message 1 of 2
(2,449 Views)

Hi,

 

According to this KnowledgeBase article, you need to place your DLL under either of the three:

 

  • system32
  • same directory with the exe
  • any path that is specified in the environment variable

 

Try to build an installer rather than just copying the executable to the deployed machine. Use a batch file to manually copy the DLLs to your system32 directory or use other methods listed in the KB.

 

I hope this helps,

 

 

Best regards,

Mark M.
Applications Engineer
National Instruments UK & Ireland
0 Kudos
Message 2 of 2
(2,432 Views)