WPF开发的程序在大多数设备上运行正常,在某一台上无法运行,问题排查
问题描述:
最近我们使用WPF开发的数据获取程序,在大多数设备机台上都能正常运行,只是在其中一台上面无法运行,以往都是请设备恢复系统的方式解决的,但是现在设备太忙,无法做这项工作,经过现场沟通了解到,这台设备的状况如下:
1、机器设备被重新做过系统,让设备人员重新做系统困难;
2、系统运行正常后闪退,后台有进程,但是没有显示出正常的操作界面;
3、其他软件能够正常打开,比如安装了火绒杀毒软件,正常开启。
尝试的失败方案:
1、试着结束explorer.exe进程,然后新建进程的方式,我们的程序还是无法显示出来;
2、对比了隔壁设备机台上面安装的软件,发现基本一致的;
3、检查下.NET开发环境,是正常开启的;
4、与隔壁机台对比了下环境变量也是一致的;
5、网上有人说,程序无法打开是外接了设备,例如游戏鼠标键盘之类的,我试着把所有的外接设备全部关掉,还是无法正常启用MES。
成功方案:
今天早上突然想到,会不会是我们的程序太大了,装载的东西过多,导致了系统无法正常加载,待着这样的思路,我立马使用WPF和winform做了两个数据小程序,分别基于.NET3.5和.NET4.0框架,放到设备上面试验:
试验结果如下:
1、发现我们的winfrom程序能够正常在设备上打开,但是WPF程序无法打开,由于这个程序很小,应该不是不能加载的问题;
2、使用.NET4.0开发的WPF的程序能够正常打开,但是使用的.NET3.5开发WPF的程序无法打开,基本可以判定跟运行的.NET3.5环境有关。
3、我试着重新安装.NET3.5框架,发现无法安装、
解决方案:
给设备重新安装了.NET4.0框架,将我们的程序框架也更换为.NET4.0框架,放到设备上面,发现可以正常使用了。



