记录中文名WPF应用无法启动

今年开春,突然就收到部分用户反馈软件无法启动的问题,沟通后远程查看发现应用刚启动就直接崩溃了,在Windows的事件查看器可以看到应用的崩溃日志,发现是 ucrtbase.dll 模块崩溃,错误代码 0x0000409

寻找问题

网上查询后发现有人说是因为软件是中文名的原因,修改软件名称为英文后可以正常启动,后面发现软件下其他中文程序还是可以正常启动,所以中文名只是触发条件之一。系统层面有的是Windows 10,有的是Windows 11,有人处于23H2,有人还处于21H2,可以当作共同点的就是都是最新两代的英特尔CPU(12代,13代),在公司尝试复现这个问题也没成功过。

在网上查询众多资料后,终于在一位大佬的博客上发现了问题所在,这个锅必须是英特尔背起来,问题关键在于英特尔的核显驱动(难怪无法复现,公司的都是不带核显的CPU),在12代和13代的核显驱动会导致中文名的WPF程序启动时发生崩溃。

应用程序用了中文名,开发框架使用WPF,使用了新一代带核显的英特尔处理器,英特尔驱动为 31.0.101.4575 以上,这些条件都满足的情况下就会出现应用程序启动后崩溃。

解决方法

好在英特尔现在已经发布了新的驱动修复了这个问题,使用 31.0.101.5379 版本以上的驱动可以正常启动中文名WPF应用程序。

发布时间:2024-05-14
其他阅读

WPF使用云母材质

在最新的Windows 11 OS中,微软为流畅设计(Fluent Design)带来了新的云母材质,云母材质一种不透明的动态效果,微软将其作为Windows 11应用窗体的默认材质。

查看原文

使用表达式树来提高反射的性能

反射是C#中一种常用的技术,反射提供了动态创建和访问对象的基础,但是反射在带来了极强的灵活性的同时,也带了极大的性能损耗,本文就介绍通过表达式树来提高反射过程中的性能。

查看原文

HTTP状态码

HTTP状态码为客户端提供了一种理解事务处理结果的边界方式。本文列出一些原因短语,所使用的是HTTP/1.1规范所定义的。

查看原文

HTTP方法

HTTP报文中包含了方法,指的是客户端希望服务器对资源执行的动作,是一个单独的词,比如GET,POST,OPTIONS等,本文将会介绍主流的几种方法。

查看原文

Windows的刘海生成器

其实是很早之前在论坛讨论当时苹果率先推出了带刘海的 mac book pro 的时候,就花了几分钟做了一个模拟刘海的软件,可以给 Windows 系统加上刘海。

查看原文