按需功能

概述

按需功能 (FOD) 是随时可以添加的 Windows 功能。 常用功能包括手写识别等语言资源,或 .NET Framework (NetFx3) 等其他功能。 当 Windows 10 或 Windows Server 需要新的功能时,它可以从 Windows 更新请求功能包。

你也可以预装 FOD,随时供用户按需使用。 FOD 以 .cab 文件形式在按需功能 ISO 中分发,可使用 DISM 将一个或多个 FOD 添加到 Windows 映像。 如果使用按需功能 ISO 来预装 FOD,请确保使用的 ISO 与自己的 Windows 映像版本相匹配。

按需功能 (FOD) 是随时可以添加的 Windows 功能。 常用功能包括手写识别等语言资源,或 .NET Framework (NetFx3) 等其他功能。 当 Windows 11 或 Windows Server 需要新的功能时,它可以从 Windows 更新请求功能包。

你也可以预装 FOD,随时供用户按需使用。 FOD 在语言和可选功能 ISO 上以 .cab 文件的形式分发,你可使用 DISM 将一个或多个 FOD 添加到 Windows 映像中。 如果使用语言和可选功能 ISO 来预装 FOD,请确保使用的 ISO 与你的 Windows 映像版本相匹配。

重要

已弃用使用 DISM /add-package 添加 FOD 的功能。 虽然可以使用 DISM /add-package 将非随附项按需功能添加到 Windows 映像,但最佳做法是使用 DISM /Add-Capability 添加所有 FOD,以确保所有 FOD 都正确添加到映像。

语言和可选功能 ISO 是 Windows 11 的新增功能。 早期版本的 Windows 使用按需功能 (FOD) ISO。

重要

在安装更新之前,依次添加语言包和 FOD。 如果在添加语言包 和 FOD 之前添加更新,则必须重新安装更新。 若要详细了解如何将更新程序包添加到映像,请参阅将更新添加到 Windows 映像

按需功能的类型

Windows 具有两种类型的按需功能:

  • 不带附属包的 FOD:将所有语言资源打包到同一个包中的整体式 FOD。 这些 FOD 以单个 .cab 文件的形式分发。

  • 带附属包的 FOD:将语言和/或体系结构资源包含在单独的包(附属包)中的语言无关 FOD。 安装这种类型的 FOD 时,只会安装应用到 Windows 映像的包,从而可以减少磁盘占用空间。 虽然这些 FOD 是作为一组 .cab 文件分发的,但通过在运行 DISM /Add-Capability 时指定单个 /capabilityname 来安装它们。

    带附属包的 FOD 需要一个采用适当格式的 FOD 存储库。 可将语言和可选功能 ISO 用作存储库,也可使用通过 DISM /export-source 创建的自定义存储库。 不要将 .cab 文件手动复制到文件夹,也不要尝试将它用作存储库。 DISM 需要存储库中的其他元数据。

    有关哪些 FOD 具有附属包的详细信息,请参阅可用的按需功能。 语言 FOD 没有附属包。

提示

尽管可以使用 /add-package 添加非附属 FOD,但我们建议使用 /add-capability 添加所有 FOD,因为使用此命令可以同时添加附属和非附属 FOD。

按需功能介质

脱机介质上提供按需功能包。 下表将 Windows 版本发布映射到你应用来安装按需功能的相应介质。

Windows 版本 媒体
Windows 11 Windows 11 语言和可选功能 ISO
Windows Server 2022 Windows Server 2022 语言和可选功能 ISO
Windows 10 版本 2004 及更高版本 Windows 10 版本 2004 按需功能 ISO
Windows 10 版本 1909 Windows 10 版本 1903 按需功能 ISO
Windows 10 版本 1903 Windows 10 版本 1903 按需功能 ISO
Windows 10 版本 1809 Windows 10 版本 1809 按需功能 ISO

添加或删除按需功能

使用 DISM /add-capability 添加或删除 FOD

使用 DISM /add-Capability 安装 FOD。 如果将 FOD 预装到某个脱机映像,请使用 /source 选项告知 Windows 要在何处查找 FOD 安装文件。 /source 可以是 FOD 存储库,也可以是已装载的语言和可选功能 ISO。 可以在一个命令中使用多个 /source 参数。

