App Layering

创建平台层

平台层包括您的层和分层映像在您的环境中完美运行所需的平台软件和设置。

您可以为两种目的创建平台层:

  • 用于创建和打包层: 从不同于创建层的 Hypervisor 导入操作系统时,请使用此类型的平台层创建应用程序层。

  • 用于发布分层图像: 在图像模板中使用此类平台层,以便发布的分层图像在您的环境中完美运行。

用于打包层或发布分层图像的平台层

使用下表确定是否需要平台层。此表还显示了在平台层上安装的软件(如果需要)。

  包装层 发布分层图像
是否需要平台层? 如果操作系统映像源于其他 Hypervisor,则为必填项。当应用需要代理或 SSO 软件时,您可以创建专门用于创建和更新该层的平台层。 发布到 Provisioning 服务器并使用连接代理时必需。
要安装的内容 Hypervisor 工具,当操作系统源于其他虚拟机管理程序时。SSO 或代理软件,如果需要创建应用程序层。 配置和连接代理软件和设置。如果发布到不同于操作系统创建的 Hypervisor,请包括 Hypervisor 工具。
要选择的值 选择您的 Hypervisor。 选择 Hypervisor、Provisioning 软件和连接代理。
您需要什么 Hypervisor 的安装程序 用于 Provisioning 软件和连接代理的安装程序。

要包含在平台层中的其他软件和设置

除了上述平台软件之外,您还必须在平台层包含以下设置和软件:

  • 域加入
  • NVIDIA 驱动程序(如果适用)
  • Citrix 接收器,用于单点登录组件
  • Citrix Workspace Environment Management(WEM) 代理
  • 影响登录堆栈的任何软件,例如 Imprivata
  • Hyper-V 上的 Citrix Provisioning:需要传统网络适配器才能启动 PXE
  • 微软系统中心配置管理器 (SCCM) 软件,如果您正在使用它

创建平台层的过程

创建平台层的步骤包括:

  1. 在管理控制台中完成“创建平台层”向导。
  2. 连接到打包计算机并登录到打包计算机。
  3. 安装 Provisioning 和连接代理软件。
  4. 设备运行在与创建层和发布映像的 Hypervisor 不同的虚拟机管理程序上吗?如果是,我们建议安装 Hypervisor 工具。
  5. 验证层并关闭打包计算机。
  • 如果在向导中选择的连接器配置设置为使用“卸载合成”,则该层将自动定版。
  • 如果连接器配置设置为卸载合成,请手动完成层,如本文中的详细步骤所述。

何时更新平台层

平台层是最高优先级的层。它对于部署映像至关重要,尤其是对于网络设备。无论何时更新基础架构软件,都可以向平台层添加版本。

更新操作系统层时,映像有时会出现启动问题。要修复此问题,请使用新的操作系统层向平台层添加版本。打包计算机启动后,关闭计算机进行定版。平台层从新操作系统层版本中收集关键组件,并在平台中更新这些组件,使其与操作系统版本相匹配。

要求

创建平台层时,软件安装程序必须位于打包计算机可以访问的位置。例如,您的 Provisioning 服务器和连接代理软件必须是可访问的。如果设备正在其他 Hypervisor 上运行,还应包括 Hypervisor 工具。

有关详细要求,请选择创建层或发布图像的环境:

关于优化的词

平台层是最高优先级的层。您可能认为这将是包含优化的最佳场所。但是,在 Windows 10 上,删除 Windows 应用程序的优化仅适用于操作系统层。Windows 应用程序与 Windows 应用商店集成,只能在操作系统层中对其进行修改。

Citrix 提供了一个称为 Citrix Optimizer 的优化实用程序。我们建议使用此实用程序,而不是 App Layering 附带的优化程序,因为如果需要,Citrix Optimizer 通常可以反转优化。

加快用户登录速度。使用网络用户帐户登录,然后重新启动桌面。然后,以管理员身份登录,并删除创建的配置文件。当第一个网络用户登录时,某些系统文件会更新,然后登录性能通常会提高。

