必须先确认系统可服务状态,运行dism /online /get-packages /format:table验证;若报错则需先执行dism /online /cleanup-image /scanhealth,否则安装会失败并返回0x800f081f或0x80070002错误。

确认当前系统状态并准备安装环境
在执行任何 DISM 安装操作前,必须确保系统处于可服务状态,否则命令会直接失败或产生不可逆的损坏。这一步不是可选项,跳过会导致后续所有操作返回 0x800f081f 或 0x80070002 错误。
以管理员身份打开 PowerShell(右键“开始”→“Windows PowerShell(管理员)”,窗口标题栏必须含“管理员:”字样)。
运行 dism /online /get-packages /format:table,观察是否能正常列出已安装补丁列表。若报错“拒绝访问”或“组件存储损坏”,请先执行 dism /online /cleanup-image /scanhealth 并确认无严重损坏再继续。
安装单个 .cab 更新包的标准命令
这是最常用、最稳妥的安装方式,适用于微软官方发布的独立补丁(如 KB5034441.cab)。
第一步:将 .cab 文件复制到一个不含中文、空格和特殊符号的路径,例如 C:\updates\KB5034441.cab。
第二步:在管理员 PowerShell 中执行:
dism /online /add-package /packagepath:"C:\updates\KB5034441.cab"
⚠️注意:路径必须用英文双引号包裹,哪怕路径中没有空格;不加引号时,PowerShell 会把带连字符的文件名截断,导致“找不到指定的包”错误。
第三步:等待输出“操作成功完成”。此时补丁已写入组件存储,但尚未生效——需重启后才能加载新驱动或启用新功能。
批量安装多个 .cab 补丁的高效方法
当你要部署安全月度汇总包(如 SSU + LCU + DotNet 组合)时,逐条执行 add-package 效率极低,且中途失败无法回滚。
方法一:使用 for 循环一次性处理目录下全部 .cab 文件
for %i in (C:\updates\*.cab) do dism /online /add-package /packagepath:"%i"
方法二:用 PowerShell 脚本实现带错误捕获的顺序安装(推荐)
$cabs = Get-ChildItem "C:\updates\*.cab"; foreach ($cab in $cabs) { dism /online /add-package /packagepath:$cab.FullName /norestart; if ($LASTEXITCODE -ne 0) { Write-Error "安装失败:$cab.Name"; break } }
【/norestart 参数不可省略】 否则每个 .cab 安装完都会强制重启,导致后续包根本无法执行。
处理 .msu 格式更新包的正确路径
.msu 文件本质是封装了 .cab 的自解压容器,不能直接用 /add-package 加载,否则报错 0x8007007b。
必须先手动解压:右键 .msu 文件 → “打开方式” → 选择“Windows 更新 Standalone Installer” → 点击“下一步”后立即关闭窗口(不要点“安装”),此时系统已在 %windir%\Temp\ 下生成同名 .cab 文件。
进入临时目录查找最新生成的 .cab(按修改时间排序),将其复制到干净路径(如 C:\cabtemp),再用标准 /add-package 命令安装。
这一步操作起来很简单,直接把文件拖进去就行,但跳过解压直接调用 DISM 会卡死在“正在启动服务”阶段,无任何提示。
安装失败时的关键诊断命令
当 dism /online /add-package 返回非零退出码,不要反复重试。先定位根因:
运行 dism /online /get-packageinfo /packagepath:"C:\updates\KBxxx.cab",验证该 .cab 是否与当前系统架构(x64/ARM64)、版本(21H2/22H2)、语言匹配。不匹配时会提示“不支持的体系结构”。
查看详细日志:notepad C:\Windows\Logs\DISM\dism.log,搜索最后一段 “Error” 行,重点关注 HRESULT 值——例如 0x80070005 表示权限不足,0x80070643 表示依赖缺失。
若日志中出现 “CBS MUM file missing”,说明该补丁需要前置 SSU(Servicing Stack Update),必须先安装对应版本的 SSU .cab 才能继续。











