問題及現象:
程序中調用了NI的Led、switch等控件的3D樣式,在開發環境下可正常顯示,但打包后裝入新系統后出現不能正常顯示的問題。
解決:
1、在NI網上查到如下信息:
Why Do Measurement Studio 3D Style UI Objects Not Display In My Installer Application?
Problem:
I deployed a Measurement Studio application but some 3D Style UI controls, such as LED or gauge, doesn't show on screen while other controls, such as graphs, show fine. The application runs fine on my own machine where I have installed the Measurement Studio environment. When I install the application on other machine, I still have that problem. How can i solve this issue?
Solution:
A common cause for 3D Style UI objects to not display when deployed to a new system is that the Mesa.dll is missing. Mesa.dll contains the information that the application needs to render the 3D control styles. Make sure that NIMesaDLL.msm is included in your Visual Studio setup project. Refer to the Measurement Studio help topic Measurement Studio .NET Merge Modules for information on which assemblies your application needs.
Use the directions in the Measurement Studio Help topic Deploying Measurement Studio Applications to create a deployment for Measurement Studio applications.
可以參考以下信息:
http://digital.ni.com/public.nsf/allkb/ABAE912AAE671AC08625788D0076BE51?OpenDocument
http://digital.ni.com/public.nsf/allkb/6677098983C36F9086256CFE007F457A?OpenDocument
其中提到兩點:
1)NIMesaDLL.msm合並模塊要加入打包文件中。
2)Mesa.dll的使用。
說明:
1、在加入NIMesaDLL.msm前提下,xp下一定要加入Mesa.dll,但Win7系統下可以不加也能正常顯示。
2、后來測試不用加NIMesaDLL.msm,只加Mesa.dll到安裝目錄下面就可以正常顯示了
3、請注意上述兩個文件的版本及Measurement Studio其它DLL的版本問題