启动新的平台层

要创建平台层,您需要执行以下操作:

  • 使用“创建平台层”向导准备层。
  • 在您的环境中部署打包计算机。
  • 为您的环境安装工具并配置设置。
  • 完成层。

请按照以下步骤操作栏中的步骤操作:

  1. 选择“层”>“平台层”。然后选择“创建平台层”以打开“创建平台层”向导。

  2. 在“层详细信息”选项卡中,输入 层名称版本,两者都是必需的值。(可选)还可以输入其它值。

  3. 在 “版本详细信息”选项卡中:

  4. (必需)输入新版本名称。例如,输入软件版本或其他标识信息。
  5. 如果要将版本添加到现有层,则“基本版本”字段允许您选择要用作起点的版本。默认选项为最新版本。

  6. 在操作系统层选项卡中,选择要与此平台层关联的操作系统层。

  7. 在“连接器”选项卡中,为要创建此层的平台选择“连接器配置”。如果您需要的配置未列出,请选择“新建”。然后, 添加连接器配置,然后选择它。

  8. 在“平台类型”选项卡中,选择“此平台将用于发布分层映像”或“此平台将用于打包”。然后选择要在其中发布分层映像的 Hypervisor、Provisioning 软件和连接代理。注意: 如果 使用 Provisioning 或连接代理,请为每个选项选择“”。

  9. 在“打包磁盘”选项卡中,输入打包磁盘的文件名。此磁盘用于要在其中安装工具的打包机(虚拟机)。

  10. 在 “图标分配”选项卡中,选择要分配给层的图标。此图标表示 “层”模块中的层。
  • 要使用现有图像,请在图像框中选择一个图像。
  • 要导入新图像,请单击“浏览”并选择 PNG 或 JPG 格式的图像。
  • 如果层使用所提供的图标之一和连接器,并且选择了“卸载合成”,则包装计算机会根据层的内容指定一个图标。
  1. 在“确认并完成”选项卡中,查看应用程序层的详细信息,如有必要输入注释,然后单击“创建层”。您输入的任何备注都会显示在“审计历史记录”的“信息”视图中。

  2. 展开 UI 底部的任务栏,然后双击 打包磁盘 任务以显示完整的任务说明。

创建打包磁盘后, “任务”栏将显示打包磁盘在环境中的位置。

接下来,您可以为层部署打包计算机。

部署打包计算机

App Layering 系统在连接器配置中定义的位置创建打包计算机。打包计算机是一个临时虚拟机,您可以在其中安装该层的软件。完成层后,包装机将被移除。

Citrix Hypervisor、Hyper-V、Nutanix AHV、VMware vSphere

设备将在连接器配置中定义的位置创建打包计算机。

  1. 转到应用分层管理控制台,然后展开控制台底部的任务栏。
  2. 打开“创建平台”层任务以获取打包计算机的名称。
  3. 登录到 Hypervisor 管理控制台,例如 Citrix Hypervisor 管理程序、Azure、Hyper-V、Nutanix 或 VMware。
  4. 在 Hypervisor 管理器控制台中,导航到打包计算机。如果包装计算机尚未打开电源,请立即打开。

适用于 Hyper-V 的 Citrix Provisioning:配置两个网卡

使用双网卡并运行适用于 Hyper-V 的 Citrix Provisioning 时,您必须在平台层的 每个新版本上按如下方式配置卡

安装 Provisioning 软件并完成所需的重新启动后:

  1. 打开打包计算机上的管理命令提示符。
  2. 运行以下命令:

ipconfig /all

  1. 将流网卡(Hyper-V 中的旧网络适配器)的 IP 地址与正确的适配器名称匹配。
  2. 续订流网卡上的 DHCP 租约。
  3. 再次在管理命令提示符下运行 ipconfig /release adapter-name 和 ipconfig /renew adapter-name。此命令强制 App Layering 驱动程序选择此适配器作为“主网卡”。
  4. 运行关闭以完成最终完成层,并像平常一样完成层。

