LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Universal Windows Platform App running error

Solved!
Go to solution

I built an application using LabWindows CVI 2015 environment. In the end, I obtained setup.exe and *.msi files. After that, using the steps presented in https://blogs.msdn.microsoft.com/appconsult/2016/10/17/desktop-bridge-converting-an-installer/ the appx (Universal Windows Platform - UWP apps) file resulted.

        When I run the application in Win 10 environment, the following error appear several time (each time I press OK button): “Mesa.dll could not be found”. In the end the application runs, but the GUI elements are not completely displayed – I know that the mesa.dll is required to display 3D controls correctly.

        Another error: in my application, I save some data in the windows registries database (some user configuration), but when the application restart none of these data can be find anymore.

       I know that UWP Apps run in a protected environment. As a result, I believe that calls to mesa.dll are considered to compromise the security of the platform and are not allowed – the same with the registry.

 

      Please, do you have a solution for these problems? Thank you very much ! 

0 Kudos
Message 1 of 7
(3,473 Views)

Hey dmdobrea,

 

You are right, the mesa.dll is needed to run 3D controls correctly. Improper installation of the CVI Run-Time Engine (RTE) could result in this error, check out this KB. The major version of the RTE must match the version of LabWindows/CVI used to develop the application. If you used CVI 2015 SP1, the RTE must be 2015 SP1 as well, it can't be 2015.

 

I am not familiar with the Desktop Bridge, can you explain why you are using it? If you want to install your LabWindows/CVI application, the setup.exe should do.

Ren H.
Applications Engineering
National Instruments
0 Kudos
Message 2 of 7
(3,394 Views)

Good morning Mr. Ren H.,

 

   In order to load an application in the Windows Store it must be of appx type (Windows Platform Universal App). The setup.exe are not accepted - in Windows Store. A method to get this file is to start with msi file (generated by Build -> Distributions -> Build "AppName") and, in the end, using the Desktop Bridge.

     I tried different ways to solve this problem problem. For example, knowing KB, I add mesa.dll manually (Edit Installer -> Local Files & Directories -> browse to C:\Program Files (x86)\National Instruments\Shared\Mesa -> mesa.dll -> Add File). But it is not working.

 

    Any solution ? Thank you very much.

 

0 Kudos
Message 3 of 7
(3,392 Views)

Hi Dmdobrea,

 

Does the application work properly if you install it using the setup.exe generated by LabWindows/CVI? When you build the installer, make sure you include the Run-Time Engine installer as well. If you don't know how to do that, check out this white paper. 

Ren H.
Applications Engineering
National Instruments
0 Kudos
Message 4 of 7
(3,343 Views)

Dear Mr. Ren H.,

 

The setup.exe is working fine.

A partial solution for the problem was to change the existing set of graphic controls with the classic type style controls. My first application has 10 errors ("Mesa.dll could not be found"). Right now I have 3 more errors. And I can not found which from the remaining controls use Mesa.dll. Do you now if the panels use Mesa.dll? I suspect that in order to display the main panel calls to function from Mesa.dll are required - I tried different frame style in hope that Mesa.dll will not be use ... and no results!

    Are there a list of controls that use Mesa.dll?  I so that Edit Text Message or Edit Check Box does not use Mesa.dll.

 

Thank you very much !

D. Dan

0 Kudos
Message 5 of 7
(3,327 Views)

Hey Dan,

 

I think mesa.dll is shared by all NI applications that create user interfaces.

 

As a troubleshooting step, try creating a very simple executable and see if you still get the error after desktop bridge conversion.

Ren H.
Applications Engineering
National Instruments
0 Kudos
Message 6 of 7
(3,314 Views)
Solution
Accepted by topic author dmdobrea

In the end the solution was very easy !

 

     In the first step, I follow the indications from: http://digital.ni.com/public.nsf/allkb/0BECAE8F7DF0570C86257F38006D130B - How to Deploy the LabWindows™/CVI™ Runtime Privately.    ... and I installed LabWindows/CVI Runtime dependencies for my application privately.

    In the second step I included the Mesa.dll in the distribution. 

 

    After these steps all work fine.

 

   Thank you !

 

0 Kudos
Message 7 of 7
(3,191 Views)