PkgMgr.exe Dism.exe命令行工具 安装CAB和MSU格式更新包 要使用 DISM 命令在 Windows 中批量安装多个 CAB 或 MSU 文件,您可以编写一个批处理脚本。DISM (Deployment Image Servicing and Management) 是一个功能强大的工具,可用于管理 Windows 映像、安装、卸载、配置 Windows 功能、驱动程序等。
PkgMgr.exe 包管理器 全枚举实例(原版语法,适用于 Win7/Win2008R2;Win8 + 已弃用,推荐 DISM)
前置说明
- PkgMgr.exe:早期 Windows 离线包管理工具,Win7、Server2008R2 自带;Win10/11 仍保留兼容,但微软推荐 DISM。
- 必须管理员权限;常用于离线 PE 挂载 wim,安装 / 卸载 Windows 更新包、功能包。
- 核心参数:
/ip安装包、/up卸载包、/n指定系统映像、/o脱机映像路径、/l输出日志、/s暂存目录、/h帮助。- 包格式:
.cab微软更新包;路径含空格必须英文双引号包裹。
一、单命令实例
| 序号 | 命令 | 简要说明 |
|---|---|---|
| 1 | pkgmgr /h |
查看 pkgmgr 帮助文档 |
| 2 | pkgmgr /ip "C:\update\kb5000000.cab" |
在线安装 cab 更新包 |
| 3 | pkgmgr /up "Package_for_KB5000000~31bf3856ad364e35~amd64~~7601.1.1.1" |
在线卸载指定 Windows 更新包(使用包全名) |
| 4 | pkgmgr /n |
列出当前在线系统所有已安装程序包 |
二、双参数混合组合
| 序号 | 命令 | 简要说明 |
|---|---|---|
| 5 | pkgmgr /ip "C:\update\kb5000000.cab" /l "C:\pkg_install.log" |
安装 cab 更新,同时输出安装日志 |
| 6 | pkgmgr /up "Package_for_KB5000000~31bf3856ad364e35~amd64~~7601.1.1.1" /l "C:\pkg_uninstall.log" |
卸载指定更新包,输出卸载日志 |
| 7 | pkgmgr /ip "D:\offline\kb5000000.cab" /o:"D:\Windows;D:\Windows\WinSxS" |
PE 脱机环境,挂载 D 盘离线系统,安装 cab 更新包 |
三、三参数混合组合
| 序号 | 命令 | 简要说明 |
|---|---|---|
| 8 | pkgmgr /ip "D:\offline\kb5000000.cab" /o:"D:\Windows;D:\Windows\WinSxS" /l "C:\pkg_offline.log" |
脱机映像安装 cab 包,指定离线系统路径,生成日志文件 |
| 9 | pkgmgr /up "Package_for_KB5000000~31bf3856ad364e35~amd64~~7601.1.1.1" /o:"D:\Windows;D:\Windows\WinSxS" /l "C:\pkg_off_rm.log" |
脱机模式卸载离线系统内指定更新包并记录日志 |
四、多参数复杂混合组合(4 个及以上参数,运维脚本)
| 序号 | 命令 | 简要说明 |
|---|---|---|
| 10 | pkgmgr /ip "D:\offline\kb5000000.cab" /o:"D:\Windows;D:\Windows\WinSxS" /s "D:\temp\pkgscratch" /l "C:\pkg_offline.log" |
脱机安装 CAB,指定临时暂存目录,输出完整日志 |
| 11 | pkgmgr /n /o:"D:\Windows;D:\Windows\WinSxS" > C:\pkg_offline_list.txt && type C:\pkg_offline_list.txt |
列出离线系统全部已安装包,导出清单到文本并查看 |
五、运维批量脚本片段(管理员 CMD)
@echo off
::在线安装CAB更新包并生成日志
pkgmgr /ip "C:\update\kb5000000.cab" /l "C:\pkg_install.log"
echo 列出本机所有已安装程序包
pkgmgr /n > C:\pkg_list.txt
::脱机PE场景:离线系统安装补丁
pkgmgr /ip "D:\offline\kb5000000.cab" /o:"D:\Windows;D:\Windows\WinSxS" /l "C:\pkg_offline.log"
六、无效 / 边界说明
| 错误命令 | 原因 |
|---|---|
pkgmgr /ip kb5000000.cab |
路径带空格缺少英文双引号,无法识别文件路径 |
| 普通用户执行 pkgmgr /ip | 安装 / 卸载系统程序包必须管理员权限 |
pkgmgr /ip D:\update\update.msu |
pkgmgr不支持 msu,仅支持.cab;msu 需要 wusa.exe |
| Win11 下 pkgmgr 脱机操作 | 新版 Windows 仅保留兼容包装,推荐改用 DISM /Add-Package |
/o参数格式写错/o:D:\Windows |
脱机 /o 格式必须:/o:"Windows目录;WinSxS目录" |
七、运维场景快速选型
- 在线安装 CAB 更新包:
pkgmgr /ip "C:\update\kb5000000.cab" - 查看系统已安装所有包:
pkgmgr /n - 在线卸载更新包:
pkgmgr /up "完整包名称" - PE 脱机映像安装 CAB 补丁 + 日志:
pkgmgr /ip "D:\offline\kb5000000.cab" /o:"D:\Windows;D:\Windows\WinSxS" /l "C:\pkg_offline.log"
Windows Package Manager
×
Note: PkgMgr.exe has been deprecated. Please update your scripts to
use DISM.exe to install, uninstall, configure, and update features
and packages for Windows.
See [http://go.microsoft.com/fwlink/?LinkID=195329](http://go.microsoft.com/fwlink/?LinkID=195329) for more
information.
/?, /h, /help - Displays this help.
/ip - Install package
/up - Uninstall package
/up:{{package name1}[;...]} - Uninstall package(s)
/iu:{update name1}[;...] - Install update(s) specified by name
/uu:{update name1}[;...] - Uninstall update(s) specified by name
/m:"{package directory}" - Specifies the location of the package
/p:"{package name}" - Specifies the identity of the package
/o:"[{boot drive path};{offline Windows directory path}]"
- Specifies operation against an offline
Windows image
/n:{unattend file} - Specifies unattended operation
parameters
/s:{sandbox directory} - Specifies directory to extract files to
/quiet - Runs pkgmgr.exe without UI. If restart
is required it will be performed
without a prompt
/norestart - Suppress restart (when restart
is necessary)
/l:{log file} - Specifies a file for diagnostic output
Windows 程序包管理器
注意:PkgMgr.exe 已被弃用。请更新你的脚本,改用 DISM.exe 来安装、卸载、配置和更新 Windows 的功能与程序包。 更多信息请访问:http://go.microsoft.com/fwlink/?LinkID=195329
| 参数 | 中文说明 |
|---|---|
| /? , /h, /help | 显示此帮助信息 |
| /ip | 安装程序包 |
| /up | 卸载程序包 |
| /up:{package name1}[;...] | 卸载一个或多个程序包 |
| /iu:{update name1}[;...] | 根据名称安装指定更新 |
| /uu:{update name1}[;...] | 根据名称卸载指定更新 |
| /m:"{package directory}" | 指定程序包所在路径 |
| /p:"{package name}" | 指定程序包标识 |
| /o:"[{boot drive path};]{offline Windows directory path}" | 针对脱机 Windows 映像执行操作 |
| /n:{unattend file} | 指定无人值守安装参数文件 |
| /s:{sandbox directory} | 指定文件解压目录 |
| /quiet | 无界面运行 pkgmgr.exe。如需重启,将自动执行且不弹出提示 |
| /norestart | 禁止自动重启(即使操作完成后需要重启) |
| /l:{log file} | 指定诊断日志输出文件 |
补充背景
pkgmgr.exe 是 Vista / Win7 时代的旧系统包管理工具,微软后续使用 DISM(部署映像服务和管理工具) 完全替代它,在 Win10/11 中依然保留 pkgmgr 只是为了兼容旧脚本,不建议新项目继续使用 pkgmgr。
|
PkgMgr.exe /? Windows Package Manager 注意:PkgMgr.exe 已被弃用。请更新您的脚本, 使用 DISM.exe 来安装、卸载、配置和更新 Windows 的功能和软件包。 查看 http://go.microsoft.com/fwlink/?LinkID=195329 获取更多信息。 |
|
PkgMgr.exe 是 Windows 系统中用于管理 Windows 更新包和其他类型包的程序。CAB 文件是 Cabinet 文件的缩写,它是一种压缩文件格式,经常用于 Windows 系统中存储多个文件。MSU 文件是 Microsoft Update Standalone 的缩写,它是一种 Windows 更新包文件格式。
|
PS C:\WINDOWS\system32> dism /?
部署映像服务和管理工具
版本: 10.0.26100.5074
DISM.exe [dism_options] {Imaging_command} [<Imaging_arguments>]
DISM.exe {/Image:<path_to_offline_image> | /Online} [dism_options] {servicing_command} [<servicing_arguments>]
描述:
DISM 枚举、安装、卸载、配置和更新 Windows 映像中的功能和程序包。可以使用的命令取决于提供的映像以及映像是处于脱机还是运行状态。
FFU 命令:
/Capture-Ffu - 将物理磁盘映像捕获到新的 FFU 文件中。
/Apply-Ffu - 应用 .ffu 映像。
/Split-Ffu - 将现有 .ffu 文件拆分成多个只读已拆分 FFU 文件。
/Optimize-Ffu - 优化 FFU 文件,使其其可应用于不同大小的存储
。
WIM 命令:
/Apply-CustomDataImage - 冻结自定义数据映像中包含的文件。
/Capture-CustomImage - 将自定义设置捕获到 WIMBoot 系统上的增量 WIM 文件中。捕获的目录包括所有子文件夹和数据。
/Get-WIMBootEntry - 显示指定磁盘卷的WIMBoot 配置项。
/Update-WIMBootEntry - 更新指定磁盘卷的 WIMBoot 配置项。
/List-Image - 显示指定映像中的文件和文件夹的列表。
/Delete-Image - 从具有多个卷映像的 WIM 文件删除指定的卷映像。
/Export-Image - 将指定映像的副本导出到其他文件。
/Append-Image - 将其他映像添加到 WIM 文件中。
/Capture-Image - 将驱动器的映像捕获到新的 WIM 文件中。捕获的目录包含所有子文件夹和数据。
/Get-MountedWimInfo - 显示有关安装的 WIM 映像的信息。
/Get-WimInfo - 显示有关 WIM 文件中的映像的信息。
/Commit-Wim - 保存对安装的 WIM 映像的更改。
/Unmount-Wim - 卸载安装的 WIM 映像。
/Mount-Wim - 从 WIM 文件安装映像。
/Remount-Wim - 恢复孤立的 WIM 安装目录。
/Cleanup-Wim - 删除与损坏的已安装 WIM映像关联的资源。
通用映像处理命令:
/Split-Image - 将现有 .wim 文件拆分为多个只读拆分 WIM (SWM) 文件。
/Apply-Image - 应用一个映像。
/Get-MountedImageInfo - 显示有关安装的 WIM 和 VHD 映像的信息。
/Get-ImageInfo - 显示有关 WIM、VHD 或 FFU 文件中映像的信息。
/Commit-Image - 保存对装载的 WIM 或 VHD 映像的更改。
/Unmount-Image - 卸载已装载的 WIM 或 VHD 映像。
/Mount-Image - 从 WIM 或 VHD 文件装载映像。
/Remount-Image - 恢复孤立的映像装载目录。
/Cleanup-Mountpoints - 删除与损坏的已安装映像关联的资源。
映像规格:
/Online - 以正在运行的操作系统为目标。
/Image - 指定脱机 Windows 映像的根目录的路径。
DISM 选项:
/English - 用英文显示命令行输出。
/Format - 指定报告输出格式。
/WinDir - 指定 Windows 目录的路径。
/SysDriveDir - 指定名为 BootMgr 的系统加载程序文件的路径。
/LogPath - 指定日志文件路径。
/LogLevel - 指定日志(1-4)中所示的输出级别。
/NoRestart - 取消自动重新启动和重新启动提示。
/Quiet - 取消除错误消息之外的所有输出。
/ScratchDir - 指定暂存目录的路径。
若要获得有关这些 DISM 选项及其参数的详细信息,请在紧挨着 /? 之前指定一个选项。
示例:
DISM.exe /Mount-Wim /?
DISM.exe /ScratchDir /?
DISM.exe /Image:C:\test\offline /?
DISM.exe /Online /?
|
dism /? 部署映像服务和管理工具
描述: DISM 枚举、安装、卸载、配置和更新 Windows 映像
/Capture-Ffu - 将物理磁盘映像捕获到新的 FFU 文件中。 WIM 命令: /Apply-CustomDataImage - 冻结自定义数据映像中包含的文件。 通用映像处理命令: /Split-Image - 将现有 .wim 文件拆分为多个 映像规格: /Online - 以正在运行的操作系统为目标。 DISM 选项: /English - 用英文显示命令行输出。 若要获得有关这些 DISM 选项及其参数的详细信息,请在紧挨着 /? 之前指定一个选项。 示例: |
|
要使用 DISM 命令在 Windows 中批量安装多个 CAB 或 MSU 文件,您可以编写一个批处理脚本。DISM (Deployment Image Servicing and Management) 是一个功能强大的工具,可用于管理 Windows 映像、安装、卸载、配置 Windows 功能、驱动程序等。 以下是一个示例批处理脚本,用于批量安装一个文件夹中的多个 CAB 或 MSU 文件: Copy Code
请将
确保以管理员权限运行批处理脚本,以便顺利完成安装过程。完成后,脚本会显示 "All installations completed." 并暂停以便您查看输出信息。 |
|
要在批处理脚本中允许用户自定义输入文件夹,您可以使用 Copy Code
现在,脚本会提示用户输入存放 CAB 或 MSU 文件的文件夹路径,并进行检查以确保路径存在。然后,它会在指定的文件夹中查找 CAB 和 MSU 文件,并依次安装它们。
|
|
DISM 命令安装 CAB 或 MSU 文件,您需要使用以下命令:
在上述命令中,将 "C:\path\to\your\package.cab" 或 "C:\path\to\your\package.msu" 替换为实际的 CAB 或 MSU 文件的路径。 |
|
批量安装多个 CAB 或 MSU 文件,您可以创建一个文本文件,列出要安装的每个文件的路径,然后使用 "for /f" 命令循环读取该文件并逐个执行 DISM 命令。 以下是一个示例:
Copy Code
Copy Code
这将循环读取 packages.txt 文件中的每一行,并使用 DISM 命令逐个安装 CAB 或 MSU 文件。 请注意,如果您在批处理脚本中使用此命令,请将 |
|
除了使用循环读取文件的方式,还有其他几种方法可以批量安装 CAB 或 MSU 文件:
powershellCopy Code
将 "C:\path\to\packages.txt" 替换为存储要安装的 CAB 或 MSU 文件路径的文本文件的实际路径。然后,运行该 PowerShell 脚本即可批量安装文件。 |
|
Windows 中批量安装多个 CAB 或 MSU 文件,您可以使用 PowerShell 脚本来完成这项任务。以下是一个简单的 PowerShell 脚本示例,用于批量安装多个 CAB 或 MSU 文件: powershellCopy Code
您需要替换
请确保在运行脚本之前以管理员权限打开 PowerShell 控制台,以确保安装过程顺利完成。此外,根据您的需求,您可能需要自定义安装参数以满足特定的要求。 |
|
在 CMD(命令提示符)中编写批处理脚本来批量安装多个 CAB 或 MSU 文件也是可行的。以下是一个示例批处理脚本,用于在 Windows 中批量安装 CAB 或 MSU 文件: Copy Code
您需要将
请注意,在批处理脚本中, 确保以管理员权限运行批处理脚本,以便顺利完成安装过程。完成后,脚本会显示 "All installations completed." 并暂停以便您查看输出信息。 |


浙公网安备 33010602011771号