孤立的预配程序包
孤立的预配程序是从 Windows 10 版本 1607 开始提供的一种预配程序包类型。 与可从 Windows 映像捕获所有经典 Windows 应用程序和设置的传统预配程序包不同,孤立的预配程序包可以单独捕获经典 Windows 应用程序、捕获驱动程序以及应用程序、仅捕获设置或是捕获以前捕获的预配程序包的加载项。 这为制造过程提供了更大的灵活性,并且可帮助减少在工厂中构建基于 Windows 的计算机所需的时间。
性能比较
下表显示了在典型工厂过程中使用 Office 安装程序与使用孤立的预配程序包之间的比较。 使用孤立的预配程序包安装 Office 时,基本 Office en-us 程序包以及加载项 Office fr-fr 和 Office de-de 是使用用户状态迁移工具 (USMT) ScanState.exe 实用工具在映像实验室中的一次性过程中进行捕获。 下表中的数据源自在使用 Windows 10 版本 1607 桌面映像的 VM 上运行的示例。 工厂中的实际时间节省量会因所安装应用程序的数量和大小以及物理设备的硬件规格而异。 时间节省量可按以下方式进行计算:
<time to Sysprep & boot to Audit mode>
+ <time to install applications + time to capture applications in a PPKG> + (optional) time to single-instance the PPKG>
– <time to apply SPPs + time to Sysprep & boot to Audit mode>
.
阶段/任务 | 使用 Office 安装程序的工厂过程 | 使用孤立的预配程序包的工厂过程 |
---|---|---|
将映像应用于设备 | 4 分钟 | 4 分钟 |
安装语言包 – fr-fr 和 de-de | 20 分钟 | 20 分钟 |
运行 BCDBoot.exe | 可忽略 | 可忽略 |
运行 DISM 以应用孤立的 Office en-us 基本程序包以及 Office fr-fr 和 Office de-de 程序包 | 空值 | 3 分钟 |
运行 Sysprep 并启动到审核模式 | 10 分钟 | 19 分钟 |
安装 Office 2016 en-us、fr-fr 和 de-de | 12 分钟 | 空值 |
运行 ScanState 以将 Office 捕获到预配程序包中(适用于 PBR) | 10 分钟 | 空值 |
(可选 – 对于低磁盘空间)在预配程序包中捕获单实例 Office 文件 | 7 分钟 | 空值 |
总计 | 56-63 分钟 | 46 分钟 |
总体应用程序安装时间 | 加快 45-65% | |
总体 E2E 部署时间 | 加快 18-30% |
使用孤立的预配程序包
若要使用孤立的预配程序包,需要在技术人员 PC 上安装 Windows 评估和部署工具包。
若要创建和部署孤立的预配程序包,需要执行以下操作:
使用
CopyDandI.cmd
脚本从 ADK 安装位置复制使 DISM 和 ScanState 可使用 SPP 的二进制文件。 运行该脚本,将所有所需文件复制到输出文件夹,例如 D:\ADKTools:<%Windows ADK install root%>\Deployment Tools\CopyDandI.cmd amd64 D:\ADKTools
使用 DISM 之前,需要将 ADK 工具再次复制到目标设备的不可移动磁盘。 将文件复制到不可移动位置可避免与从可移动驱动器安装 DISM 相关的错误。
xcopy D:\ADKTools\ W:\ADKTools\ /s
在目标设备上安装工具:
W:\ADKTools\amd64\WimMountAdkSetupAmd64.exe /Install /q
在目标设备上运行刚安装的 DISM 版本
W:\ADKTools\amd64\DISM.exe /Apply-SiloedPackage /ImagePath:C:\ /PackagePath:e:\repository\SPP_base.spp /PackagePath:e:\repository\SPP_AddOn1.spp /PackagePath:e:\repository\SPP_AddOn2.spp
使用 ScanState 从启动的 Windows 安装捕获孤立的预配程序包,并使用 DISM 将 SPP 应用于从 WinPE 应用的 Windows 映像。
创建孤立的预配程序包
此部分介绍如何从 Windows 桌面使用 ScanState.exe 创建包含应用程序、系统设置和驱动程序的孤立的预配程序包。
建议:
- 使用全新 Windows 安装。 这可防止程序包中包含任何可能不需要的设置。
- 使用带检查点的虚拟机快速捕获 SPP,然后还原到全新 Windows 安装。
配置文件
从 Windows 10 版本 1607 开始,ScanState 现在可以捕获单个 Windows 桌面应用程序。 默认情况下,仅捕获 Windows 命名空间中的组件。 在将 ScanState 的 /apps
选项与配置文件一起使用时,可以选择捕获的内容。 Windows 评估和部署工具包会在 <%Windows ADK install root%>\User State Migration Tool\<arch>\
文件夹中包含配置文件。
自定义这些文件,以在孤立的预配程序包中捕获更多或更少组件:
配置文件 | 使用情况 |
---|---|
Config_AppsOnly.xml | 捕获 Windows 桌面应用程序和应用程序设置,而不捕获其他不相关的设置。 这通常用于创建可在最终工厂过程中部署的应用程序清单。 |
Config_SettingsOnly.xml | 仅捕获系统设置。 这通常用于创建可在最终工厂过程中部署的应用程序清单。 |
Config_AppsAndSettingsOnly.xml | 捕获桌面应用程序和系统设置。 这可在创建应用程序清单时使用,也可在工厂过程中用作最后一步。 |
捕获 Windows 桌面应用程序
以下示例使用配置文件创建包含在参考设备上安装的 Windows 桌面应用程序的孤立的预配程序包:
ScanState.exe /apps:-sysdrive /o /v:13 /config:Config_AppsOnly.xml /ppkg e:\repository\SPP_base.spp /l:C:\Scanstate.log
以上命令的参数含义如下:
参数 | 说明 |
---|---|
apps/ | 告知 ScanState 捕获桌面应用程序。 |
-sysdrive(或 +sysdrive) | 告知 ScanState 忽略 Windows 命名空间外部的所有文件夹。 例如,如果有一个文件夹 c:\Folder,则在使用 /apps(或 /apps:+sysdrive)运行时会捕获该文件夹,但在使用 /apps:-sysdrive 运行时不会捕获它。 如果要将计算机的整个状态捕获到单个孤立的预配程序包中,通常会使用 +sysdrive;如果要捕获单个应用程序(或一小组应用程序),则使用 –sysdrive。 Windows 命名空间是由 Windows 安装创建的文件夹集,通常为:
|
/o | 覆盖存储中的任何现有数据。 如果未指定,则在存储已包含数据时,ScanState 会失败。 |
/v:13 | 生成 MigLog.xml 文件,该文件指示捕获的内容。 |
/diff | 与 /apps 命令选项一起使用,以捕获与已在孤立的预配程序包中捕获的父应用程序相关的应用程序加载项组件。 |
/l:ScanState.log | 告知 ScanState 用于保存日志文件的位置。 与 /v:13 结合使用时,ScanState 会将 MigLog.xml 保存到与 ScanState.log 相同的文件夹中 |
捕获加载项组件
可以使用 /diff
选项创建孤立的预配程序包,以捕获与已在孤立的预配程序包中捕获的父应用程序相关的组件。 若要使用 /diff
,必须指定要与捕获进行比较的 SPP:
ScanState.exe /apps:-sysdrive /o /v:13 /config:Config_AppsOnly.xml /diff:e:\repository\SPP_base.spp /ppkg e:\repository\SPP_AddOn1.spp
捕获系统设置
在设备的所有部署任务都完成并且未安装 Windows 桌面应用程序的情况下,可以使用 ScanState 捕获尚未使用 Config_SettingsOnly.xml 在任何其他 SPP 中捕获的系统设置。 SPP 可以在捕获过程中直接放置在恢复文件夹中,以便在一键重置期间使用。
以下示例在设备上创建纯系统设置的孤立的预配程序包,并将其放置在恢复文件夹中:
ScanState.exe /apps:-appfiles /o /v:13 /config:Config_SettingsOnly.xml /ppkg %systemdrive%\Recovery\Customizations\systemsettings.spp
在相同程序包中捕获系统设置和 Windows 桌面应用程序
Config_AppsAndSettingsOnly.xml 旨在捕获最近一分钟安装 Windows 桌面应用程序和系统设置,因此可将其放置在恢复文件夹中,以便在一键重置期间使用
例如,设备在工厂中启动到审核模式后,将安装附加 Win32 应用并且需要进行捕获。 在这种情况下有两种选择:
- 使用 /diff 开关和 Config_AppsOnly.xml,在一个 .spp 中捕获附加应用及其相关设置。 然后使用 Config_SettingsOnly.xml 在单独的 .spp 中捕获系统设置。
- 使用 /diff 开关和 Config_AppsAndSettings.xml,将附加应用和系统设置捕获到一个 SPP 中。
如果要将所有应用和设置捕获到一个 .spp 文件中以便在映像实验室或工厂中使用,也可以使用 Config_AppsAndSettingsOnly.xml。
捕获驱动程序
此部分介绍如何通过 ScanState 捕获不同类型的驱动程序。
驱动程序类型
使用 /drivers
选项时,ScanState 会捕获第三方驱动程序。 默认情况下,ScanState.exe 会捕获所有第三方驱动程序,但也可以基于 .inf 名称、制造商或类来捕获驱动程序的子集。 使用 /drivers
时,不能捕获某些驱动程序类型,如筛选器驱动程序。 如果无法使用 /drivers
选项捕获驱动程序,请使用 /apps
运行 Scanstate.exe。
在要捕获驱动程序及其关联管理软件(例如用于打印机或视频卡)的情况下,/drivers
选项还可以与 /apps
结合使用。
硬件驱动程序
若要捕获使用 .inf 文件安装的驱动程序,请使用 /drivers 开关。 不需要使用 /apps 开关。
若要捕获使用其他方法(例如 setup.exe 文件)安装的驱动程序,请同时使用 /drivers 和 /apps。 这可确保同时捕获驱动程序包以及安装程序为该驱动程序创建的所有 Windows 桌面应用程序和设置。 若要筛选出其他驱动程序包,请使用与 /drivers 结合使用的参数。
其他驱动程序
使用 /drivers 开关不会捕获筛选器驱动程序这类驱动程序。 若要捕获这些类型的驱动程序,请仅使用 /apps 开关。
使用模式捕获驱动程序
ScanState.exe /drivers
在默认情况下会捕获所有第三方驱动程序,但如果要仅捕获特定驱动程序,则可以使用模式缩小 ScanState 捕获的驱动程序数量。 ScanState 会从左到右处理命令,因此在命令中指定的最后一个模式会最后处理。 例如,如果要仅捕获一组特定的驱动程序,则需要首先从捕获中排除所有驱动程序,然后包括特定驱动程序。 由于参数按顺序进行处理,因此会捕获在排除所有驱动程序之后指定的驱动程序。
下面是可用于选择将捕获的驱动程序的模式:
模式 | 说明 |
---|---|
+n | 基于 inf 名称选择要包括的驱动程序 |
-n | 基于 inf 名称选择要排除的驱动程序 |
+p | 基于发布者名称选择要包括的驱动程序 |
-p | 基于发布者名称选择要排除的驱动程序 |
+c | 基于类名或类 GUID 选择要包括的驱动程序 |
-c | 基于类名或类 GUID 选择要排除的驱动程序 |
下面的示例使用模式创建包含特定类的驱动程序的孤立的预配程序包。
ScanState.exe /drivers:-n:* /drivers:+c:{4d36e96f-e325-11ce-bfc1-08002be10318} /ppkg e:\repository\drivers.spp
以上命令的参数含义如下:
参数 | 说明 |
---|---|
/drivers | 告知 ScanState 捕获第三方驱动程序。 |
-n:* | 从捕获中删除所有驱动程序。 |
+c:{4d36e96f-e325-11ce-bfc1-08002be10318} | 将特定类的驱动程序添加回捕获。 |
/ppkg | 指定输出会是 ppkg。 这是与 /drivers. 一起使用时所必需的。 |
在相同 SPP 中捕获应用程序和驱动程序
可以在相同命令中使用 /apps
和 /drivers
选项来创建包含应用程序和驱动程序的 SPP。
下面是捕获一个孤立的预配程序包的示例,该程序包中包含只具有特定类 GUID 的 Windows 桌面应用程序和驱动程序。 cmd
ScanState.exe /drivers:-n:* /drivers:+c:{4d36e96f-e325-11ce-bfc1-08002be10318} /apps:-sysdrive /o /v:13 /config:Config_AppsOnly.xml /ppkg e:\repository\apps_and_drivers.spp
应用孤立的预配包
此部分介绍如何使用 WinPE 中的 DISM 应用孤立的预配程序包。
DISM 支持通过新 DISM 提供程序(仅通过 Windows ADK 提供)将孤立的预配该程序包应用于 Windows 映像。 可以使用 CopyDandI.cmd 获取此版本的 DISM。
限制
使用 DISM 应用孤立的预配程序包的功能仅限于支持以下方案:
- DISM SiloedPackageProvider 不包含在 Windows 映像中,也不包含在 Windows PE 中。 必须在服务主机上安装 DISM 的 Windows ADK 版本,然后从 Windows ADK 安装位置启动 DISM.exe。 在 Windows ADK 安装程序不支持的主机(如 Windows PE)上,可使用 <%Windows ADK install root%>\Deployment Tools 中的 CopyDandI.cmd 脚本将所需二进制文件复制到主机。
- DISM 仅支持将孤立的预配程序包应用于在设备上磁盘卷的根目录处(例如
C:\
)应用的 Windows 映像。 它不支持将孤立的预配程序包应用于为进行脱机服务而装载的 Windows 映像。 典型方案是将设备启动到 Windows PE,并在 Windows PE 中运行 DISM 的 Windows ADK 版本,以便在将 Windows 映像应用于设备后应用孤立的预配程序包。 - 用于将孤立的预配程序包应用于 Windows 映像的 DISM 命令 (
DISM /Apply-SiloedPackage
) 在目标设备上只能运行一次。 必须在单个命令操作中按正确的顺序指定要应用于 Windows 映像的所有孤立的预配程序包。 安装的顺序会保留,因此可以在 PBR 期间按相同顺序还原程序包。 - 如果需要将附加的孤立的预配程序包应用于某个 Windows 桌面映像,而该映像已完成使用 DISM 应用一组孤立的预配程序包的整个部署过程,则映像可以进行 Sysprep 通用化并作为新的模型映像进行捕获。 随后在将此新模型映像部署到其他设备上时,可以再次运行 DISM 以应用更多孤立的预配程序包。
- 孤立的预配程序包必须应用于捕获它们的相同操作系统体系结构。 例如,不支持在 .spp 中捕获 x64 操作系统上的应用并将其应用于 ARM64 操作系统。
- 可以将孤立的预配程序包应用于其他版本的 Windows。 例如,Windows 10 企业版上捕获的应用程序可以应用于 Windows 10 专业版。
- 不支持在设置为启动到审核模式的通用化映像上应用孤立的预配程序包。 如果需要启动到审核模式,请使用 Unattend.xml 重新封装为审核模式。
使用 DISM 应用孤立的预配程序包
下面的示例使用 CopyDandI.cmd 创建的 DISM 应用基本 SPP 和两个加载项 SPP:
DISM.exe /Apply-SiloedPackage /ImagePath:C:\ /PackagePath:e:\repository\BaseSPP.spp /PackagePath:e:\repository\SPP_AddOn1.spp /PackagePath:e:\repository\SPP_AddOn2.spp
有关语法,请参阅 DISM 映像管理命令行选项,或是从 CopyDandI.cmd 的目标位置运行 DISM.exe /Apply-SiloedPackage /?
。
DISM 应用的所有孤立的预配程序包都会放置在 %systemdrive%\Recovery\Customizations
文件夹中。
节省驱动器空间:单实例化在压缩 OS 上自动执行
当 DISM 将孤立的预配程序包应用于已在设备上作为压缩 OS 进行应用的 OS 映像时,默认情况下,程序包会通过设备上单实例化(使用 WIMBoot v1 样式)的应用程序文件进行应用。
若要在没有压缩 OS 映像的设备上单实例化孤立的预配程序包,请使用 DISM /Apply-CustomDataImage,同时将设备启动到 Windows PE 中。
DISM.exe /ImagePath:C:\ /Apply-CustomDataImage /CustomDataImage:C:\Recovery\Customizations\myApp.spp /SingleInstance
此 /Apply-SiloedPackage
命令适用于传统预配程序包和孤立的预配程序包。
如果在审核模式下创建预配程序包,则可以选择使用 DISM /Apply-CustomDataImage /SingleInstance
命令单实例化内容。 若要了解详细信息,请参阅“实验 1g:从 Windows 进行更改(审核模式)”。
一键重置
使用 ScanState 捕获传统预配程序包时,只能将一个包含所有应用程序和系统设置的程序包放置在 %systemdrive%\Recovery\Customizations 文件夹中。 在一键重置 (PBR) 过程中,会处理单个预配程序包,以还原应用程序和系统设置。
从 Windows 10 版本 1607 开始,可以在多个孤立的预配程序包中捕获应用程序,还可以在单独孤立的预配程序包中捕获系统设置。 因此,PBR 增强为允许应用多个孤立的预配程序包,其保留顺序与使用 Dism /Apply-Siloed Package 应用它们的顺序相同。 随后可以在 PBR 期间按正确顺序对程序包进行排队和处理,以还原这些程序包中捕获的应用程序和系统设置。 如果程序包使用单实例化进行应用,则在 PBR 将它们还原到设备时,会遵循此规则。
单实例化可以自动进行(如果使用压缩 OS),也可以手动进行。
- 如果使用 WinPE,将映像作为压缩 OS 进行应用,然后将 SPP 应用于它,Windows 会自动对程序包的内容进行单实例化。 若要了解详细信息,请参阅实验 10:使用孤立的预配程序包 (SPP) 添加桌面应用程序和设置
- 如果在审核模式下创建预配程序包,则可以选择使用 DISM /Apply-CustomDataImage /SingleInstance 命令单实例化内容。 若要了解详细信息,请参阅实验 9:从 Windows 进行更改(审核模式)。
使用孤立的预配程序包的方案
此部分介绍使用孤立的预配程序包的方案。
捕获和应用独立应用程序
Microsoft 合作伙伴可以在处于映像实验室时捕获单个经典 Windows 应用程序的孤立的预配程序包,然后在工厂中按自定义顺序安装孤立的预配程序包的任何组合。 例如,合作伙伴可以为 PDF 阅读器应用程序和防病毒程序捕获孤立的预配程序包,然后在工厂中的特定设备型号上安装这些程序包。
- 在参考设备上进行 Windows 10 版本 1607 全新安装。
- 在桌面上,安装防病毒软件。
- 运行 ScanState.exe 以捕获防病毒软件孤立的预配程序包。
- 擦除参考设备并进行全新安装
- 对 PDF 阅读器应用程序重复步骤 2-4。
或者,可以使用 VM(而不是物理设备)捕获孤立的预配程序包:
- 使用 Windows 10 版本 1607 或更高版本的 VHD/VHDX 映像创建 VM 并联机启动。
- 在该 VM 上创建全新 OS 安装的检查点。
- 在桌面上,安装防病毒软件。
- 运行 ScanState.exe 以捕获防病毒软件孤立的预配程序包。
- 将 VM 还原到检查点。
- 在桌面上,安装 PDF 阅读器应用程序。
- 运行 ScanState.exe 以捕获 PDF 阅读器应用程序孤立的预配程序包。
- 在目标设备上,启动到 Windows PE,并应用 Windows 10 版本 1607 或更高版本桌面映像。
- 在 Windows PE 中,对 PDF 阅读器和防病毒程序包运行
DISM /Apply-SiloedPackage
命令,以将程序包中的应用程序文件应用于所应用的桌面映像。 - 完成其余脱机自定义任务。
- 完成首次启动并运行专用化,以进入审核模式。
- 完成联机自定义/配置任务。
- (可选)在审核模式下运行 ScanState,以便仅将系统设置捕获到孤立的预配程序包中,并将其放置在恢复文件夹中。
- 完成其余工厂任务并关闭/封装产品。
捕获并应用具有依赖项的应用程序
Microsoft 合作伙伴可以使用差异捕获支持来生成补充(或加载项)孤立的预配程序包,这些程序包与以前捕获的父孤立的预配程序包相关。 随后可以在工厂中的设备上安装孤立的预配程序包,首先安装父程序包,然后按自定义顺序安装补充程序包的组合。
例如: 可以捕获防病毒程序基本孤立的预配程序包,然后使用基本程序包作为父级,对防病毒程序修补程序 (MSP) 孤立的预配程序包进行差异捕获。 在工厂中,随后可以在特定型号设备上安装防病毒程序基本程序包以及精选的修补程序包(按所需顺序指定)。
- 在参考设备上进行 Windows 10 版本 1607 或更高版本全新安装。
- 在桌面上,安装防病毒应用程序。
- Sysprep 从参考设备通用化并捕获 OS 映像。
- 运行 ScanState.exe 以捕获防病毒基本孤立的预配程序包。
- 安装防病毒软件程序修补程序。
- 运行 ScanState.exe,以使用防病毒基本程序包在孤立的预配程序包中捕获防病毒软件程序修补程序。
- 继续将 diff 开关与已捕获的基本程序包和程序修补程序包一起使用,以捕获其他防病毒程序修补程序孤立的预配程序包:
- 安装其他防病毒软件程序修补程序。
- 运行 ScanState.exe,以使用防病毒基本程序包和第一个程序修补程序 SPP 对其他程序修补程序孤立的预配程序包进行差异捕获。
- 或是在参考设备上擦除并再次启动全新安装,以对其他防病毒软件孤立的预配程序包进行差异捕获:
- 擦除参考设备并使用步骤 3 中捕获的 OS 映像进行全新安装。
- 在桌面上,安装防病毒软件。
- 运行 ScanState.exe,以使用步骤 4 中捕获的防病毒基本程序包在孤立的预配程序包中捕获防病毒软件程序修补程序。
- 重复步骤 7 或 8 以捕获任何其他防病毒程序修补程序孤立的预配程序包。
或者,可以使用 VM(而不是物理设备)捕获孤立的预配程序包。 使用 VM 时:
- 使用 Windows 10 版本 1607 或更高版本的 VHD/VHDX 映像创建 VM 并联机启动。
- 在桌面上,安装防病毒应用程序。
- 在 VM 上创建带有防病毒软件的 OS 安装的检查点。
- 运行 ScanState.exe 以捕获防病毒基本孤立的预配程序包。
- 安装防病毒软件程序修补程序。
- 运行 ScanState.exe,以使用防病毒基本程序包在孤立的预配程序包中捕获防病毒软件程序修补程序。
- 继续将 diff 开关与已捕获的基本程序包和语言程序包一起使用,以捕获其他 Office 2016 语言孤立的预配程序包:
- 安装其他防病毒软件程序修补程序。
- 运行 ScanState.exe,以使用防病毒基本程序包和第一个程序修补程序 SPP 对其他程序修补程序孤立的预配程序包进行差异捕获。
- 或者重新启动 VM 以对其他防病毒软件程序修补程序孤立的预配程序包进行差异捕获:
- 将 VM 还原到步骤 3 中生成的检查点。
- 在桌面上,安装防病毒软件。
- 运行 ScanState.exe,以使用步骤 4 中捕获的防病毒基本程序包在孤立的预配程序包中捕获防病毒软件程序修补程序。
- 重复步骤 7 或 8 以捕获任何其他防病毒程序修补程序孤立的预配程序包。
孤立的预配程序包还可以捕获具有依赖项的应用程序。 例如,若要捕获依赖于 .NET Framework 的多个应用,请执行以下操作:
- 使用 Windows 10 版本 1607 或更高版本的 VHD/VHDX 映像创建 VM 并联机启动。
- 安装 .NET Framework。
- 创建带 .NET Framework 的 OS 安装的检查点。
- 捕获基本 .spp,例如 DotNet.spp。
- 安装 App1,使用 /diff:DotNet.spp 将它捕获为 App1.spp。
- 将 VM 还原到步骤 3 中创建的检查点。
- 安装 App2,使用 /diff:DotNet.spp 将它捕获为 App2.spp。
若要保留依赖项,请按以下顺序应用程序包:
- DotNet.spp、App1.spp、App2.spp
或
- DotNet.spp、App2.spp、App1.spp
重点是必须首先应用 DotNet.spp。
捕获带有关联设备驱动程序的应用程序
Microsoft 合作伙伴可以在处于映像实验室中捕获具有关联硬件驱动程序的单个经典 Windows 应用程序的孤立的预配程序包,然后在工厂中按自定义顺序安装孤立的预配程序包的任何组合。 例如,合作伙伴为 Microsoft 鼠标和键盘中心捕获孤立的预配程序包,其中包含应用程序和驱动程序文件。
- 在参考设备上进行 Windows 10 版本 1607 或更高版本全新安装。
- 在桌面上,安装 Microsoft 鼠标和键盘中心。
- 使用 /apps 和 /drivers 开关运行 ScanState.exe,以捕获鼠标和键盘中心孤立的预配程序包。
- 擦除参考设备并进行全新安装
- 在目标设备上,启动到 Windows PE,并应用 Windows 10 版本 1607 桌面映像。
- 在 Windows PE 中,使用 Microsoft 鼠标和键盘中心程序包运行 DISM /Apply-SiloedPackage 命令,以将程序包中的应用程序和驱动程序文件应用于所应用的桌面映像。
- 完成其余脱机自定义任务。
- 完成首次启动并运行专用化,以进入审核模式。
- 完成联机自定义/配置任务。
- (可选)在审核模式下运行 ScanState,以便仅将系统设置捕获到孤立的预配程序包中,并将其放置在恢复文件夹中。
- 完成其余工厂任务并关闭/重新封装产品。
为 BTO 模型捕获并应用应用程序
在按订单生产模型中,工厂中的最近一分钟自定义项可能包括在自定义映像上安装其他经典 Windows 应用程序。 如果在映像实验室中,有任何经典 Windows 应用程序未在孤立的预配程序包中捕获,则工厂过程会包含下图中所示的任务:
- 在目标设备上,启动到 Windows PE,并应用 Windows 10 版本 1607 桌面映像。
- 在 Windows PE 中,运行 DISM /Apply-SiloedPackage 命令,指定所有孤立的预配程序包,以将程序包中的应用程序文件应用于所应用的桌面映像。
- 完成其余脱机自定义任务。
- 完成首次启动并运行专用化,以进入审核模式。
- 在审核模式下联机安装经典 Windows 应用程序。
- 完成联机自定义/配置任务。
- 运行 ScanState.exe,以使用已在基本模型映像中安装的应用程序的孤立的预配程序包作为参考,将步骤 5 中安装的应用程序差异捕获到单个孤立的预配程序包中。
- (可选)运行 ScanState,以便仅将系统设置捕获到孤立的预配程序包中,并将其放置在恢复文件夹中。
- (可选)将设备启动到 Windows PE,并运行 DISM 命令以对步骤 7 中捕获的孤立的预配程序包中的应用程序文件进行单实例化。
- 完成其余工厂任务并关闭/封装产品。
适用于 BTO 模型的首选过程指导原则:如前面的步骤中所述,通过差异捕获支持可以灵活地在工厂中安装经典 Windows 应用程序(作为最近一分钟自定义项)。 但是,差异捕获操作可能需要一些时间才能完成,具体取决于需要进行差异比较的孤立的预配程序包数量和大小。 该过程中的其他步骤也有开销成本。 因此,在 BTO 模型中安装经典 Windows 应用程序的首选指导原则是,对在映像实验室中为这些应用程序捕获孤立的预配程序包产生一次性成本。 随后可以根据最近一分钟自定义项的需要,在工厂中应用它们。