12-19-2010 07:41 PM
When I launch an executable that was installed from a distribution kit created with CVI 2010 (360), I get the message 'Mesa.dll could not be found'. But I can see that the file was installed at C:\Program Files\National Instruments\Shared\Mesa. If I replace this file with an older mesa.dll from a previous version of CVI, my newly installed executable launches correctly.
Solved! Go to Solution.
12-20-2010 04:28 PM
Hi mrtqs,
I tried to reproduce this issue by building and installing a distribution kit using an example that calls Mesa.dll. However, I did not receive any errors. Can you give me some more information on what you were trying to build when you ran into this?
12-20-2010 04:47 PM
Hi Hassan:
I should have mentioned in my original message that in the 'Drivers & Components' tab of the 'Edit Installer' dialog box, I only select the following under the 'LabWindows/CVI Run-Time Engine':
1) Standard Run-Time
2) Analysis Support
3) ActiveX Container Support
4) Low-Level Support Driver
This configuration has always worked for me with previous CVI versions.
I'm building a 32-bit distribution kit in Windows XP SP3.
I am attempting to install on computers that have no other CVI files on them from previous installations.
Thanks for your help,
mrtqs
12-20-2010 04:50 PM
Hassan:
To answer your question...
I created a simple test program with a printf() statement and still get the message 'Mesa.dll could not be found' when I launch it.
12-21-2010 10:48 AM
Hi mrtqs,
What happens if you build one of the examples that references mesa.dll? For example, the ledctrlarray example which is found under Building User Interfaces>>General in the example finder.
12-21-2010 02:15 PM
Hi Hassan
12-21-2010 02:40 PM
Hassan:
When I first created the distribution kit for ledctrlarray, I left the default settings on the Drivers & Components tab in the Edit Installer dialog. The application installed and ran OK.
I uninstalled this and created a distribution kit a second time and only selected the following on the Drivers & Components tab (the same as my own program):
1) Standard Run-Time
2) Analysis Support
3) ActiveX Container Support
4) Low-Level Support Driver
This time I got the 'Mesa.dll could not be found' when I tried to launch ledctrlarray - although the mesa.dll file did get installed at C:\Program Files\National Instruments\Shared\Mesa.
I guess I need to figure out which additional item in the Drivers & Components list I need to start selecting in my distribution.
mrtqs
12-21-2010 07:00 PM
Hassan:
I've noticed that if I don't include the ActiveX Container Support in my distribution, my own application will install and launch OK (the ActiveX module is only needed for a small number of test systems I support). But if I include it and select [Check Module Dependencies] on the Drivers & Components tab then I get the attached message.
The [Check Module Dependencies] only returns successfully if I include everything in the Run-Time Engine block, or if I exclude ActiveX when selecting a subset of the runtime engine. I haven't had this problem with previous versions of CVI. I've tried it with 8.5.1 and 9.0.1.
mrtqs
12-22-2010 10:14 AM
Hi mrtqs,
While testing out this issue I ran into a similar problem. From my understanding, the CVI Run-Time Engine will also install parts of the VS 2008 C++ Runtime. Depending on what CVI Run Time options you choose to install a different part of the VS 2008 C++ runtime will be included in the installation. It seems that Microsoft may have altered the VS 2008 C++ runtime for certain parts, but not others, which is what is causing the problem. Hence there are a few options:
1. Install the full CVI runtime with the default settings
2. Leave out the ActiveX module if not needed
3. Install the VS 2008 C++ runtime separately on the deployment machine.
04-19-2011 08:01 AM
I found exactly the same problem in a project where I include only "Standard Run-Time" item, so I read your suggestion:
Could you attach to this discussion the right Merge Module (*.msm file) that I can add to my Distribution Kit? (as done for this old issue)