PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

VISA32.dll fails its MSVCR90.dll dependency.

I have an application that uses VISA32.dll.  VISA32.dll has a dependency problem for MSVCR90.dll.  I have some other steps to making the application work so I am not sure that it actually doesn't work.  But it became evident using dependency walker that MSVCR90.dll is not found.  It is actually required twice in fact, the second place bein another level down beneath VISA32.dll then beneath NIVISV32.dll.  It is also not found there.

 

Unless dependency walker is incorrect, then I am pretty sure I'm going to have a problem here even after other things are fixed.

 

I've read that MSVCR90.dll is managed under windows side-by-side.  Stored in C:\Windows\WinSxS\.  Several versions of the file are there where they should be.  I even installed the latest VC 2008 (9.0) redistributable package from microsoft.com. (downloaded today)

 

Now my understanding is that updates like that are cumulative.  They should install all relevant versions because how can the package know what version of a dll your application requires.  It should do just what it says, install all versions "side by side" and then your application picks which version of the driver it needs dynamically at run time so that there can be harmony on the system between different apps that need different versions of a driver.

 

Furthermore, the NI installer that installed VISA32.dll and NIVISV32.dll should have at least installed the correct version that is required by those components. I uninstalled both NI-VISA and NI-VXI and reinstalled them to make sure the files should be present.  But the problem is still there. This is why I considered this a bug.

 

So if my understanding is correct, does this mean that the manifests in VISA32.dll and NIVISV32.dll are specifiying a version of MSVCR90.dll that doesn't exist?

 

Or does it exist and I just don't have it.  If so how do I tell what version of it I need and how do I get that version installed on my system?

 

With WinSxS it is my understanding that it is more of a nogo by choice than a crash.  It checks for the right version numbers and if they aren't found then it's nogo. I am aware that I can pick versions of the files myself from WinSxS and copy them to C:\Windows\system32 and this will force it to find those files without checking assembly versions.  

 

But this isn't the intended way, and I would prefer to fix things the right way if possible.  Possibly a bug needs fixed in NI-VISA 5.20 so that it can install the same version of the run time that it will require.

Message 1 of 1
(5,438 Views)