DISM 操作系统包(.cab 或 .msu) 服务Command-Line选项

将 DISM 与 Windows cabinet (.cab) 或 Windows 更新独立安装程序 (.msu) 文件一起用于安装或删除更新、服务包、语言包,以及启用或禁用 Windows 功能。 功能是核心操作系统的可选组件。

语法

DISM.exe {/Image:<path_to_image_directory> | /Online} [dism_global_options] {servicing_option} [<servicing_argument>]

以下操作系统包维护选项可用于脱机映像:

DISM.exe /Image:<path_to_image_directory> [/Get-Packages | /Get-PackageInfo | /Add-Package | /Remove-Package ] [/Get-Features | /Get-FeatureInfo | /Enable-Feature | /Disable-Feature ] [/Cleanup-Image]

以下操作系统包维护选项可用于正在运行的操作系统:

DISM.exe /Online [/Get-Packages | /Get-PackageInfo | /Add-Package | /Remove-Package ] [/Get-Features | /Get-FeatureInfo | /Enable-Feature | /Disable-Feature ] [/Cleanup-Image]

/Get-Help /?

当紧接在包服务命令行选项之后使用时,将显示有关选项和参数的信息。

指定图像时,其他主题可能会变得可用。

语法

Dism /Get-Help 

示例:

Dism /Image:C:\test\offline /Add-Package /?
Dism /Online /Get-Packages /?

/Get-Packages

显示有关图像中所有包的基本信息。 使用 /Format:Table/Format:List 参数将输出显示为表或列表。

语法

Dism /Get-Packages [/Format:{Table | List}]

示例:

Dism /Image:C:\test\offline /Get-Packages
Dism /Image:C:\test\offline /Get-Packages /Format:Table
Dism /Online /Get-Packages

/Get-PackageInfo

显示有关作为文件提供的包.cab的详细信息。 只能.cab文件。 不能使用此命令获取 .msu 文件的包信息。 /PackagePath:<path_to_package> 可以指向文件.cab文件夹。

可以使用 选项在映像中查找包的名称,也可以指定文件.cab /Get-Packages 路径。 文件的路径.cab指向包的原始源,而不是脱机映像上安装该文件的位置。

语法

Dism /Get-PackageInfo {/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>}

示例:

Dism /Image:C:\test\offline /Get-PackageInfo /PackagePath:C:\packages\package.cab
Dism /Image:C:\test\offline /Get-PackageInfo /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

/Add-Package

在映像中.cab指定包或 .msu 包。 只有在目标映像处于脱机状态(装载或应用)时,才支持 .msu 包。

可以在一个命令行中添加多个包。 将检查每个包的适用性。 如果包无法应用于指定的映像,则会收到错误消息。 如果希望在不检查每个包的适用性的情况下处理命令,请使用 /IgnoreCheck 参数。

语法

Dism /Add-Package /PackagePath:<path_to_cabfile> [/IgnoreCheck] [/PreventPending]
  • /PackagePath 可以指向:

    • 单个.cab或 .msu 文件。
    • 一个文件夹,其中包含单个展开.cab文件。
    • 包含单个 .msu 文件的文件夹。
    • 包含多个文件或 .msu .cab的文件夹。
  • 如果 /PackagePath 指向根目录.cab包含 .msu 文件或 .msu 文件的文件夹,则还会以递归.cab检查所有子文件夹。

  • 如果 /PreventPending 包或映像具有挂起的联机操作,则Windows跳过包的安装。

注意

/Add-Package 不会对包的适用性和依赖项运行完全检查。 如果要添加具有依赖项的包,请确保在添加包时安装所有依赖项。

示例:

Dism /Image:C:\test\offline /LogPath:AddPackage.log /Add-Package /PackagePath:C:\packages\package.msu
Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab /IgnoreCheck
Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\test\packages\package.cab /PreventPending

/Remove-Package

从映像.cab指定文件包。 只能.cab文件。 不能使用此命令删除 .msu 文件。

注意

使用此命令从脱机映像中删除包不会减小映像大小。

语法

