应用分层

更新层

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

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

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

将版本添加到层

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

  1. 在Citrix应用分层管理控制台中,选择层 > 操作系统层
  2. 选择操作系统层,然后在版本信息选项卡上单击添加版本
  3. 在"版本详情"中:
    1. 对于基地版本:选择要用作新层版本的基础的版本。默认值为最新版本。
    2. 输入新版本的名称。这可以是操作系统版本或其他标识信息。
  4. 为在其中创建层的虚拟机管理程序选择连接器配置
  5. 输入打包磁盘的文件名,并选择使用设备的文件共享而不是连接器配置时要使用的磁盘格式。此磁盘用于安装应用程序的打包机(虚拟机)。
  6. 验证您的设置,然后单击”添加版本”。这将运行创建操作系统版本的任务。任务完成后,它将显示需要操作的状态。选择任务并单击”查看详细信息后,将显示以下文本:

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

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

将打包计算机部署到Hypervisor

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

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

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

安装操作系统更新

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

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

验证层并关闭包装机

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

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

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

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

该层已准备就绪。

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

层完整性消息

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

  • RunOnce脚本未完成-请检查并重新启动包装机。
  • 安装后重新启动正在等待-请检查并重新启动包装机。
  • 微软的ngen操作正在后台进行。-MSI安装操作正在进行中-请检查包装机。
  • 正在等待重新启动以更新启动磁盘上的驱动程序-请检查并重新启动包装机。
  • 需要微软的ngen操作。
  • 软件中心客户端被配置为运行,但SMSCFG.INI仍然存在。要了解在虚拟环境中部署SCCM的更多信息,请参阅Microsoft TechNet的文章[在XenDesktop VDI环境中实现SCCM](https://social.technet.microsoft.com/wiki/contents/articles/23923.implementing-sccm-in-a-xendesktop-vdi-environment.aspx)。

有关层完整性消息的含义以及如何调试的详细信息,请参阅在Citrix应用程序分层X及更高版本中调试层完整性问题

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

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

如有必要,加快微软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. 转到当前正在使用的版本的微软。净\框架目录:

    cd C:\Windows\ Microsoft.NET \ FrameworkNN \ vX.X。XXXXX < !--NeedCopy-->

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

    Ngen eqi 3

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

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

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

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

    ngen更新/强制

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

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

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

手动完成层

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

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

当层准备完成时:

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