App Layering

层是一种虚拟磁盘,其中包含操作系统、平台工具、应用程序或用户数据和设置的软件。

创建层时,设备会将新层保存为您的管理程序环境中的虚拟磁盘,并将该磁盘附加到打包计算机。

创建后,每个层都作为虚拟磁盘存储在存储库中。

层的类型

您可以使用以下类型的层:

  • 您在管理程序中创建并包含在用于发布分层映像的映像模板中的层。
  • 您在映像模板上启用并因此在发布的分层映像上启用的层。

要包含在映像模板和分层映像中的层

您可以为操作系统、平台工具以及要交付给用户的应用程序创建层。

  • 操作系统层: 从 ISO 安装 Windows 操作系统的层。您可以将相同的操作系统层与所有兼容的平台层和应用程序层重复使用。我们建议为每个主要的 Windows 版本只创建一个操作系统层,例如,一个用于 Windows 10,一个用于 Windows Server 2016。您可以为每个后续版本添加新版本的层。例如,如果您有一个 Windows 10 版本 1709 层,则为其添加一个版本 1809 和一个版本 1903。更新操作系统层时,无需更新应用程序层,但务必更新平台层。有关创建操作系统层的详细信息,请参阅创建操作系统层

  • 平台层: 用于安装和配置特定本地或云环境软件的层。当您在平台层中隔离基础结构软件时,可以在多个管理程序上重复使用相同的操作系统层和应用程序层。例如,如果您使用多个管理程序,则可以为基础结构的每个部分创建一个平台层。

    如果您的基础结构中使用以下任何软件,通常会将它们安装在平台层上:

    • 连接代理软件
    • 预配软件
    • System Center Configuration Manager (SCCM)

    尽管这看起来可能不直观,但将您支持的第一个管理程序的软件安装在操作系统层上至关重要。

    如果您支持多个管理程序,则可以为其他管理程序创建另一个平台层。其他管理程序的平台层必须包含管理程序软件以及预配、连接代理和 SCCM 软件。创建此附加平台层时,请务必选中您正在支持的新管理程序的复选框。这可确保 App Layering 设备从操作系统层中删除原始管理程序文件和设置,以免它们干扰性能。

    有关创建操作系统层的详细信息,请参阅创建平台层

  • 应用程序层: 安装应用程序的层。通常,我们建议在每个层上安装一个应用程序,但您可以包含更多应用程序。为了便于维护,请包含更新计划相同的应用程序。如果某个应用程序需要其他应用程序,请首先为所需的应用程序创建层。有关创建应用程序层的详细信息,请参阅创建或克隆应用程序层。有关分层特定应用程序的提示,请参阅 App Layering Recipes

可以在分层映像上启用的层

除了包含在分层映像中的层之外,您还可以通过映像模板中的设置在其上启用弹性层和用户层:

  • 弹性层: 分配给特定用户并在用户登录时交付的应用程序层。弹性应用程序层不包含在基础映像中,但会交付到基础映像上。弹性应用程序显示在用户的桌面上。

    重要提示:

    应用程序层可以作为分层映像的一部分或作为弹性层交付给用户。

    有些应用程序不能用作弹性层,例如 Microsoft Office。要了解应用程序是否存在此限制,请查看 App Layering RecipesApp Layering 论坛中有关分层应用程序的说明。如果您的应用程序没有指定限制,则可以将其分配为弹性层。有关在分层映像上启用和分配弹性层的详细信息,请参阅将应用程序层部署为弹性层

  • 用户层: 在分层映像上启用用户层可让您保留用户的数据和设置以及他们自己安装的任何应用程序。启用后,用户首次登录映像时会为每个用户创建一个用户层。要启用此功能,请在用于发布分层映像的映像模板中选择用户层设置。有关在分层映像上启用弹性层的详细信息,请参阅部署用户层创建或克隆映像模板

    当用户登录到使用完整用户层的映像时,请勿将包含 Chrome 或 Firefox 等浏览器的应用程序层分配给这些用户。浏览器会频繁更新,这可能会导致用户的可写入层与可启动映像上的修订版本之间发生修订冲突。但是,如果用户登录到会话主机映像,则可以将这些层分配给他们。

需要本地用户或管理员的应用程序

操作系统层会保留您添加的任何本地用户或组,但应用程序层、平台层和用户层不会。例如,在应用程序层、平台层或用户层上安装应用程序时添加或更改的用户和组不会持久保留。您可以:

  • 在安装应用程序之前,将本地用户或管理员添加到操作系统层。
  • 在操作系统层上安装应用程序。

层完整性概述

创建操作系统层、应用程序层或平台层时,您可以在 App Layering 管理控制台中开始创建层,然后在管理程序中的指定 VM 中安装软件。当层处于用户启动桌面时所需的就绪状态时,请关闭计算机并完成层。

关闭层以完成它时,Windows Ngen.exe 操作会显示有关必须在关闭前完成的挂起任务的消息。您必须让这些作业完成,但如有必要,可以加快 Ngen.exe 操作。有关 Ngen.exe 消息以及如何加快操作的详细信息包含在每个相关的分层文章中:

层优先级

层优先级定义了创建 Windows 文件系统和注册表时的层顺序。层优先级在以下情况下非常重要:

  • 将层组合为发布分层映像的一部分。
  • 搜索层以查找文件和注册表设置。
  • 将弹性层和用户层交付到用户的桌面。

App Layering 软件为每个层分配一个优先级,并按从最低优先级到最高优先级的顺序应用这些层。

在 Windows 中,最高优先级的层优先。如果文件或注册表项存在于两个层中,Windows 将使用优先级最高的层中的文件或注册表项。

如何确定层优先级

层的优先级基于层类型,对于应用程序层,则基于层的创建顺序。

基础映像中的层

作为分层映像一部分的层按顺序应用,平台层始终最后应用,作为最高优先级的层。

如下表所示,分配给应用程序层的优先级基于层的创建顺序。最新的应用程序层比旧层具有更高的优先级。

优先级 层类型
平台层
  最后创建的应用程序层
按创建日期排序的应用程序层
  最早创建的应用程序层
操作系统层

如果层具有相同的文件或注册表项,则使用优先级较高的层中的文件或注册表项。

在基础映像上启用的层

发布映像启动时,如果映像模板中为分层映像启用了层,则可以应用更多层:

  • 弹性层(作为弹性层分配给用户的应用程序层)
  • 用户层

将层合并到映像上时,用户层始终具有最高优先级。弹性层次之,基础映像中的层最后。

如下表所示,弹性层的优先级与原始应用程序层的优先级相同,但应用于基础映像。弹性层优先级取决于层附加到已发布映像的顺序。

优先级 层类型
用户层
  弹性层 - 最后创建的应用程序层
弹性层 - 按创建顺序排列的应用程序层
  弹性应用程序 - 最早创建的应用程序层
分层映像 - 基础映像中的所有层

层优先级冲突

大多数应用程序层都有效,但在某些情况下,安装应用程序的顺序可能会导致桌面冲突。

如果一个应用程序必须在另一个应用程序之前安装,请按所需的顺序创建层。App Layering 软件按相同顺序应用这些层。

如果两个层发生冲突,并且您怀疑是由于它们合并到映像中的顺序造成的,则您有两种选择:

  • 重新创建要最后安装的层,以便按正确的顺序合并。
  • 请求技术支持。