创建平台层
平台层包含平台软件和设置,这些软件和设置是您的层和分层映像在您的环境中无缝运行所必需的。
您可以出于以下两个目的创建平台层:
-
用于创建和打包层: 如果您从与创建层时所用管理程序不同的管理程序导入了操作系统,请使用此类型的平台层来创建应用程序层。
-
用于发布分层映像: 在映像模板中使用此类型的平台层,以便发布的分层映像在您的环境中无缝运行。
用于打包层或发布分层映像的平台层
使用下表确定是否需要平台层。此表还显示了如果需要平台层,应在其上安装哪些软件。
| 打包层 | 发布分层映像 | |
|---|---|---|
| 是否需要平台层? | 如果操作系统映像源自不同的管理程序,则需要。当应用程序需要代理或 SSO 软件时,您可以专门创建一个平台层来创建和更新该层。 | 发布到预配服务器并使用连接代理时需要。 |
| 要安装什么 | 如果操作系统源自不同的管理程序,则为管理程序工具。如果需要创建应用程序层,则为 SSO 或代理软件。 | 预配和连接代理软件及设置。如果发布到与操作系统源管理程序不同的管理程序,请包含管理程序工具。 |
| 要选择的值 | 选择您的管理程序。 | 选择您的管理程序、预配软件和连接代理。 |
| 您需要什么 | 管理程序安装程序 | 预配软件和连接代理的安装程序。 |
平台层中要包含的其他软件和设置
除了上面指定的平台软件之外,您还必须在平台层中包含以下设置和软件:
- 域加入
- NVIDIA 驱动程序(如果适用)
- Citrix Receiver™,用于单点登录组件
-
Citrix Workspace™ Environment Management (WEM) 代理
注意:
Citrix WEM 生成的 RSA 密钥在使用 WEM 部署映像时会导致问题。如果在完成层时存在 RSA 密钥,则会出现一条消息,指出您必须删除 RSA 密钥文件,该文件以以下路径开头:
C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\fb8cc9e38d3e60ab60c17cdfd6dd6d99_。 - Citrix® uberAgent®
- 任何影响登录堆栈的软件,例如 Imprivata
- Hyper-V 上的 Citrix Provisioning™:需要旧版网络适配器才能进行 PXE 启动
- Microsoft System Center Configuration Manager (SCCM) 软件(如果您正在使用)
创建平台层的过程
创建平台层的步骤是:
- 在管理控制台中创建平台层。
- 连接并登录到打包计算机。
- 安装您的预配和连接代理软件。
- 设备是否在与您创建层和发布映像所用管理程序不同的管理程序上运行?如果是,我们建议也安装管理程序工具。
- 验证层并关闭打包计算机。
- 如果所选的连接器配置设置为使用卸载合成,则层会自动完成。
- 如果连接器配置未设置为卸载合成,请手动完成层,如本文中的详细步骤所述。
何时更新平台层
平台层是优先级最高的层。它对于部署映像至关重要,尤其是对于网络设备。每当您更新基础架构软件时,请向平台层添加一个版本。
更新操作系统层时,映像有时会出现启动问题。要解决此问题,请使用新的操作系统层向平台层添加一个版本。打包计算机启动后,关闭计算机以进行完成。平台层会从新的操作系统层版本中收集关键组件,并在平台中更新它们,使其与操作系统版本匹配。
要求
创建平台层时,软件安装程序必须位于打包计算机可以访问的位置。例如,您的预配服务器和连接代理软件必须可访问。如果设备在不同的管理程序上运行,请同时包含管理程序工具。
有关详细要求,请选择您创建层或发布映像的环境:
- 适用于 Azure 的计算机创建
- 适用于 Nutanix AHV 的计算机创建
- 适用于 vSphere 的计算机创建
- 适用于 XenServer 的计算机创建
- Citrix Provisioning
- XenServer
- MS Azure
- MS Hyper-V
- Nutanix AHV
- VMware vSphere
- 网络文件共享(其他平台)
关于优化
平台层是优先级最高的层。您可能认为它是包含优化的最佳位置。但是,在 Windows 10 上,删除 Windows 应用程序的优化仅适用于操作系统层。Windows 应用程序与 Windows 应用商店集成,只能在操作系统层中进行修改。
Citrix 提供了一个出色的优化实用程序,称为 Citrix Optimizer。我们建议使用此实用程序,而不是 App Layering 附带的优化程序,因为 Citrix Optimizer 通常可以在需要时撤销优化。
为了加快用户登录速度。使用网络用户帐户登录,然后重新启动桌面。然后,以管理员身份登录,并删除创建的配置文件。当第一个网络用户登录时,一些系统文件会更新,然后登录性能通常会提高。
启动新的平台层
要创建平台层,请按照以下步骤操作:
- 使用创建平台层准备层。
- 在您的环境中部署打包计算机。
- 安装工具并配置您的环境设置。
- 完成层。
按照以下步骤操作,从操作栏开始:
-
选择层 > 平台层。然后选择创建平台层。
-
在“层详细信息”选项卡中,输入层名称和版本,两者都是必填值。您也可以选择输入其他值。
-
在“版本详细信息”选项卡中:
- (必填)输入新版本名称。例如,输入软件版本或其他标识信息。
- 如果您要向现有层添加版本,基本版本字段允许您选择要用作起点的版本。默认选择是最新版本。
-
在“操作系统层”选项卡中,选择要与此平台层关联的操作系统层。
-
在“连接器”选项卡中,为创建此层的平台选择一个连接器配置。
-
在平台类型选项卡中,选择此平台将用于发布分层映像或此平台将用于打包。然后选择您要发布分层映像的管理程序、预配软件和连接代理。 注意: 如果您未使用预配或连接代理,请为每个选项选择无。
-
在“打包磁盘”选项卡中,输入打包磁盘的文件名。此磁盘用于您要安装工具的打包计算机(虚拟机)。
-
在“图标分配”选项卡中,选择一个图标分配给层。此图标表示“层”模块中的层。
- 要使用现有映像,请在映像框中选择一个映像。
- 要导入新映像,请单击浏览并选择 PNG 或 JPG 格式的映像。
- 如果层使用提供的图标之一,并且连接器选择了卸载合成,则打包计算机将根据层的内容分配一个图标。
-
在“确认并完成”选项卡中,查看应用程序层的详细信息,如果需要,输入评论,然后单击创建层。您输入的任何评论都会显示在审核历史记录的信息视图中。
-
选择任务页面,然后单击打包磁盘任务。单击信息图标以显示完整的任务说明。
打包磁盘创建后,“任务”栏会显示打包磁盘在您环境中的位置。
接下来,您可以为您的层部署打包计算机。
部署打包计算机
App Layering 系统会在连接器配置中定义的位置创建打包计算机。打包计算机是一个临时虚拟机,您可以在其中安装层的软件。完成层后,打包计算机将被移除。
XenServer®、Hyper-V、Nutanix AHV、VMware vSphere
设备会在连接器配置中定义的位置创建打包计算机。
- 转到 App Layering 管理控制台,然后选择任务页面。
- 打开“创建平台层”任务以获取打包计算机的名称。
- 登录到您的管理程序管理控制台,例如:XenServer、Azure、Hyper-V、Nutanix 或 VMware。
- 从管理程序管理器控制台导航到打包计算机。如果打包计算机尚未开机,请立即开机。
适用于 Hyper-V 的 Citrix Provisioning:配置两张网卡
使用双网卡并运行适用于 Hyper-V 的 Citrix Provisioning 时,您必须在平台层的每个新版本上按如下方式配置网卡。
预配软件安装完毕并完成所需的重新启动后:
- 在打包计算机上打开管理命令提示符。
- 运行命令:
ipconfig /all - 将流式 NIC(Hyper-V 中的旧版网络适配器)的 IP 地址与正确的适配器名称匹配。
- 续订流式 NIC 上的 DHCP 租约。
- 再次在管理命令提示符中运行
ipconfig /release *adapter-name*,然后运行ipconfig /renew *adapter-name*。此命令强制 App Layering 驱动程序选择此适配器作为“主 NIC”。 - 运行关闭以完成并像往常一样完成层。
重要提示:
如果您选择“关闭以完成”,但出于任何原因需要重新打开计算机,则必须重新运行释放和续订命令。
Azure
- 转到 App Layering 管理控制台,然后选择任务页面。打开创建应用程序层任务并单击信息图标以查看详细信息。
- 使用任务详细信息中的链接导航到 Azure 中的打包计算机。“自定义部署”面板随即打开。
- 登录到 Azure 门户 (https://portal.azure.com)。
- 设置 Azure 参数。
- 打包计算机名称 - 必须符合 Azure 虚拟机名称要求。
- 大小 – 虚拟机大小。
- 虚拟网络和子网 - 用于部署打包计算机。 重要提示:确保资源组位置的值与您在连接器配置中配置的存储帐户位置匹配。如果这些位置不相同,则打包计算机将无法部署。如果您的部署失败,您可以再次将链接粘贴到浏览器中并重新开始。
- 打包计算机开机后,您可以安装要包含在层中的应用程序。
任何其他管理程序(通过网络文件共享)
-
在网络文件共享上的以下目录中找到打包磁盘: \Unidesk\Packaging Disks
-
将打包磁盘复制到管理程序上的单独位置。将磁盘放在另一个位置可以为创建新虚拟机时管理程序生成的文件留出空间。
重要提示:在磁盘准备好完成之前,请勿将其复制到 Finalize 文件夹。Finalize 文件夹中的磁盘无法附加到您接下来要创建的新虚拟机。
-
使用打包磁盘作为启动磁盘创建虚拟机。
-
打开打包计算机电源。
打包计算机开机后,您可以在层中安装平台工具。
在打包计算机上安装平台工具
接下来,安装用于发布分层映像的平台的软件。平台工具包括目标环境中分层映像所需的预配和连接代理软件。请记住,完成层时软件的状态就是映像使用的状态。
- 远程登录到打包计算机。请务必使用创建操作系统时使用的用户帐户登录。
- 安装分层映像配置为运行的工具。例如,包括您的预配、连接代理和管理程序工具。不要忘记您的驱动程序、启动级应用程序和任何必需的文件。
- 如果安装需要系统重新启动,请手动重新启动。打包计算机不会自动重新启动。
- 确保打包计算机在映像启动时处于您希望的状态:
- 如果您安装的工具需要任何安装后设置或注册,请立即完成这些步骤。
- 删除您不想包含在打包计算机上的任何设置、配置、文件、映射驱动器或应用程序。
- (可选)要在部署到 MCS 之前自定义从 ELM 部署的映像,请按照以下步骤操作:
- 将您的主工具升级到 OS 修订版 2308 及更高版本。
-
然后,创建文件:
c:\windows\setup\scripts\kmsdir\Admin_Controlled_Shutdown.txt注意:
文件内容不重要。
- 当映像从 ELM 部署时,启动的映像会保持运行,以便您可以进行自定义。重新启动不会影响计算机的状态。
- 完成自定义后,运行命令:
c:\windows\setup\scripts\kmsdir\CompleteDeployment.cmd.此时,计算机关闭并完成部署任务。这样,您就可以将计算机部署到 MCS。
验证层并关闭打包计算机
在打包计算机上安装工具后,您可以验证层是否已准备好完成。任何所需的安装后处理都需要完成。例如,可能需要完成重新启动或 Microsoft ngen 进程。
要验证未完成的进程是否已完成,请运行关闭以完成工具。在打包计算机的桌面上查找关闭以完成图标。
关闭打包计算机以便完成层
- 如果您未登录到打包计算机,请使用在创建操作系统层时设置的帐户进行远程登录。
- 双击关闭以完成图标。命令行窗口会显示详细说明层验证过程的消息。
- 如果存在未完成的操作,系统会提示您完成该过程。例如,如果必须完成 Microsoft
ngen操作,您可以加快ngen操作,如“完成过程中的层完整性消息”一节中所述。 - 待处理操作完成后,再次双击关闭以完成图标。
层现在已准备好完成。
- 如果所选的连接器配置设置为卸载合成,则层会自动完成。
- 如果您未使用卸载合成,请手动完成层。
完成过程中的层完整性消息
以下层完整性消息会告诉您在层准备好完成之前必须完成哪些排队操作:
A RunOnce script is outstanding - check and reboot the packaging machine.A post-installation reboot is pending - check and reboot the packaging machine.A Microsoft ngen operation is in progress in the background. - An MSI install operation is in progress - check the packaging machine.A reboot is pending to update drivers on the boot disk - 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.要了解有关在虚拟环境中部署 SCCM 的更多信息,请参阅 Microsoft TechNet 文章“在 XenDesktop VDI 环境中实施 SCCM”。
有关层完整性消息的含义以及如何调试它们的详细信息,请参阅“调试 Citrix App Layering 4.x 及更高版本中的层完整性问题”。
您无法通过关闭计算机来绕过层完整性消息。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 <!--NeedCopy--> -
输入以下
Ngen.exe命令以运行所有排队项。此命令在构建程序集之前处理排队的组件安装。ngen eqi 3 <!--NeedCopy-->Ngen.exe任务会移动到命令提示符的前台,并列出正在编译的程序集。如果看到编译消息,这是正常的。您可以使用任务管理器查看
MSCORSVW.EXE实例是否正在运行。如果是,请允许它完成,或运行ngen eqi 3。注意: 不要重新启动以停止任务。让任务完成!
- 确保所有
Ngen.exe进程都已运行完成。 - 完成后,使用桌面上的关闭以完成快捷方式关闭虚拟机。
手动完成层
当您在其中一个经过测试的管理程序上使用连接器时,层完成速度最快。有关详细信息,请参阅下一节。
您还可以通过使用网络文件共享在其他管理程序上完成层。请参阅本文的最后一节。
XenServer、Azure、Hyper-V、Nutanix AHV、VMware vSphere
现在层已验证并关闭,已准备好完成。
Hyper-V:
如果您使用的连接器选择了卸载合成,则此完成过程是自动化的,您无需执行这些手动步骤。
- 返回管理控制台。
- 选择层 > 平台层,以及您准备的版本信息选项卡上的层版本。
- 单击完成以完成层的创建。
- 监视任务栏以验证操作是否成功完成。
层验证后,打包计算机将被移除,以最大程度地减少所使用的存储空间。
任何其他管理程序(通过网络文件共享)
现在层已验证并关闭,已准备好完成。
-
将打包磁盘从包含打包计算机文件的文件夹复制到网络文件共享上的 Finalize 文件夹: \Unidesk\Finalize
-
返回管理控制台。
-
选择层 > 平台层。
-
在操作栏中选择完成。
-
监视任务栏以验证操作是否成功完成以及层是否可部署。