/Remove-Package {/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>}
  • 使用 指向包的原始源,指定 CAB 文件的路径,或按名称指定包,如映像 /PackagePath 中所列。 使用 /Get-Packages 选项查找映像中包的名称。

示例:

Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0 /PackageName:Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~x86~~6.1.6801.0
Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab

/Get-Features

显示有关操作系统组件 (功能的基本信息,其中包括Windows包) 的可选基础功能。

语法

/Get-Features {/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>} [/Format:{Table | List}]
  • /Get-Features 在映像或包的原始源中查找包的名称。 如果未指定包名称或路径,将列出映像中的所有功能。
  • /PackageName 是映像中的包。 可以使用 /DISM Get-Packages 在映像中查看包名称。
  • /PackagePath 可以指向文件.cab文件夹。

使用 /Format:Table/Format:List 参数将输出显示为表或列表。

示例:

Dism /Image:C:\test\offline /Get-Features
Dism /Image:C:\test\offline /Get-Features /Format:List
Dism /Image:C:\test\offline /Get-Features /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
Dism /Image:C:\test\offline /Get-Features /PackagePath:C:\packages\package1.cab

/Get-FeatureInfo

显示有关功能的详细信息。 您必须使用 /FeatureName。 可以使用 选项 /Get-Features 在图像中查找功能的名称。

语法

/Get-FeatureInfo /FeatureName:<name_in_image> [{/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>}]

/PackageName/PackagePath和 是可选的,可用于查找包中的特定功能。

示例:

Dism /Image:C:\test\offline /Get-FeatureInfo /FeatureName:Hearts
Dism /Image:C:\test\offline /Get-FeatureInfo /FeatureName:Hearts /PackagePath:C:\packages\package.cab

/Enable-Feature

启用或更新映像中的指定功能。 必须使用 /FeatureName 选项。 使用 /Get-Features 选项查找图像中功能的名称。

语法

/Enable-Feature /FeatureName:<name_in_image> [/PackageName:<name_in_image>] [/Source: <source>] [/LimitAccess] [/All]

可以在一个命令行中多次为共享同一父包 /FeatureName 的功能指定选项。

如果包是基础包,则不必使用 选项 /PackageName Windows名称。 否则, /PackageName 请使用 指定该功能的父包。

可以还原和启用以前已从映像中删除的功能。 使用 /Source 参数指定还原功能所需的文件的位置。 文件的源可以通过已装载Windows中的文件夹,例如 c:\test\mount\Windows 。 还可以将Windows文件夹作为文件的源,例如 z:\sources\SxS

如果指定多个 /Source 参数,则会从找到文件的第一个位置收集文件,忽略其他位置。 如果没有为已删除的功能指定 /Source,则使用注册表中的默认位置,或者,对于联机映像,使用 Windows Update (WU) 。

  • 使用 /LimitAccess 防止 DISM 联系 WU 查看联机图像。
  • 使用 /All 启用指定功能的所有父功能。

示例:

Dism /Online /Enable-Feature /FeatureName:Hearts /All
Dism /Online /Enable-Feature /FeatureName:Calc /Source:c:\test\mount\Windows /LimitAccess
Dism /Image:C:\test\offline /Enable-Feature /FeatureName:Calc /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

/Disable-Feature

禁用图像中的指定功能。 必须使用 /FeatureName 选项。 使用 /Get-Features 选项查找图像中功能的名称。

语法:

/Disable-Feature /FeatureName:<name_in_image> [/PackageName:<name_in_image>] [/Remove]

可以在一 /FeatureName 个命令行中多次指定同一父包中的功能。

如果包是基础包的包,则不需要使用 /PackageName 选项Windows名称。 否则, /PackageName 请使用 指定该功能的父包。

使用 /Remove 删除功能,而不从映像中删除该功能的清单。 使用 显示功能详细信息时,该功能将列为"已删除",并且可以通过 /Get-FeatureInfo /Enable-Feature 和 /Source 选项还原和启用该功能。

示例:

*Dism /Online /Disable-Feature /FeatureName:Hearts
Dism /Image:C:\test\offline /Disable-Feature /FeatureName:Calc /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

/Cleanup-Image

