App Layering

更新层

在操作系统、平台或应用程序层中更新软件的步骤几乎相同。将版本添加到层,在打包计算机上安装升级或修补程序,验证,然后完成层。更新后,您将部署新层版本,该版本因层类型而异。

平台层是最高优先级的层,对于映像部署至关重要,尤其是在设备(如网络)方面。无论何时更新基础结构软件,都必须向平台层添加新版本。

您可以使用新的操作系统层作为基础向平台层添加版本。打包机启动后,关闭计算机进行定版。平台层从新操作系统层版本中收集关键组件,并在平台中更新这些组件,使其与操作系统版本相匹配。

将版本添加到层

例如,要向操作系统层添加版本,请执行以下操作:

  1. 在 Citrix App Layering 管理控制台中,选择 “ 层”> “操作系统层
  2. 选择操作系统层,然后单击 添加版本。这将打开 创建操作系统版本 向导。
  3. 在 “版本详细信息”选项卡中:
    1. 对于 基础版本,选择要用作新层版本基础的版本。默认值为最新版本。
    2. 输入 新版本的名称。这可以是操作系统版本或其他标识信息。
  4. 连接器 选项卡中,为在其中创建图层的虚拟机管理程序选择 连接器配置 。您也可以通过选择现有配置并单击 “ 编辑”来修改该配置。如果尚未创建连接器配置,或者如果您需要的配置不存在,请单击 “ 建”以创建新的连接器配置,然后从此列表中选择它。
  5. 打包磁盘 选项卡中,输入打包磁盘的文件名,然后选择要使用的磁盘格式(如果您使用的是装置的文件共享而不是连接器配置)。此磁盘用于安装应用程序的打包机(虚拟机)。
  6. 在 “ 确认并完成 ” 选项卡中,验证您的设置,然后单击 添加版本。这将运行创建操作系统版本的任务。任务完成后,它将显示状态为 “ 需要操作”。双击任务以展开它时,任务将包含以下文本(请参阅下一节中的图像):

“打包磁盘已发布。虚拟机 ‘<… >’ 可以在数据中心 ‘<… >’ 的文件夹 ‘<… >’ 中找到。打开此虚拟机电源以安装应用程序。安装完成后,请先关闭虚拟机电源,然 单击操作栏上的 “完成”。“

接下来,您可以为此操作系统层版本部署打包计算机。

将打包计算机部署到 Hypervisor

打包计算机是一个虚拟机,您可以在其中安装要包含在层中的更新或应用程序。打包计算机是一个临时虚拟机,在操作系统层完成后将被删除。

任务描述包含导航到 Hypervisor 中创建此层打包计算机的位置的指示。

  1. 要在 Hypervisor 中创建打包计算机,请从步骤 2 中显示的扩展打包磁盘任务开始。
  2. 登录您的 Hypervisor 客户端。
  3. 返回管理控制台,使用展开的打包磁盘任务中的说明导航到打包计算机。

安装操作系统更新

  1. 远程登录到打包计算机。请确保登录到用于创建操作系统的用户帐户。
  2. 安装要包含在新操作系统层版本中的任何更新或应用程序,例如 Windows 更新或防病毒应用程序。
  3. 如果应用程序安装需要重新启动系统,请手动重新启动。打包计算机不会自动重新启动。
  4. 确保打包计算机处于您希望用户的状态:
    1. 如果您安装的应用程序需要任何安装后安装或应用程序注册,请立即完成这些步骤。
    2. 删除不希望包含在打包计算机上的任何设置、配置、文件、映射驱动器或应用程序。

接下来,关闭包装计算机并验证层是否已准备好完成。

验证层并关闭包装机

下一步是验证层是否已准备就绪,以便最终完成。为了做好最终确定的准备,必须完成任何必需的安装后处理,例如重新启动或 Microsoft ngen 进程。

要验证任何未完成的进程是否已完成,您可以运行 “关闭完成”工具(如下图标),该工具将显示在打包计算机的桌面上。

要使用“关闭以便最终完成”工具:

  1. 如果您未登录到打包计算机,请以创建计算机的用户身份进行远程登录。
  2. 双击 “关闭以完成”图标。命令行窗口显示详细说明层验证过程的消息。
  3. 如果在完成层之前必须完成的未完成操作,系统会提示您完成该操作。例如,如果 Microsoft ngen 操作必须完成,则可以尝试加快 ngen 操作,详情如下所述。
  4. 任何挂起的操作完成后,再次双击 “关闭完成”图标。这将关闭包装计算机。

层已准备好完成。

如果您选择的连接器配置设置为 “ 卸载合成”,则层将自动完成。否则,下一步是手动完成层,如下一步所述。

层完整性消息

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

  • A RunOnce script is outstanding - please check and reboot the Packaging Machine.
  • A post-installation reboot is pending - please check and reboot the packaging machine.
  • A Microsoft ngen operation is in progress in the background. - An MSI install operation is in progress - please check the packaging machine.
  • A reboot is pending to update drivers on the boot disk - please check and reboot the packaging machine.
  • A Microsoft ngen operation is needed.
  • Software Center Client is configured to run, but the SMSCFG.INI is still present. To learn more about deploying SCCM in a virtual environment, see the Microsoft TechNet article, [Implementing SCCM in a XenDesktop VDI environment](https://social.technet.microsoft.com/wiki/contents/articles/23923.implementing-sccm-in-a-xendesktop-vdi-environment.aspx).

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

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

如果 Microsoft ngen 操作正在进行中,您可能能够加快操作速度,如下一节所述。

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

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

Ngen.exe 是 Microsoft Native Image Generator,它是 .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 <!--NeedCopy-->

  3. 如果使用 .NET Framework 3 或更高版本,请输入以下 Ngen.exe 命令以运行所有排队项目。此命令在构建程序集之前处理排队的组件安装。

    ngen eqi 3 <!--NeedCopy-->

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

    确保所有 Ngen.exe 进程都已运行至完成。您可以使用任务管理器查看 MSCORSVW.EXE 的实例是否正在运行。如果是,请允许它完成或运行 ngen eqi 3

    警告: 不要重新启动以停止任务。允许任务完成!

  4. 如果使用 .NET Framework 2 或更早版本,请输入以下 Ngen.exe 命令以运行已排队的项目。

    ``` ngen update /force

    
    这会在命令提示符下将 ngen 任务置于前台,并列出正在编译的程序集。
    
    >**注意:**
    >如果你看到 **编译失败的消息没** 关系。
    >在任务管理器中查看 MSWORD.EXE 的实例是否正在运行。如果是,你必须允许它完成,或者重新运行 'ngen update /force \`。不要重新启动以停止任务。让它完成。
    
    通过以管理员身份打开命令提示符并运行以下命令来检查 `Ngen.exe` 操作状态: ```ngen queue status<!--NeedCopy-->
    

    警告: 不要重新启动以停止任务。允许任务完成!

  5. 当所有操作完成 ,请使用桌面上可用的 “关闭以完成” 快捷方式关闭虚拟机。

手动完成层

创建打包计算机并安装任何应用程序或更新后,您就可以完成该层。

注意:当您完成操作系统层的新版本时,系统会删除打包计算机,以免产生更多成本。

当层准备好完成时:

  1. 返回到管理控制台。
  2. 在 “层”模块中,选择层。
  3. 在操作栏中选择 “ 完成 ”。
  4. 监控任务栏以验证操作是否成功完成以及层是否可部署。