From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Measurement Studio for VB6

cancel
Showing results for 
Search instead for 
Did you mean: 

Failed loading mesa.dll

Hello All,

 

I am distributing a MS for VB6 standalone application.  The application uses a couple of the CWUI graphic controls on one screen.  For a long time the application worked properly on Windows XP and Windows 7 OS's.  However, after a recent recompile of the software, I am getting the "Failed loading mesa.dll" message (from Measurement Studio) pop up when the screen that includes the CW controls loads.  This is new, and wasn't happening until recently.

 

Failed loading mesa.jpg

 

I've tried registering the mesa.dll using the regsvr32 command from the command prompt (as Administrator), but this hasn't changed anything.  

I've tried recompiling the VB6 application several times.

I've tried recompiling the installation file (using Setup Factory 8.0) several times.

The software seems to work properly except the CW controls do not display.

Can anyone suggest something that I could try to resolve the issue?  Would appreciate any ideas.

 

Thanks,

Chris

0 Kudos
Message 1 of 5
(9,103 Views)

Is the error occurring on the deployment machines or on the development machine? The mesa DLL is required for the CW controls, so it makes sense they are not working. Have you verified that the DLL is being included in the installer? And are you running the installer as an administrator?

Steven Gloor
Staff Customer Engineer - CTA, CLD
0 Kudos
Message 2 of 5
(9,086 Views)

Hi Steven,

 

Thanks for the reply.  I wanted to try and verify something before I responded again, but I was not able to, and I will explain why.

 

To answer your questions:  

The error was only occurring on the deployment machines, and was not occurring on the development machine.

The error was not occuring on a machine which had previously been installed with an older version of the same software.

Yes the Mesa.dll was included in the installer.  

I was always running the installer explicitly as the admin. 

 

At the moment, I seemed to have found the source of the error (sort of).  I noticed that the mesa.dll file on one of the machines that had been installed with a previous version of the software, was a different size than the mesa.dll file which being deployed in the installer.

For sake of ease of understanding I'll refer to the two seperate version of the mesa.dll file as Version A and Version B

Version A = the version that was found on the older install directories.  This version of mesa.dll works.  This version is 852 KB (Properties window below)

Mesa - Version A.jpg

 

Version B = the version that was being deployed in the new installer, and is the version of mesa.dll which is not working.  This version is ~ 1.43 MB.  Unfortunately, I didn't keep a copy of this version.  I rampantly copied over all of these versions as I tested the Version A of mesa.dll on my in-house computers.  Stupid, I know.  So now I don't seem to have a copy of the Version B of mesa.dll which I can use to compare against the working copy.

 

 

When I simply overwrite Version B with Version A, on a machine which has been newly installed with the installer (and is not working), the software works properly.  When I recompile the installer using Version A of the mesa.dll file, the software works properly.

 

It's not clear to me whether Version A is an older version of mesa.dll or a newer version?  I have the most up to date version of Measurement Studio for Visual Basic 6.  I don't believe that I have installed any NI software which would have changed the mesa.dll file on my development computer.  One would assume thtat the larger version of mesa.dll (Version B), would be the newer version, but I know that may not necessarilly be the case.

 

I guess the upside is that I now have the software working reliably.  I would like to know where this second version of mesa.dll came from and how it "infected" my development computer?  

 

If anyone can shed some light, I would be greatly appreciative.  I'm going to continue to search for the Version B of mesa.dll and report back if I find anything.

 

Thanks to anyone who takes the time to read this rambling mess of thoughts above.

 

Regards,

Chris

 

 

0 Kudos
Message 3 of 5
(9,069 Views)

Hi Chris,

 

The mesa DLL is shared by all National Instruments applications that can create user interfaces. Whenever any of these applications are upgraded, mesa.dll is also upgraded. This seems like a likely cause of this problem: in essence the installer was including an incompatible (too high) version of mesa.dll while the application was referencing an older version. When that happens, it is important to point the installer to the older (potentially archived) version to install on the deployment machines.

 

Hopefully that helps. Have a happy holiday season!

 

Regards

Steven Gloor
Staff Customer Engineer - CTA, CLD
0 Kudos
Message 4 of 5
(9,052 Views)

Very helpful reply.  Thank you Steven.  Hope you have a good holiday season as well!

 

Regards

 

Chris

0 Kudos
Message 5 of 5
(9,041 Views)