紧急预警:微软 Edge Webview2 v144 升级导致 SAP GUI 严重白屏故障 (Note 3704912)

时间:2026 年 1 月 22 日

对于负责 SAP 运维的 Basis 团队和企业 IT 管理员而言,今天注定是忙碌的一天。大量终端用户反馈 SAP GUI 中的关键事务代码(如 SM50、SE80、RZ11)出现界面白屏、ALV 列表头部消失或按钮点击无响应的现象。

经确认,这并非 SAP 系统内核或 GUI 补丁的缺陷,而是源于微软刚刚推送的 Microsoft Edge Webview2 Runtime 最新版本 144.xxx 引入的重大 Bug。

SAP 官方已于今日紧急发布 SAP Note 3704912,确认了该组件与 SAP GUI 现有 Edge 控件的兼容性冲突,鉴于 Webview2 在企业环境中的自动更新机制,此问题可能会在短时间内大面积爆发。

1.故障现象及分析

Webview2 v144 破坏了 SAP GUI 容器与 HTML 对象通信

故障主要集中在 SAP GUI for Windows 中那些依赖 HTML Control 渲染的界面。当客户端环境同时满足以下两个条件时,问题即刻复现 。

  • 组件版本: 安装了 Microsoft Webview2 Runtime v144.xxx。
  • GUI 配置: SAP GUI 的浏览器控件被配置为使用 "Edge"(这是近年来 SAP 推荐的默认设置,用于支持现代 Web 渲染) 。   

主要典型症状如下:

图片
  • 交互瘫痪: 用户点击 HTML 页面上的超链接或功能按钮,系统无任何反馈。
  • UI 渲染失败: SE80 右侧主区域或下方消息区域完全空白,SM50 的ALV 列表的表头区域内容丢失,RZ11 参数文档显示区域白屏,其他采用ALV技术的自开发程序的表头区域内容丢失。

上述问题的产生的原因在于 Webview2 v144 破坏了 SAP GUI 容器与其内部 HTML 对象之间的通信桥梁,微软官方已承认该缺陷(TrackingID#2601200050000910),并正在紧急开发修复补丁。

2. 紧急处置方案

2.1 设置SAP GUI,从“Edge”回退至“IE”

在微软发布 v144 的热修复补丁之前,企业 IT 部门需立即采取行动以恢复业务连续性,最稳妥、副作用最小的方案是暂时弃用 Edge 控件。

对于拥有本地配置权限的高级用户或管理员,可通过以下路径快速恢复。

图片
  • 打开 SAP GUI,进入 选项 (Options)。   
  • 导航至 交互设计 (Interaction Design) -> 控件设置 (Control Settings) -> HTML 控件 (HTML Control)。
  • 在 浏览器控件 (Browser Control) 下拉菜单中,将默认的 "Edge (based on Chromium)" 修改为 "Internet Explorer"。
  • 重启 SAP GUI 即可生效。

注:根据 SAP Note 2913405,尽管 IE 浏览器已退出Windows系统,但 SAP GUI 内部集成的 IE 控件模式仍然是被官方支持的,可用于处理此类兼容性。

2.2 全局策略推送

对于拥有数千个终端的大型企业,建议通过组策略或 SAP GUI 安装服务器统一推送注册表变更,强制将浏览器控件回退至 IE 模式,直至微软发布新的更新解决该问题。

3. 进阶配置策略

配置“浏览器回退 Browser Fallback” 规则 

简单粗暴地切回 IE 虽然能解决 SE80 等老旧 T-Code 的白屏问题,但可能会导致部分 Fiori 应用将无法在 SAP GUI 内正常运行。

例如 /n/ui2/flp (Fiori Launchpad)、SOAMANAGER 或 SAML2 配置界面,依赖 Edge (Chromium) 的渲染能力,如果全局切回 IE,这些应用可能会出现脚本错误或布局问题。

对于混合了传统 ABAP 开发与 Fiori 应用的环境,建议采用 SAP Note 2957665 提供的“回退配置 (Fallback Configuration)”机制。

Basis 可以创建一个 XML 格式的规则文件,定义一套精细化的路由策略:

  • 默认策略:保持使用 Edge,确保 Fiori 和现代 Web 应用的兼容性。   
  • 例外规则:针对受本次 Bug 影响的特定事务代码(如 SM50, SE80, RZ11 等),强制其回退使用 Internet Explorer 控件。

注:SAP GUI 版本需满足补丁要求(建议 Patch Level 7 以上),需参考 Note 3153691 实施相关预置条件。

4. 建议

此次 Webview2 v144 引发的事故再次提醒我们,企业级 ERP 环境对桌面客户端组件的依赖性日益增强;在“云优先”的战略下,客户端的稳定性依然是业务连续性的最后一道防线 。建议 IT 管理团队立即采取以下行动:

  • 暂停更新:暂时拦截内网的 Webview2 v144 版本推送。   
  • 发布公告:通知关键用户遇到白屏问题时的临时规避方法。
  • 关注修复:持续跟踪微软及 SAP 的后续公告,一旦 v144 修复版发布,需进行验证后重新启用 Edge 控件。

Read more

双剑破天门:攻防世界Web题解之独孤九剑心法(八)

双剑破天门:攻防世界Web题解之独孤九剑心法(八)

免责声明:用户因使用公众号内容而产生的任何行为和后果,由用户自行承担责任。本公众号不承担因用户误解、不当使用等导致的法律责任 **本文以攻防世界部分题为例进行演示,后续会对攻防世界大部分的web题目进行演示,如果你感兴趣请关注** 目录 一:WEB 2 二:Web_php_unserialize 三:php_rce 四:web_php_include 五:总结 1. WEB 2 2. Web_php_unserialize 3. php_rce 4. web_php_include 一:WEB 2 打开是一个php代码 代码审计 1.首先给了一段密文也就是需要解密的flag 2.然后对传进来的str进行字符串反转($_o) 3.

【TRAE】AI 编程:颠覆全栈开发,基于 TRAE AI 编程完成 Vue 3 + Node.js + MySQL 企业级项目实战,从环境搭建到部署上线

【TRAE】AI 编程:颠覆全栈开发,基于 TRAE AI 编程完成 Vue 3 + Node.js + MySQL 企业级项目实战,从环境搭建到部署上线

目录 一、TRAE 三大智能体简介 (1)三大智能体核心区别 (2)三大智能体适用场景 ① @Chat 智能体:“结对编程”伙伴 ② @Builder 智能体:你的“原型加速器” ③ @Builder with MCP:你的“全栈交付引擎” (3)实战场景流程示例:构建一个 “用户管理中心” 二、@Builder with MCP 智能体(全栈应用) (1)核心能力 ① 外部系统连接与操作 ② 全栈应用架构设计 ③ 真实数据生命周期管理 ④ 生产就绪配置与部署 (2)高效使用 @Builder with MCP 的黄金法则 ① 法则一:始于终——蓝图描绘法则 ② 法则二:契约先行——接口驱动法则 ③ 法则三:

H.265 (HEVC) 网页播放:WebAssembly + FFmpeg 实现浏览器端的硬解/软解兼容方案

H.265 (HEVC) 网页播放:WebAssembly + FFmpeg 实现浏览器端的硬解/软解兼容方案

标签: #WebAssembly #FFmpeg #H.265 #WebCodecs #音视频开发 #前端性能 📉 前言:浏览器对 H.265 的“爱恨情仇” 为什么 <video src="video.h265.mp4"> 在 Chrome 里放不出来? 因为 H.265 的专利池太深了。只有 Safari (即使是 iOS) 和 Edge (需硬件支持) 原生支持较好。 我们的目标是构建一套混合解码方案: 1. 优先硬解 (WebCodecs):如果浏览器支持硬件加速(如 Chrome 94+ 的 WebCodecs),直接调用

前端状态管理:别让你的状态变成一团乱麻

前端状态管理:别让你的状态变成一团乱麻 毒舌时刻 这状态管理得跟蜘蛛网似的,谁能理得清? 各位前端同行,咱们今天聊聊前端状态管理。别告诉我你还在使用 setState 管理所有状态,那感觉就像在没有地图的情况下寻宝——能找,但累死你。 为什么你需要状态管理 最近看到一个项目,组件之间传递状态需要经过 5 层,修改一个状态要修改多个地方。我就想问:你是在做状态管理还是在做传递游戏? 反面教材 // 反面教材:混乱的状态管理 function App() { const [user, setUser] = useState(null); const [posts, setPosts] = useState([]); const [comments, setComments] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { async function fetchData() { setLoading(