首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >dism集成补丁遇到0x800401e3的解法

dism集成补丁遇到0x800401e3的解法

原创
作者头像
Windows技术交流
发布2026-07-01 12:29:57
发布2026-07-01 12:29:57
40
举报
文章被收录于专栏:Windows技术交流Windows技术交流
代码语言:txt
复制
Failed to get CBS session: 800401e3
Failed initializing cbs client: 800401e3
Failed to populate edition information: 800401e3

0x800401e3=CO_E_CLASSSTRING/MK_E_SYNTAX——这个错误码来自 COM/OLE 层,表示 arbiter 在尝试连接离线镜像内的 CBS session 时失败了。

代码语言:txt
复制
===== Starting 25H2Win11iotArm64EN =====
复制了 961 个文件
xcopy exit: 0
[2026-06-25 18:31:59] LCU directory mode: 1 package(s) detected
[2026-06-25 18:31:59] ValidateOnly passed. No media copy, WIM mount, package injection, cleanup, or ISO creation was performed.
[2026-06-25 18:31:59] LCU directory mode: 1 package(s) detected
[2026-06-25 18:31:59] Copy media to output root
[2026-06-25 18:32:06] Extract winre.wim from install.wim index 2
  Sanity OK: E:\IsoPatch\work\25H2Win11iotArm64EN_idx2\winre.source.wim 592,204,246 bytes (>= 104,857,600, label=winre.source.wim)
[2026-06-25 18:39:45] Service winre.wim
[2026-06-25 18:40:01] Add driver (pack=VirtIO): L:\Win11ARM\ARM64\viostor.inf
[2026-06-25 18:40:02] Add driver (pack=VirtIO): L:\Win11ARM\ARM64\netkvm.inf
[2026-06-25 18:40:03] Add driver (pack=VirtIO): L:\Win11ARM\ARM64\vmxnet3.inf
[2026-06-25 18:40:05] Skip SSU: path is empty
[2026-06-25 18:40:05] Add package: Safe OS Dynamic Update -> E:\IsoPatch\packages\24H2Arm64EN\safeos-du\windows11.0-kb5094149-arm64.cab
[2026-06-25 18:41:05] Cleanup image: E:\IsoPatch\work\25H2Win11iotArm64EN_idx2\mount\winre  (live progress bar)

部署映像服务和管理工具
版本: 10.0.26100.8521

映像版本: 10.0.26100.8655


[==                         5.0%                           ]

[===========================65.0%=====                     ]

[===========================70.0%========                  ]

[===========================70.0%========                  ]

[==========================100.0%==========================]

[==========================100.0%==========================]
操作成功完成。
[2026-06-25 18:41:10] DISM /Cleanup-Image returned; entering settle wait
[2026-06-25 18:41:10] Waiting for post-cleanup servicing to settle (stable >= 90s)
  [18:41:43] procs=0 sizeStable=False pkgOk=True size=3,077,563,248
  [18:42:16] procs=0 sizeStable=True pkgOk=True size=3,077,563,248
  [18:42:49] procs=0 sizeStable=True pkgOk=True size=3,077,563,248
  [18:43:22] procs=0 sizeStable=True pkgOk=True size=3,077,563,248
  [18:43:55] procs=0 sizeStable=True pkgOk=True size=3,077,563,248
  Cleanup truly settled (stable for 90s)
  Sanity OK: E:\IsoPatch\work\25H2Win11iotArm64EN_idx2\winre.updated.wim 682,259,171 bytes (>= 104,857,600, label=winre.updated.wim)
[2026-06-25 18:44:49] Removed intermediate E:\IsoPatch\work\25H2Win11iotArm64EN_idx2\winre.source.wim
[2026-06-25 18:44:49] Service install.wim index 2
[2026-06-25 18:46:55] Add driver (pack=VirtIO): L:\Win11ARM\ARM64\viostor.inf
[2026-06-25 18:47:00] Add driver (pack=VirtIO): L:\Win11ARM\ARM64\netkvm.inf
[2026-06-25 18:47:04] Add driver (pack=VirtIO): L:\Win11ARM\ARM64\vmxnet3.inf
[2026-06-25 18:47:08] Skip SSU: path is empty
[2026-06-25 18:47:08] Skip Intel microcode update: not configured
[2026-06-25 18:47:08] Add LCU: directory has 1 package(s), injecting one by one -> E:\IsoPatch\packages\24H2Arm64EN\lcu
[2026-06-25 18:47:08]   -> LCU: windows11.0-kb5094126-arm64.msu
警告: 无法添加程序包 E:\IsoPatch\packages\24H2Arm64EN\lcu\windows11.0-kb5094126-arm64.msu
警告: Add-WindowsPackage 失败。错误代码 = 0x800401e3
Add-WindowsPackage : An error occurred applying the Unattend.xml file from the .msu package.
For more information, review the log file.
所在位置 C:\Users\Administrator\.workbuddy\skills\windows-server-iso-patch-integration\scripts\Invoke-ServerIsoPatch_wi
thpercentprogress.ps1:334 字符: 13
+             Add-WindowsPackage -Path $MountPath -PackagePath $pkg.Ful ...
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Add-WindowsPackage], COMException
    + FullyQualifiedErrorId : Microsoft.Dism.Commands.AddWindowsPackageCommand

PS C:\Windows\System32\WindowsPowerShell\v1.0>

本质原因:用 26100 build 的 DISM(主机装的 ADK/DISM 是 24H2 版本)去服务 26200 build(25H2)的离线镜像,CBS 接口不兼容。新版镜像的 servicing stack 暴露的 COM 接口 / CBS session 注册方式跟旧 DISM 不匹配。

这也解释了为什么 winre cleanup 成功但 install.wim 注 LCU 失败

  • winre.wim 只注了 SafeOSDU(一个 .cab),这走的是传统 CBS 路径,不需要 UUP arbiter
  • install.wim 注 LCU(.msu),24H2+ 的 MSU 走 UUP/Update Agent 路径CDismMsuManager::ProcessWithUpdateAgent),这条路径需要初始化 CBS session 做 arbiter decision——在跨 build 版本时就崩了

解法

必须用 26200 版本的 DISM/ADK 来服务 25H2 镜像:升级ADK/DISM 到 25H2 版本(Windows ADK for Windows 11, version 25H2),然后对install.wim重跑集成lcu。

代码语言:txt
复制
& "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe" /Image:"E:\IsoPatch\verify_mount\install" /Add-Package /PackagePath:"E:\IsoPatch\packages\24H2Arm64EN\lcu\windows11.0-kb5094126-arm64.msu"

最新的adk安装了,怎么验证dism版本≥26200了

代码语言:txt
复制
$env:PATH = "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM;" + $env:PATH
dism /? | Select-String "版本"

升级ADK后,实测,25H2直接安装最新的LCU就行,不必先安装kb5043080,0x800401e3 不是"缺 checkpoint"的问题,是dism.exe版本太低,用最新ADK里的dism.exe就行,不过我看微软官方最新lcu都是依赖kb5043080的

代码逻辑是对install.wim"有kb5043080就先注,没有就跳过",对boot.wim无需集成kb5043080

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本质原因:用 26100 build 的 DISM(主机装的 ADK/DISM 是 24H2 版本)去服务 26200 build(25H2)的离线镜像,CBS 接口不兼容。新版镜像的 servicing stack 暴露的 COM 接口 / CBS session 注册方式跟旧 DISM 不匹配。
  • 这也解释了为什么 winre cleanup 成功但 install.wim 注 LCU 失败
  • 解法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档