记录中文名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
其他阅读

JSON是什么

在现代化 Web 应用开发中,广泛使用一种名为 JSON 的数据交换格式。JSON 是一种轻量级数据交换格式,在不同系统之间提供标准且高效的数据交换。

查看原文

Open Graph优化SEO

Open Graph(OG)协议作为社交分享优化的核心技术,不仅决定了内容在社交媒体平台的展示效果,还间接影响搜索引擎优化(SEO)的表现。本文将从作用解析、核心标签配置到动态生成策略,全面介绍 Open Graph 的应用。

查看原文

C#本质论7.0

《C#本质论》是C#最权威、最值得尊重的参考书之一,作者为此付出了非凡的努力!Mark Michaelis的《Essential C#》系列多年来一直是畅销经典。

查看原文

Entity Framework Core链接Oracle的问题

最近使用 Entity Framework Core 来链接 Oracle 11g 数据库,发现很多 LINQ 语句使用起来都会有问题,查看日志输出发现是生成SQL语句无法被 11g 版本执行,好在Oracle官方已经给我们提供了解决方案。

查看原文

Angular中制作一个按钮组件

本文将会介绍如何在Angular中制作一个自定义按钮组件,直接在原生按钮上添加特性即可使用,还提供多种颜色方便切换。

查看原文