LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

How should I put mesa.dll in the Distribution Kit?

I am using LabWindows/CVI 5.0 under Windows 2000.

I previously had problems running my standalone executable, and upgraded my RTE to CVIRTE 7.1 to solve the problems.

Now when I create a distribution kit and use it to install my application on another computer, I get a message box that says "Mesa.dll could not be found." So it seems that I need to do something to include Mesa.dll when I create a distribution kit. How do you recommend that I do this? Should I

- create a file group containing Mesa.dll, and install it to C:\Program Files\National Instruments\Shared\Mesa?

- create a file group containing CVIRTE.msi, install it to C:\National Instruments Downloads\NILW_CVI_71_RTE, and run it after installation?

- create a file group containing NILW_CVI_71_RTE.exe, install it to C:\temp, and run it after installation?

- or some other option?
0 Kudos
Message 1 of 9
(4,875 Views)

Hello,

With LabWindows/CVI 7.1, you can include the runtime engine in your distribution kit. Since you are using 5.0, I would suggest implementing the third option so that you can install the runtime engine on your other machine. On the other hand, you could download the latest runtime engine to your other machine, if that is more convenient.

Thanks.

Wendy L
LabWindows/CVI Developer Newsletter
0 Kudos
Message 2 of 9
(4,850 Views)
I do not have any problem with including the run-time engine in my distribution kit. LabWindows/CVI 5.0 allows me to do this, and it includes the CVI 7.1 run-time engine, since that is what is on my computer. The problem is that LabWindows/CVI 5.0 does not include mesa.dll in my distribution kit, so my customers get an error when they install and run my application.

I want to give my customers a distribution kit that is easy to install. Therefore, I do not want to tell them that they have to go download and install something from the web for my application to work. The third option that I listed above makes the installation more complicated, and seems unnecessary since the run-time engine is already installed by the distribution kit, and all I need is mesa.dll.

So I guess my question is whether the third option is required to ensure a successful installation, or is there a simpler way to install mesa.dll that is sure to work on a wide variety of Windows computers?
0 Kudos
Message 3 of 9
(4,846 Views)
If I'm not in error, mesa.dll can be found if present in the application directory. If this is true you could add this dll in the application group the same as you would do with all other files necessary to your application that are not part of the project (i.e. the exe and UIR files that are included automatically by the Make distribution kit function).

A disadvantage of this is that the dll is not registered in the system and will not be found by any other CVI program running on it, but if you have only one application to install this is maybe the easiest solution.

Remember that nesa.dll is only needed if you are using some "labview style" control: as an ultimate resource you could consider revising your project and roll back to traditional controls to completely cut away this dll problem.


Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 4 of 9
(4,843 Views)
Thank you for that advice, Roberto. I will test putting mesa.dll in the application directory. That is an easy solution.

However, I do have two applications that get installed in separate directories, so mesa.dll would have to be copied to both directories. And there may be one or two additional applications in the future. Clearly, it would be better to register mesa.dll in the system. Can this be done by the distribution kit?

I am not sure which controls are "labview style" controls. I do know that the mesa.dll error occurs the first time that I try to plot data to a graph, and graphs are an important part of both the applications, so I probably can not "cut away this dll problem."
0 Kudos
Message 5 of 9
(4,838 Views)
When you installed the CVI 7.x runtime on your system, that just updated the RTE files on your machine. But the CVI 5.0 dist kit is only going to include the CVI 5.0 runtime by default. This means that even though you have been developing the application using the 7.0 runtime on your machine, when you distribute the app using the CDK, you are actaully deploying the 5.0 runtime. So customers will problably see the sames problems you saw when you were using the older runtime engine.
To avoid any customer support issues, it would be to ensure that your customers have the same (or newer) version of the runtime that you used to develop the application.

I don't have CVI 5.0 to test this out, but one thing you could do is to disable installing the CVI runtime in the distribution kit dialog (so it won't include the 5.0 runtime in the installer) and then use option 3 to install the same version of the runtime you have on your machine.

I hope this helps
Bilal Durrani
NI
0 Kudos
Message 6 of 9
(4,830 Views)
Thank you, Bilal, that answers my question. It may not be the answer that I was hoping for, but now I know what I should do.
0 Kudos
Message 7 of 9
(4,828 Views)
Actaully the 5.0 CDK will distribute whatever version of the runtime is present on the machine. So if you have the 7.x runtime installed, it will deploy those files with the installer. This behavior changed in 6.0 and onwards, where it only deploys runtimes it was installed with. It doesnt really change much for you though. I would prefer you deploy the runtime using the installer, since that will set up mesa as shared on the machine correctly.

Sorry for the wrong info earlier.

Since you are using the classic style controls (6.0 and above has much nicer looking controls), you should not have a dependency on the mesa dll. Looks like this is a problem. I've filed a report to correct this for future versions.
Bilal Durrani
NI
0 Kudos
Message 8 of 9
(4,799 Views)
I have had the same issue.
I simple added mesa.dll to my distribution kit and everything worked fine.
0 Kudos
Message 9 of 9
(4,796 Views)