如果将 FOD 添加到某个联机映像,/add-capability 将从 Windows 更新下载功能,并将其添加到映像。 如果你不想要从 Windows 更新安装,可以使用 /LimitAccess,它会告知 DISM 不要在 Windows 更新或 Windows Server Update Services 中检查功能源文件。

有关详细信息,请参阅 DISM 功能包服务命令行选项

  • 使用 /online 选项将功能添加到电脑。
  • 结合 /source 选项使用 /Image:\<mount path>,将功能添加到装载的 Windows 映像。
命令 说明 示例
/add-capability

将功能添加到映像。

对于具有依赖项的包,此命令还会提取依赖包。 例如,如果添加了语音包,则除了获取语音包以外,还会获取文本转语音包和基本包。

DISM 将在以下位置查找源文件:
  1. 如果指定了 /Source,DISM 会先在指定的位置进行查找。
  2. 如果未指定 /Source,或者在指定的位置找不到源文件,则 DISM 会检查组策略指定的位置。
  3. 如果仍找不到文件、DISM 正在针对联机映像运行,并且未指定 /LimitAccess,则 DISM 会在 Windows 更新中查找文件。
DISM.exe /image:C:\mount\Windows /add-capability /CapabilityName:Language.Basic~~~en-US~0.0.1.0 /Source:E:

DISM.exe /Online /add-capability /CapabilityName:Language.Basic~~~en-US~0.0.1.0

/Get-Capabilities 获取映像中的功能。 DISM /image:C:\Mount\Windows /Get-Capabilities
/Get-CapabilityInfo 获取映像中的功能的信息。 DISM /image:C:\mount\Windows /Get-CapabilityInfo /CapabilityName:Language.Basic~~~en-US~0.0.1.0
/Remove-Capability

从映像中删除功能。

注意:不能删除其他包所依赖的功能。 例如,如果安装了法语手写识别功能和基本功能,则不能删除基本功能。

DISM.exe /image:C:\mount\Windows /Remove-Capability /CapabilityName:Language.Basic~~~en-US~0.0.1.0

若要查看功能可用的所有 DISM 命令,请参阅 DISM 功能包服务命令行选项

FOD 存储库

使用 /add-capability 将 FOD 添加到映像时,需指定一个存储库用作源位置。 可以:

  • 直接将装载的语言和功能 ISO 用作存储库
  • 创建自定义 FOD 存储库

以下示例演示如何生成包含一个附属 FOD 的最小型的自定义 FOD 存储库:

  1. 装载 Windows 映像

    dism /mount-image /imagefile:install.wim /mountdir:C:\mount
    
  2. 使用文件资源管理器装载按需功能 ISO。 这会为其分配一个驱动器号。

  3. 从 FOD ISO 中的映像中导出 FOD。

    dism /image:"C:\mount\windows" /export-source /source:d: /target:c:\repository /capabilityname:App.StepsRecorder~~~~0.0.1.0
    

    其中,D:\ 是按需功能 ISO 的装载位置

现在,可将 C:\repository 用作存储库中包含的 FOD 的源。

注意

如果要在映像中添加和删除语言,可能需要创建自定义 FOD 和语言包存储库。 有关详细信息,请参阅生成自定义 FOD 和语言包存储库

使用 DISM /add-package 添加或删除 FOD

可以使用 DISM /add-package 将非随附项按需添加到 Windows 映像,但由于无法以这种方式添加非随附项 FOD,因此最佳做法是使用 DISM /Add-Capability 添加所有 FOD,以确保所有 FOD 都正确添加到印象中。

Command 说明 示例
/add-package 将包(包括 FOD .cab)添加到映像。 add-package 只可用于添加没有附属包的 FOD。 DISM.exe /image:C:\mount\Windows /add-package /packagepath:E:\Microsoft-Windows-Holographic-Desktop-FOD-Package~31bf3856ad364e35~amd64~~.cab
/Get-Packages 获取映像中所有包的列表。 DISM /image:C:\Mount\Windows /get-packages
/Get-Packageinfo 获取映像中的包的信息。 DISM /image:C:\mount\Windows /get-packageInfo /packagename:Microsoft-Windows-Xps-Xps-Viewer-Opt-Package~31bf3856ad364e35~amd64~~10.0.17134.1000
/Remove-Package 从映像中删除包。 注意:不要删除其他包所依赖的包。 例如,如果安装了法语手写识别包和基本包,请不要删除基本包。 DISM.exe /image:C:\mount\Windows /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0