对映像执行清理或恢复操作。 /AnalyzeComponentStore/ResetBase 可用于5.0 以上的 Windows 10、Windows 8.1 和 Windows PE 映像。 从 Windows 10 版本1607开始,你可以使用指定 /Defer/ResetBase ,但你/Defer/DeferDISM /Resetbase 需要30分钟以上才能完成的工厂中使用作为选项。

提示

若要确定/ResetBase 选项上一次运行的时间,请检查注册表路径下的 LastResetBase_UTC 注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing

语法

/Cleanup-Image {/RevertPendingActions | /SPSuperseded [/HideSP] | /StartComponentCleanup [/ResetBase [/Defer]] | /AnalyzeComponentStore | /CheckHealth | /ScanHealth | /RestoreHealth [/Source: <filepath>] [/LimitAccess]}
参数 说明
/RevertPendingActions 如果出现启动故障,可以使用/RevertPendingActions 选项来尝试恢复系统。 操作将从以前的维护操作中恢复所有挂起的操作,因为这些操作可能导致启动失败。 /RevertPendingActions 选项在运行的操作系统或 Windows PE 上不受支持,或者 Windows 恢复环境 (Windows RE) 映像。 重要提示:应仅在不启动 Windows 映像的系统恢复方案中使用/RevertPendingActions 选项。
SPSuperseded 删除在安装 Service Pack 期间创建的所有备份文件。 使用/HideSP 可防止 Service Pack 列在 "已安装的更新" 控制面板中。 /SPSuperseded 操作完成后,将无法卸载 Service Pack。
/StartComponentCleanup 清除被取代的组件并减小组件存储区的大小。 使用/ResetBase 重置被取代组件的基,这可以进一步降低组件存储大小。 在 ’ 运行带有/ResetBase 选项的/StartComponentCleanup 后,不能卸载安装的 Windows 更新。 使用/Defer 和/ResetBase 将长时间运行的清理操作推迟到下一个自动维护。
/AnalyzeComponentStore 创建组件存储的报表。 有关报表以及如何使用报表中提供的信息的详细信息,请参阅 确定 WinSxS 文件夹的实际大小
/CheckHealth 检查映像是否已被故障进程标记为已损坏,以及是否可以修复损坏。
/ScanHealth 扫描图像的组件存储已损坏。 此操作将需要几分钟时间。
/RestoreHealth 扫描图像的组件存储损坏,然后自动执行修复操作。 此操作将需要几分钟时间。
/Source 与/RestoreHealth 一起使用,以指定可用于修复的已知完好版本文件的位置,例如已装载映像的 Windows 目录的路径。
/LimitAccess 阻止 DISM 与 Windows 更新联系以修复联机映像。

示例:

Dism /Image:C:\test\offline /Cleanup-Image /RevertPendingActions
Dism /Image:C:\test\offline /Cleanup-Image /SPSuperseded /HideSP
Dism /Online /Cleanup-Image /ScanHealth
Dism /Online /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows /LimitAccess

若要了解详细信息,请参阅修复 Windows 映像

限制

  • 当你在脱机映像中安装包时, “” 由于处于挂起状态的联机操作,包状态为 "正在挂起"。 换句话说,在启动映像并处理联机操作时,将安装包。 如果请求后续操作,则在上一个挂起的联机操作完成前,无法对其进行处理。 /PreventPending当你向添加包时,可以使用选项 /AddPackage ,以在有挂起的联机操作时跳过包的安装。
  • 某些包要求首先安装其他包。 您不应假定需要满足依赖项。 如果包具有依赖项要求,请使用应答文件来安装所需的包。 通过将答案文件传递到 DISM,可以按正确的顺序安装多个包。 有关详细信息,请参阅 使用 DISM 脱机添加或删除包
  • 包按照它们在命令行中的列出顺序安装。
  • 使用 DISM 列出 Windows PE 映像中的可选组件时,即使服务操作成功,可选组件也将始终作为 "挂起" 列出。 这是由设计决定的,无需执行其他操作。

什么是 DISM?

DISM 映像管理命令行选项

部署映像服务和管理 (DISM) 命令行选项