更新层
更新操作系统层、平台层或应用程序层中的软件的步骤几乎相同。您需要向层中添加一个版本,在打包计算机上安装升级或修补程序,验证,然后完成层。更新后,您将部署新的层版本,这会因层的类型而异。
平台层是优先级最高的层,对于映像部署至关重要,尤其是在设备(例如您的网络)方面。每当您更新基础架构软件时,都必须向平台层添加一个新版本。
您使用新的操作系统层作为基础向平台层添加一个版本。打包计算机启动后,关闭计算机以进行最终确定。平台层从新的操作系统层版本中收集关键组件,并在平台中更新它们,使其与操作系统版本匹配。
向层中添加版本
例如,要向操作系统层添加版本,请执行以下操作:
-
在思杰应用分层管理控制台中,选择 Layers > OS Layers
-
选择一个操作系统层,然后在 Version Information 选项卡上单击 Add Version。
-
在版本详细信息中:
-
对于 Base Version,选择要用作新层版本基础的版本。默认值为最新版本。
-
输入 New Version 的名称。这可以是操作系统版本或其他标识信息。
-
-
为创建层的管理程序选择一个 Connector configuration。
-
输入打包磁盘的文件名,如果您使用的是设备的 File Share 而不是连接器配置,请选择要使用的磁盘格式。此磁盘用于安装应用程序的打包计算机(虚拟机)。
-
验证您的设置并单击 Add Version。这将运行一个任务来创建操作系统版本。任务完成后,它会显示 Action Required 状态。当您选择该任务并单击 View Details 时,将显示以下文本:
“打包磁盘已发布。虚拟机 '\<...>' 位于数据中心 '\<...>' 的文件夹 '\<...>' 中。启动此虚拟机以安装您的应用程序。安装完成后,在单击操作栏上的 Finalize 之前关闭虚拟机。”
接下来,您可以为该操作系统层版本部署一个打包机。
将打包机部署到您的虚拟机管理程序
打包机是一个虚拟机,您可以在其中安装要包含在层中的更新或应用程序。打包机是一个临时虚拟机,一旦操作系统层定稿,它就会被删除。
任务描述包含导航到您的虚拟机管理程序中为该层创建打包机的位置的说明。
-
要在您的虚拟机管理程序中创建打包机,请从步骤 2 中所示的扩展打包磁盘任务开始。
-
登录到您的虚拟机管理程序客户端。
-
返回管理控制台,使用扩展打包磁盘任务中的说明导航到打包机。
安装操作系统更新
-
远程登录到打包机。请务必登录到您用于创建操作系统的用户帐户。
-
安装您希望包含在新操作系统层版本中的任何更新或应用程序,例如 Windows 更新、Windows 应用商店应用更新、Microsoft Edge 更新或防病毒应用程序。
-
如果应用程序安装需要系统重启,请手动重启。打包机不会自动重启。
-
确保打包机处于您希望用户使用的状态:
-
如果您安装的应用程序需要任何安装后设置或应用程序注册,请立即完成这些步骤。
-
删除您不希望包含在打包机上的任何设置、配置、文件、映射驱动器或应用程序。
-
接下来,关闭打包机并验证该层是否已准备好定稿。
注意:
当您将 Windows 10 从一个主要版本升级到另一个主要版本时(例如,从 1703 升级到 1709),以前的 Windows 安装会保留在 C:\Windows.old 文件夹中。在 App Layering 中,您不得删除此文件夹。我们的软件需要在升级完全完成后,将驱动程序和其他文件从 Windows.old 复制到 Windows。当您最终确定操作系统层时,我们将清理 Windows.old。
验证层并关闭打包机
下一步是验证层是否已准备好进行最终确定。为了准备最终确定,任何所需的安装后处理(例如,重新启动或 Microsoft
ngen 进程)都必须完成。
要验证所有未完成的进程是否已完成,您可以运行“Shutdown For Finalize”工具(图标如下所示),该工具显示在打包机的桌面上。
使用“Shutdown For Finalize”工具:
-
如果您未登录打包机,请以创建该计算机的用户身份远程登录。
-
双击“Shutdown For Finalize”图标。此时会显示一个命令行窗口,其中包含有关层验证过程的详细消息。
-
如果存在必须在最终确定层之前完成的未完成操作,系统会提示您完成该操作。例如,如果 Microsoft
ngen操作必须完成,您可以尝试加快ngen操作,详情如下。 -
完成所有待处理操作后,再次双击“Shutdown For Finalize”图标。这将关闭打包机。
该层已准备好进行最终确定。
如果您选择的连接器配置设置为“卸载合成”,该层将自动最终确定。否则,下一步是手动最终确定层,如以下过程所述。
层完整性消息
以下层完整性消息会告诉您在层准备好进行最终确定之前必须完成哪些排队操作:
-
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)..
有关图层完整性消息的含义以及如何调试它们的详细信息,请参阅 Debugging Layer Integrity Problems in Citrix App Layering 4.x and later。
您无法通过关闭计算机来绕过图层完整性消息。App Layering 软件会停止并让您返回到打包计算机,直到进程完成。
如果 Microsoft
ngen 操作正在进行中,您可能可以加快其速度,如下一节所述。
如有必要,加快 Microsoft Ngen.exe 操作
安装所有软件更新后,您必须允许
Ngen.exe 将 .NET 字节码重新编译为本机映像,并构建用于管理它们的注册表项。
Ngen.exe 是 Microsoft 本机映像生成器,它是 .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 -
如果使用 .NET Framework 3 或更高版本,请输入以下
Ngen.exe命令以运行所有排队项目。此命令在构建程序集之前处理排队的组件安装。ngen eqi 3Ngen.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注意: 请勿重新启动以停止任务。请让任务完成! -
当所有操作完成后,使用桌面上的“关机以完成”快捷方式关闭虚拟机。
手动完成层
一旦创建了打包机并安装了任何应用程序或更新,您就可以最终确定该层。
注意:当您最终确定操作系统层的新版本时,系统会删除打包机,以免产生更多费用。
当层准备好最终确定时:
-
返回管理控制台。
-
在“层”模块中,选择该层。
-
在操作栏中选择 Finalize。
-
监视任务栏以验证操作是否成功完成以及该层是否可部署。