重要:

如果选择“关闭”以完成,但由于任何原因需要重新打开计算机,则必须重新运行 发布命令续订 命令。

Azure

  1. 转到 “App Layering 管理控制台”,展开控制台底部的 “任务”栏。打开“创建应用程序层”任务详细信息。
  2. 使用任务详细信息中的链接导航到 Azure 中的打包计算机。“自定义部署”面板将打开。
  3. 登录到 Azure 门户 (https://portal.azure.com)。
  4. 设置 Azure 参数。
  • 打包计算机名称-必须符合 Azure 虚拟机名称要求。
  • 大小 — 虚拟机大小。
  • 虚拟网络和子网-用于部署打包计算机。重要:请确保资源组位置的值与您在连接器配置中配置的存储帐户位置匹配。如果这些位置不同,打包计算机无法部署。如果您的部署失败,您可以再次将链接粘贴到浏览器中,然后重新开始。
  1. 打开打包机电源后,您可以安装要包含在层中的应用程序。

任何其他虚拟机管理程序(通过网络文件共享)

  1. 在网络文件共享上的以下目录中找到打包磁盘:\Unidesk\Packaging Disks

  2. 将打包磁盘复制到 Hypervisor 上的单独位置。在创建新虚拟机时,将磁盘放在另一个位置可以为 Hypervisor 生成的文件提供空间。

重要提示:请 将磁盘复制到“完成”文件夹,直到它准备完成。“完成”文件夹中的磁盘无法附加到下一步要创建的新虚拟机。

  1. 使用打包磁盘作为引导盘创建虚拟机。

  2. 打开打包计算机的电源。

打开打包计算机电源后,您可以在层中安装平台工具。

在打包计算机上安装平台工具

接下来,为发布分层映像的平台安装软件。平台工具包括目标环境中分层映像所需的 Provisioning 和连接代理软件。请记住,完成层时软件的状态是图像使用的状态。

  1. 远程登录到打包计算机。请务必使用用于创建操作系统的用户帐户登录。
  2. 安装分层映像配置为运行的工具。例如,包括您的 Provisioning、连接代理和 Hypervisor 工具。不要忘记你的驱动程序、引导级应用程序和任何必需的文件。
  3. 如果安装需要重新启动系统,请手动重新启动。打包计算机不会自动重新启动。
  4. 确保打包计算机在映像启动时处于您希望它处于的状态:
  • 如果您安装的工具需要任何安装后安装或注册,请立即完成这些步骤。
  • 删除不希望包含在打包计算机上的任何设置、配置、文件、映射驱动器或应用程序。

验证层并关闭包装机

在包装机器上安装工具后,您可以验证层是否已准备好完成。任何必需的安装后处理都需要完成。例如,重新启动或微软 ngen 进程可能需要完成。

要验证未完成的进程是否已完成,请运行 关闭以完成 工具。查找打包计算机桌面上的“关闭以便完成”图标。

关闭打包计算机,以便您可以完成层

  1. 如果您未登录到打包计算机,请使用操作系统层创建期间设置的帐户远程登录。
  2. 双击“关闭以完成”图标。命令行窗口显示详细说明层验证过程的消息。
  3. 如果存在未完成的操作,系统将提示您完成该过程。例如,如果 Microsoft ngen 操作必须完成,则可以加快 ngen 操作,如在最终确定过程中的层完整性消息部分中详细说明的那样。
  4. 完成挂起操作后,再次双击“关闭以完成”图标。

层现已准备好完成。

  • 如果选定的连接器配置设置为“卸载合成”,则该层将自动定版。
  • 如果未使用“卸载合成”,请手动 完成层

最终确定过程中的层完整性消息

以下层完整性消息告诉您在层准备完成之前必须完成哪些排队操作:

  • RunNce 脚本未完成-检查并重新启动打包计算机。
  • 安装后重新启动正在等待-检查并重新启动打包计算机。
  • 后台正在进行微软的 ngen 操作。-正在进行 MSI 安装操作-检查包装机。
  • 正在等待重新启动以更新引导盘上的驱动程序-检查并重新启动打包计算机。
  • 需要微软的 ngen 操作。
  • 软件中心客户端配置为运行,但 SMSCFG.INI 仍然存在。 要了解有关在虚拟环境中部署 SCCM 的详细信息,请参阅 Microsoft TechNet 文章在 XenDesktop VDI 环境中实施 SCCM

有关层完整性消息的含义以及如何调试这些消息的详细信息,请参阅 Citrix App Layering ayer 4.x 及更高版本中的调试层完整性问题

不能通过关闭计算机来绕过层完整性消息。App Layering 软件将您返回到打包计算机,直到流程完成。

如果正在进行 Microsoft ngen 操作,您可以尝试加速操作,如下一节所述。

如有必要,加快微软 Ngen.exe 操作

安装所有软件更新后,您必须允许 Ngen.exe 基本上将 .NET 字节代码重新编译为本机映像,并构建注册表项以管理它们。

Ngen.exe 可执行文件是微软本机映像生成器,它是 .NET 系统的一部分。根据安装的软件以及 Windows 在配置中检测到的内容,Windows 确定何时运行 Ngen.exe

重要提示:Ngen.exe 正在运行时,你必须让它完成。中断的 Ngen.exe 操作可能会让您在 .NET 系统中出现无法正常工作的 .NET 程序集或其他问题。

通常, Ngen.exe 是一个后台操作,当存在前台活动时暂停。要加快 Ngen.exe 操作,请将任务放入前台以完成它。

要将任务置于前台,请执行以下操作:

  1. 以管理员身份打开命令提示符。
  2. 转到当前正在使用的版本的 Microsoft.NET\Framework 目录:

```cd C:\Windows\Microsoft.NET\FrameworkNN\vX.X.XXXXX


3\.  输入以下 `Ngen.exe` 命令以运行所有排队的项目。此命令在构建程序集之前处理排队的组件安装。

   ```恩根埃奇 3<!--NeedCopy-->

Ngen.exe 任务将移动到命令提示符下的前台,并列出正在编译的程序集。如果你看到编译消息,这是可以的。

您可以使用 任务管理器 来查看 MSCORSVW.EXE 的实例是否正在运行。如果是,请允许它完成,或运行 ngen eqi 3

注意: 请勿重新启动以停止任务。允许任务完成!

4. 确保所有 Ngen.exe 进程都已运行到完成。

  1. 完成后,使用桌面上提供的“关闭以完成”快捷方式关闭虚拟机。

手动完成层

当您在其中一个测试的虚拟机管理程序上使用连接器时,层最终确定速度最快。有关详细信息,请参阅下一节。

您还可以使用“网络文件共享”在其他虚拟机管理程序上完成层。请参阅本文的最后一节。

Citrix Hypervisor、Azure, Hyper-V、Nutanix AHV、VMware vSphere

现在层已经验证并关闭,它已经准备好完成。

Hyper-V:

如果您使用的连接器选择了“卸载合成”,则此定版过程将自动执行,您不必执行这些手动步骤。

  1. 返回到管理控制台。
  2. 选择“层”>“平台层”以及您准备的层。
  3. 在操作栏中选择“完成”。此时将打开 “完成”向导。
  4. 单击“完成”以完成层的创建。
  5. 监视任务栏以验证操作是否成功完成。

一旦层经过验证,就会拆除包装机,以最大限度地减少使用的存储空间。

任何其他 Hypervisor(通过网络文件共享)

现在,层已经验证并关闭,它已经准备好完成。

  1. 将打包磁盘从包含打包计算机文件的文件夹复制到网络文件共享上的“完成”文件夹:\ Unidesk\ 完成

  2. 返回到管理控制台。

  3. 选择“层”>“平台层”

  4. 在操作栏中选择“完成”。

  5. 监控任务栏以验证操作是否成功完成以及层是否可部署。