App Layering

准备用于 XenServer®、Hyper-V 或 vSphere 分层的操作系统映像

在开始之前,请确保您满足要求。在准备映像时,如果您认为操作时间过长,可以在必要时加快 Microsoft Ngen.exe 操作

如果使用 Windows 10,只要您运行 Citrix Provisioning、计算机创建或 VMware View,就可以加快桌面启动时间。在这种情况下,您可以删除 Windows 10 内置应用程序。我们建议在操作系统层的新版本中删除应用程序,而不是在操作系统映像本身中删除。

注意:

添加新的 XenServer 连接器后,XenServer 支持基于 UEFI 的计算机。

在虚拟机上安装操作系统

从 ISO 全新安装操作系统至关重要,最好是从您的虚拟机管理程序安装。

在此过程中,请务必遵循您正在安装的 Windows 版本特有的步骤和注意事项。

  1. 登录到您的虚拟机管理程序客户端。
  2. 为您的操作系统类型创建具有正确 CPU、RAM、硬盘和网络设置的虚拟机。指导:

    • XenServer 虚拟机: 确保只选择一个网络。
    • vSphere 虚拟机:
      • 网络: (必需)选择 VMXNET 3 网络适配器

      重要提示:

      您只能有一个网络设备,并且 E1000 NIC 必须从未使用过。默认的 E1000 适配器(甚至是 E1000 适配器遗留的幽灵 NIC)可能会导致虚拟机上出现自定义超时错误。

      • 精简置备: 选择精简置备
    • 所有虚拟机管理程序:
      • 硬盘: 确保设备可以访问您创建的硬盘。
  3. 附加 ISO 并安装操作系统。此计算机不得加入域。 域加入必须在平台层中完成,任何域组成员身份更改都必须通过组策略完成。
  4. 安装您计划打包层的平台所用的虚拟机管理程序工具。如果您支持多个虚拟机管理程序,请将您计划用于在平台层中发布映像的虚拟机管理程序工具放入平台层。

    • 对于 Hyper-V:使用 Microsoft Windows Integration Services 安装盘安装 Hyper-V Integration Services。

如果使用服务器操作系统,请安装 Remote Desktop Session Host 功能

使用 Windows Server 时,您需要安装 Remote Desktop Session Host 功能。当 Remote Desktop Session Host 角色安装在操作系统层中时,它会作为 Windows 的一部分进行更新。如果您愿意,也可以在平台层中与 VDA 一起安装该角色。

如果您在操作系统层中安装 RDS,则需要使用本地 GPO 来定义 RDS 许可证服务器。否则,随着时间的推移,您将无法登录到打包计算机。

要安装会话主机功能:

  1. 服务器管理器中,选择添加角色和功能
  2. 对于安装类型,选择基于角色基于功能的安装。
  3. 对于服务器角色,选择远程桌面服务 > Remote Desktop Session Host (已安装)。这将安装 C++ 库和 RDS 角色。
  4. 完成添加服务器角色的过程。

确保安装了正确版本的 .NET Framework(Windows 10 和 Windows Server 2016)

.NET Framework 是 Microsoft 提供的一个软件框架,许多第三方应用程序的运行都需要它。任何 .NET Framework 的安装都必须包含在操作系统层中。这包括 .NET 3.5 和 .NET 4.0 或更高版本。

注意:

Citrix Virtual Apps and Desktops (CVAD) 2303 需要 .NET 4.8 版本才能添加 VDA。

请务必在您的操作系统层上安装 .NET Framework 和任何更新。

安装 Windows 更新

请务必安装所有 Windows 更新。

  1. 安装所有重要更新。
  2. 虚拟机重新启动后,再次检查更新。某些更新仅在其他更新安装后才可用。
  3. 安装所有必需的服务包:
    • 如果将 Windows 2008 与 Citrix Provisioning™ 结合使用,请安装 Windows Server 2008 R2 Service Pack 1 (SP1)。

      注意:

      如果已安装 KB3125574,请在安装此服务包之前将其卸载。

  4. 使用本地组策略编辑器 gpedit.msc 清除Windows 自动更新并禁用Windows 系统还原。系统会为您处理还原点。层版本允许您指定何时进行更新。
  5. Windows 10: 通过输入以下命令清除休眠:

    powercfg.exe /hibernate off
    <!--NeedCopy-->
    
  6. 启用内置管理员并选择密码永不过期
  7. 如果使用 Key Management Service (KMS) 许可,请以管理员身份运行命令窗口,并输入以下命令:

    slmgr /skms <kmsserverhost>
    slmgr /rearm
    reboot
    slmgr /ipk XXXX-YOUR-KMS-KEY-XXXX
    slmgr /ato
    <!--NeedCopy-->
    
  8. 如果使用服务器操作系统,请在 PowerShell 中运行以下命令:

    Set-ExecutionPolicy Unrestricted
    Enable-PSRemoting
    <!--NeedCopy-->
    

如有必要,加快 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. 输入以下 Ngen.exe 命令以运行所有排队的项目。此命令在构建程序集之前处理排队的组件安装。

    ngen eqi 3
    <!--NeedCopy-->
    

    注意:

    ngen 命令变体已经过测试,并且是 App Layering 中在此情况下有效的变体。

    Ngen.exe 任务在命令提示符中移至前台,并列出正在编译的程序集。如果看到编译消息,这是正常的。

    您可以使用任务管理器查看 MSCORSVW.EXE 实例是否正在运行。如果正在运行,请让它完成,或者运行 ngen eqi 3

    警告:

    不要重新启动以停止任务。让任务完成!

  4. 确保所有 Ngen.exe 进程都已运行完成。

在映像上运行 App Layering OS Machine Tools

要准备在层中运行的操作系统映像,请在映像上运行 OS Machine Tools 文件。此可执行文件运行 GPO 安装脚本 (gposetup.cmd) 和一个用于设置 Key Management Service (KMS) 版本的脚本。该脚本名为 SetKMSVersion.hta

  1. 将以下 zip 文件下载到操作系统映像上: App_Layering_Citrix_App_Layering_OS_Machine_Tools_20.x.zip
  2. 将文件解压到:

    c:\windows\setup\scripts
    <!--NeedCopy-->
    

    注意:

    文件必须解压到该目录。请勿更改目录。

如果使用 KMS,请配置许可证激活

提取 Key Management Service (KMS) 脚本后,SetKMSVersion 实用程序会询问您是否使用 KMS 许可。

注意:

在同时使用 KMS 和 Active Directory-based activation (ADBA) 的环境中发布映像会导致激活问题。

  1. 在出现的对话框中,选择是否使用 Key Management Service (KMS) 许可。

    设置 KMS 版本映像

要为 KMS 配置脚本,请执行以下操作。

  1. 转到:

    c:\windows\setup\scripts

  2. 以管理员身份运行 SetKMSVersion.hta,以在 c:\windows\setup\scripts\kmsdir 文件夹中创建脚本。

操作系统启动时,将运行相应的 KMS 激活脚本。

安装 App Layering 服务

  1. c:\windows\setup\scripts 文件夹中,运行 setup_x86.exe (32 位)setup_x64.exe (64 位)

您已准备好将映像导入到新的操作系统层中。

注意:

确保在导入操作系统之前运行一次映像准备工具安装程序。请勿在导入操作系统后运行映像准备工具安装程序,因为这可能会导致未知问题。