Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

Network variable problem in 64 bit application

Solved!
Go to solution

Hi,

When running the software in 64 bit mode the ninetv.dll is not found by default settings. But if I copy ninetv.dll into the executable’s actual running directory the software complains that ninetv.dll is in a bad format.

In 32 bit mode it works always. Even if I do not copy ninetv.dll into the bin directory.

 

There are two pictures where you see loaded NI .NET assemblies. In the first in 32 bit mode and in the second in 64 bit mode. ninetv.dll is not shown.. Not sure how it is loaded.

nidlls_32bitmode.pngnidlls_64bitmode.pngBR, Ilkka

0 Kudos
Message 21 of 34
(2,247 Views)

Hi,

 

What you are missing is the 64-bit version of ninetv.dll 

 

You should have two copies:

  • 32-bit: C:\Program Files (x86)\National Instruments\Shared\Network Variable\ninetv.dll
  • 64-bit: C:\Program Files\National Instruments\Shared\Network Variable\ninetv.dll

The easiest way to resolve this is to install the CVI 2015 Runtime - which will install both the 32 and 64-bit versions of the DLL, which our Measurement Studio DLL calls into.

 

Please try that and let us know.

 

Regards

 

Basel

 

0 Kudos
Message 22 of 34
(2,239 Views)

Hi,

 

I have two copies as in your message. But the copies seems to be exactly the same:

 

Untitled.png

 

I will test the Labwindows runtime today evening in other computer and let you know about the result.

 

BR,

Ilkka

0 Kudos
Message 23 of 34
(2,235 Views)

Hi,

I installed the LabWindows runtime but it did not help anything. It is exactly as before.

BR,

Ilkka

0 Kudos
Message 24 of 34
(2,229 Views)

Hey,

I will discuss this outcome with the team, and will write back to you soon.

Regards

Basel

0 Kudos
Message 25 of 34
(2,222 Views)

Hi,

 

 

Can you try the following:

 

- Explicitly set your project to a 64-bit build and copy over ninetv.dll from the 64-bit location and test this? So far we've been sticking to AnyCPU builds, which on a 64-bit OS should act like a 64-bit build but let's go ahead and cut this variable out.

 

- Can you run Dependency Walker on the 64-bit ninetv.dll to make sure it's not missing any of it's dependencies?

 

BR

Basel

0 Kudos
Message 26 of 34
(2,200 Views)

This is the link to Dependency Walker:

 

http://www.dependencywalker.com/

 

0 Kudos
Message 27 of 34
(2,187 Views)

Hi,

 

I build the test applicaton in 64 bit mode but the result was the same. 

 

After that I opened the ninetv.dll by the Depency Walker sw. The result is attached into this message.

 

BR,

Ilkka

0 Kudos
Message 28 of 34
(2,182 Views)

This dependency walker log attached is for the 32-bit version of ninetv.dll, not the 64-bit version. If you are adding this version of ninetv.dll that is captured in the log to your project then that would be why its failing. You must use the version that is found at C:\Program Files not the version in C:\Program Files (x86).

Note: You also need to use the matching bitness of Dependency Walker, so use the 64-bit version to profile the 64-bit ninetv.dll

Finally, all these paths are assuming that you are installing software to the default locations, can we verify if this is true?

0 Kudos
Message 29 of 34
(2,121 Views)

Hi,

excuse of my late reply.  But it is the same 32 bit ninetv.dll in the Program Files folder in the following location

 

C:\Program Files\National Instruments\Shared\Network Variable\ninetv.dll
 
Please also note that usually 64 bit assemblies are in Program Files (x86) folder:
 
C:\Program Files (x86)\National Instruments\MeasurementStudioVS2012\DotNET\Assemblies (64-bit)\
C:\Program Files (x86)\National Instruments\MeasurementStudioVS2013\DotNET\Assemblies (64-bit)\

 

I have not found any 64 bit ninetv.dll from my Computer.

 

BR,

Ilkka

0 Kudos
Message 30 of 34
(2,039 Views)