Skip to content

应用在部分未打齐最新累积补丁的 Windows 10 设备上双击后完全没有反应,且无任何 UI 报错弹窗。 #271

Closed

Description

@PANDAJSR

检查清单

  • 我已更新到最新版,确认这一 Bug 还没有修复。我也已在 GitHub Issues 中检索,确认这一 Bug 未被提交过。
  • 我已经仔细阅读过选项里的内容,并且知道这个选项不用勾选。
  • 我已知晓并同意,此处仅用于汇报程序中存在的问题(关于其他非程序本身的问题应当在 Discussion 板块提出)。

期望的行为

应用最新版可以在部分未打齐最新累积补丁的 Windows 10 设备上正常运行

实际结果

该问题与 InkCanvasForClass/community#648 类似,其均为 .NET 10 的版本的程序在我们班出现的问题

问题现象

应用在部分未打齐最新累积补丁的 Windows 10 设备(常见于内网机房、旧版系统、教学大屏等)上双击后完全没有反应,启动即发生静默致命崩溃(Process Exit),且无任何 UI 报错弹窗。

根本原因

编译机制默认开启 CET:高版本 .NET(.NET 9 / .NET 10)在编译/打包时默认启用了硬件影子栈兼容性标记(Control-flow Enforcement Technology,即 /CETCOMPAT)。
旧版 Win10 存在系统级缺陷:旧版本 Windows 10 内核(如 ntdll.dll 低于 10.0.19041.5007)在解析该 PE 头的 CET 标志时存在兼容性 Bug,导致进程初始化阶段直接被系统终止。
推荐解决方案(开发端修复)

在主程序(以及所有独立宿主/子进程程序,如 .LiquidGlassMagHost)的 .csproj 文件中显式关闭 CET 兼容性,重新编译打包即可:

<PropertyGroup>
  <!-- 显式禁用 CETCompat,解决旧版 Win10 上的启动崩溃 -->
  <CetCompat>false</CetCompat>
</PropertyGroup>

重现步骤

要复现此问题,需要满足“支持 CET 的现代硬件”与“未打齐 2024 年 10 月安全补丁的 Windows 10 系统”两个核心条件。

复现所需环境

硬件要求:必须在支持 Intel Tiger Lake(第 11 代 Core 及以上)或 AMD Zen 3(Ryzen 5000 及以上)的真机(或开启了 CPU 虚拟化传递的虚拟机)上测试。旧 CPU 不具备硬件影子栈,无法触发此底层指令校验。

系统环境:安装未更新至最新补丁的 Windows 10(如 21H2 / 22H2 原始 ISO,确保 ntdll.dll 版本低于 10.0.19041.5007,即未安装 KB5044273 补丁)。

开发环境:.NET 9 或 .NET 10 SDK。

Gemini 说的,我并未实际尝试复现()

截图/录屏(可选,建议)

真实教室环境截图(别问我为啥在大屏上用CC,问就是新班主任不管):

Image

诊断信息

无stdout/err,无日志

最后一步

  • 我认为上述的描述已经足以详细,以允许开发人员能复现该问题。如果我的 issue 没有按照上述的要求填写,可能会被无条件关闭。

Activity

  1. added theissue type on Sep 1, 2026
  2. added
    Bug程序没有正常工作
    未读开发者没看过此issue
    on Sep 1, 2026
  3. ShiMingXuanSimon commented on Sep 6, 2026

    @ShiMingXuanSimon
  4. lrs2187 commented on Sep 6, 2026

    @lrs2187
    Member

    明白。近期将会进行修复,届时会关闭此issue。之后会随beta1发布修复版本

  5. added
    正在处理此标签表示此issue正在处理
    类别/运行时与应用启动、退出、安装、卸载和系统环境等有关的 Issue。
    and removed
    未读开发者没看过此issue
    on Sep 6, 2026
  6. added
    已完成此标签代表此issue已解决
    and removed
    正在处理此标签表示此issue正在处理
    on Sep 6, 2026
  7. added a commit that references this issue on Sep 8, 2026
    1e6bb00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Bug程序没有正常工作已完成此标签代表此issue已解决类别/运行时与应用启动、退出、安装、卸载和系统环境等有关的 Issue。

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions