06-13-2012 12:59 PM
My application is not displaying the LEDs and Switches on one particular PC. They are displayed on a very similar system and on my development PC, however. Other NI UI controls are displayed on the suspect PC though. The cursor still changes on mouseover, and the invisible controls still function.
I completely uninstalled all NI software and then resinstalled the DAQmx drivers with .NET framework 4.0 support like I always do. Then in installed my program again and the controls are still invisible.
The picture below shows the sliders still working, and the hand cursor over and invisible switch.
06-14-2012 03:28 PM
Is this a system you are deploying a distribution to with a setup project? I think the problem you are seeing a known issue where Mesa.dll, which handles 3D UI Styles, can't be found by the application. The application typically uses a registry key to locate this file, but there was a bug in Measurement Studio merge modules that did not properly escalate the installer to Administrator privileges on Windows Vista/7 so that this registry key can be added. Fortunately, there is a simple workaround as described in this KB article: Why Did My Measurement Studio Distribution Not Fully Install In Windows 7?
06-14-2012 04:43 PM
It does have a setup project. The development machine is a W7 machine, but the deployment machine is XP. Does that change anything? The deployment PC has been running this program for a long time. It was the driver update to the latest DAQmx drivers and then updating my program that messed it up.
I'll check into the KB in the mean time.
06-15-2012 11:25 AM
Also, I installed the program under an admin account.
06-18-2012 02:25 PM
Are the controls you are using set to use a 3D Style. If so, then this still sounds like an issue with mesa.dll. Makes sure that C:\Program Files (x86)\National Instruments\Shared\Mesa\mesa.dll is on the target system. If it is, try copying it to the same directory as your executable.
If it is not on the target system, then it may not be included in your installer. In that case, make sure that nimesadll.msm is included in your setup project. This should occur automatically if you follow the instructions for creating a setup deployment here.
06-18-2012 02:28 PM
THere is no such folder (Mesa) in the Shared folder. I pasted mesa.dll from my devbox to the deployment machine. I'll post back on the next iteration (tomorrow).
06-19-2012 04:25 PM
Well I pasted mesa.dll in the application directory and the problem went away. Is this an artifact of installing the latest DAQmx drivers?
06-19-2012 05:16 PM
DAQmx should not affect mesa.dll. However, some other NI Software packages do include the DLL. Typically it is located in a shared directory for all NI software to access: C:\Program Files (x86)\National Instruments\Shared\Mesa. If you did not have it on the system after running the setup installer, then it is most likely not included in the distribution. The issue I had originally thought you were experiencing was a problem where it is included and is installed, but the path is not written to a registry key because the installer does not have admin privileges. Do you have nimesadll.msm included in your setup project?