更新层
在操作系统、平台或应用程序层中更新软件的步骤几乎相同。将版本添加到层,在打包计算机上安装升级或修补程序,验证,然后完成层。更新后,您将部署新层版本,该版本因层类型而异。
平台层是最高优先级的层,对于映像部署至关重要,尤其是在设备(如网络)方面。无论何时更新基础结构软件,都必须向平台层添加新版本。
您可以使用新的操作系统层作为基础向平台层添加版本。打包机启动后,关闭计算机进行定版。平台层从新操作系统层版本中收集关键组件,并在平台中更新这些组件,使其与操作系统版本相匹配。
将版本添加到层
例如,要向操作系统层添加版本,请执行以下操作:
- 在 Citrix App Layering 管理控制台中,选择层 > 操作系统层
- 选择操作系统层,然后在 版本信息选项卡上单击添加版本 。
- 在“版本详情”中:
- 对于基础版本,选择要用作新层版本的基础的版本。默认值为最新版本。
- 输入 新版本的名称。这可以是操作系统版本或其他标识信息。
- 为在其中创建层的虚拟机管理程序选择 连接器配置 。
- 输入打包磁盘的文件名,并选择使用设备的文件共享而不是连接器配置时要使用的磁盘格式。此磁盘用于安装应用程序的打包机(虚拟机)。
- 验证您的设置,然后单击“添加版本”。这将运行创建操作系统版本的任务。任务完成后,它将显示 需要操作的状态。选择任务并单击“查看详细信息”后,将显示以下文本:
“打包磁盘已发布。虚拟机 ‘<… >’ 可以在数据中心 ‘<… >’ 的文件夹 ‘<… >’ 中找到。打开此虚拟机电源以安装应用程序。安装完成后,请先关闭虚拟机电源,然 后 单击操作栏上的“完成”。“
接下来,您可以为此操作系统层版本部署打包计算机。
将打包计算机部署到 Hypervisor
打包计算机是一个虚拟机,您可以在其中安装要包含在层中的更新或应用程序。打包计算机是一个临时虚拟机,在操作系统层完成后将被删除。
任务描述包含导航到 Hypervisor 中创建此层打包计算机的位置的指示。
- 要在 Hypervisor 中创建打包计算机,请从步骤 2 中显示的扩展打包磁盘任务开始。
- 登录您的 Hypervisor 客户端。
- 返回管理控制台,使用展开的打包磁盘任务中的说明导航到打包计算机。
安装操作系统更新
- 远程登录到打包计算机。请确保登录到用于创建操作系统的用户帐户。
- 安装要包含在新操作系统层版本中的任何更新或应用程序,例如 Windows 更新或防病毒应用程序。
- 如果应用程序安装需要重新启动系统,请手动重新启动。包装机 不 会自动重启。
- 确保包装机处于用户想要的状态:
- 如果您安装的应用程序需要任何安装后安装或应用程序注册,请立即完成这些步骤。
- 删除 不 想包含在打包机上的所有设置、配置、文件、映射驱动器或应用程序。
接下来,关闭包装计算机并验证层是否已准备好完成。
注意:
当您将 Windows 10 从一个主要版本升级到另一个主要版本(例如,从 1703 升级到 1709 年)时,之前安装的 Windows 会保留在 C:\Windows.old 文件夹中。在 App Layering 中,您不得删除此文件夹。 升级完全完成后,我们的软件需要将驱动程序和其他文件从Windows.old复制到Windows。 当您完成操作系统层时,我们将清理 Windows.old。
验证层并关闭包装机
下一步是验证层是否已准备就绪,以便最终完成。为了做好最终确定的准备,必须完成任何必需的安装后处理,例如重新启动或 Microsoft ngen
进程。
要验证任何未完成的进程是否已完成,您可以运行“关闭完成”工具(如下图标),该工具将显示在打包计算机的桌面上。
要使用“关闭以便最终完成”工具:
- 如果您未登录到打包计算机,请以创建计算机的用户身份进行远程登录。
- 双击“关闭以完成”图标。命令行窗口显示详细说明层验证过程的消息。
- 如果在完成层之前必须完成的未完成操作,系统会提示您完成该操作。例如,如果 Microsoft
ngen
操作必须完成,则可以尝试加快ngen
操作,详情如下所述。 - 任何待处理的操作完成 后,再次双击“关闭 以完成”图标。这会关闭包装机。
该层已准备就绪。
如果您选择的连接器配置设置为“卸载合成”,则层将自动定型。否则,下一步是手动完成层,如下一步所述。
层完整性消息
以下层完整性消息告诉您在层准备完成之前必须完成哪些排队操作:
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 配置为可以运行,但是 SMSCFG.INI 仍然存在。要了解有关在虚拟环境中部署 SCCM 的更多信息,请参阅 Microsoft TechNet 文章《在 XenDesktop VDI 环境中实现 SCCM》。`
有关层完整性消息的含义以及如何调试的详细信息,请参阅在 Citrix App Layering 4.x 及更高版本中调试层完整性问题。
不能通过关闭计算机来绕过层完整性消息。App Layering 软件将停止并返回到打包计算机,直到流程完成为止。
如果 Microsoft ngen
操作正在进行中,您可能能够加快操作速度,如下一节所述。
Ngen.exe
操作
如有必要,加快 Microsoft 安装完所有软件更新后,您必须允许 Ngen.exe
基本上将 .NET
字节码重新编译为本机映像并构建注册表项来管理它们。
Ngen.exe
是 Microsoft Native Image Generator,它是 .NET
系统的一部分。根据安装的软件以及 Windows 在配置中检测到的内容,Windows 确定何时运行 Ngen.exe
。
重要:
Ngen.exe
正在运行时,必须让它完成。中断的Ngen.exe
操作可能会导致.NET
组件无法正常运行或.NET
系统中出现其他问题。
通常情况下, Ngen.exe
是在有前台活动时暂停的后台操作。如果要加快 Ngen.exe
操作,可以将任务带入前台以尽快完成任务。
要将任务置于前台,请执行以下操作:
- 以管理员身份打开命令提示符。
-
转到当前正在使用的版本的
Microsoft.NET\Framework
目录:cd C:\Windows\Microsoft.NET\FrameworkNN\vX.X.XXXXX <!--NeedCopy-->
-
如果使用 .NET Framework 3 或更高版本,请输入以下
Ngen.exe
命令以运行所有排队项目。此命令在构建程序集之前处理排队的组件安装。ngen eqi 3 <!--NeedCopy-->
Ngen.exe
任务会在命令提示符下移动到前台,并列出正在编译的程序集。如果您看到编译消息,这是可以的。确保所有
Ngen.exe
进程都已运行至完成。您可以使用任务管理器查看MSCORSVW.EXE
的实例是否正在运行。如果是,请允许它完成或运行ngen eqi 3
。警告: 不要重新启动以停止任务。允许任务完成!
-
如果使用 .NET Framework 2 或更早版本,请输入以下
Ngen.exe
命令以运行已排队的项目。``` ngen update /force
这会在命令提示符下将 ngen 任务置于前台,并列出正在编译的程序集。 >**注意:** >如果您看到 **编译失败的消息没** 关系。 >在任务管理器中查看 MSWORD.EXE 的实例是否正在运行。如果是,您必须允许它完成,或者重新运行 'ngen update /force \`。不要重新启动以停止任务。让它完成。 通过以管理员身份打开命令提示符并运行以下命令来检查 `Ngen.exe` 操作状态: ```ngen queue status<!--NeedCopy-->
警告: 不要重新启动以停止任务。允许任务完成!
- 当所有操作完成 后 ,请使用桌面上可用的“关闭以完成”快捷方式关闭虚拟机。
手动完成层
创建打包计算机并安装任何应用程序或更新后,您就可以完成该层。
注意:当您完成操作系统层的新版本时,系统会删除打包计算机,以免产生更多成本。
当层准备完成时:
- 返回到管理控制台。
- 在“层”模块中,选择层。
- 在操作栏中选择完成。
- 监视任务栏以验证操作是否成功完成以及层是否可部署。