Citrix Virtual Apps and Desktops

应用程序包

注意:

  • 可以使用下面两个管理控制台管理您的 Citrix Virtual Apps and Desktops 部署:Web Studio(基于 Web)和 Citrix Studio(基于 Windows)。本文仅涵盖 Web Studio。有关 Citrix Studio 的信息,请参阅 Citrix Virtual Apps and Desktops 7 2212 或更早版本中的等效文章。
  • 我们不建议交替使用 Web Studio 和 Citrix Studio 来部署和交付应用程序软件包。每种产品都使用不同的机制,这可能会导致出现差异,例如 App-V 服务器信息在一个产品中正确显示,而在另一个产品中却无法正确显示。

Microsoft 提供三种封装技术来向用户交付应用程序:App-V、MSIX 和 MSIX 应用附加。本文向您介绍了如何使用 Web Studio > App Packages(应用程序包)部署和交付这些封装的应用程序:

部署和交付 App-V 应用程序

本部分包含以下信息:

  • 概述。描述交付和管理 App-V 包的管理方法。
  • 过程。提供部署和交付这些包的过程。

概述

本部分内容介绍交付和管理 App-V 包的管理方法。有关在交付 App-V 封装的应用程序时与之交互的组件和概念的详细信息,请参阅 Microsoft 文档:https://docs.microsoft.com/en-us/windows/application-management/app-v/appv-for-windows

可以使用以下方法来交付和管理 App-V 包:

  • 双管理。应用程序包在 App-V 服务器上配置和管理。Citrix Virtual Apps and Desktops 和 App-V 服务器协同工作以交付和管理包。

    此方法要求 Citrix Virtual Apps and Desktops 定期刷新 App-V 服务器状态的快照视图。它会产生硬件、基础结构和管理开销。Citrix Virtual Apps and Desktops 和 App-V 服务器必须保持同步,尤其是在用户权限方面。

    双管理在 App-V 和您的环境紧密结合的部署中效果最佳:

    • App-V 管理服务器。发布和管理 App-V 包和动态配置文件的生命周期。
    • 安装在 VDA 计算机上的 Citrix 个性化组件。管理应用程序启动所需的相应 App-V 发布服务器的注册。

    此方法可确保 App-V 发布服务器在适当的时间为用户同步。发布服务器维护包生命周期的其他方面,例如,登录时刷新和连接组。

  • 单管理。应用程序包存储在网络共享中。Citrix Virtual Apps and Desktops 独立交付和管理包。

    此方法减少了开销,因为部署中不需要 App-V 服务器和数据库基础结构。

    使用这种方法,您可以将 App-V 包存储在网络共享中,并将其元数据从该位置上载到您的环境。然后,安装在 VDA 计算机上的 Citrix 个性化组件按如下所示管理和交付应用程序:

    • 启动应用程序时处理部署配置文件和用户配置文件。

    • 管理主机上的包生命周期的各个方面。

您可以同时使用这两种管理方法。换言之,在向交付组添加应用程序时,应用程序可能来自 App-V 服务器上或网络共享中存在的 App-V 包。

注意:

如果同时使用这两种管理方法,并且 App-V 包在两个位置都有动态配置文件,则使用 App-V 服务器(双管理)中的文件。

过程

要支持 App-V 应用程序的交付,必须在 VDA 计算机上安装 Citrix 个性化组件。有关详细信息,请参阅在 VDA 计算机上安装 Citrix 个性化组件

要向您的用户交付 App-V 封装的应用程序,请执行以下步骤:

  1. 将应用程序包存储在网络共享中
  2. 将应用程序包上载到您的环境中
  3. 将应用程序添加到交付组中
  4. 要启用相互依赖的 App-V 包的自动交付,请创建隔离组

要让 Citrix Virtual Apps and Desktops 在单管理方法中识别并应用 App-V 动态配置文件,请参阅此 Citrix 博客

部署和交付 MSIX 和 MSIX 应用附加应用程序

本部分包含以下信息:

  • 概述。描述 MSIX 和 MSIX 应用附加包的交付和管理。
  • 过程。提供部署和交付这些包的过程。

概述

Citrix Virtual Apps and Desktops 通过安装在 VDA 计算机上的 Citrix 个性化组件向用户提供 MSIX 和 MSIX 应用附加应用程序。此组件负责管理主机上的包生命周期的各个方面。

有关 MSIX 和 MSIX 应用附加的详细信息,请分别参阅 Microsoft 文档 https://docs.microsoft.com/en-us/windows/msix/https://docs.microsoft.com/en-us/azure/virtual-desktop/what-is-app-attach

过程

要支持 MSIX 和 MSIX 应用附加包的交付,必须在 VDA 计算机上安装 Citrix 个性化组件。有关详细信息,请参阅在 VDA 计算机上安装 Citrix 个性化组件

要向您的用户交付 MSIX 和 MSIX 应用附加封装的应用程序,请执行以下步骤:

  1. 将应用程序包存储在网络共享中
  2. 将应用程序包上载到您的环境中
  3. 将应用程序添加到交付组中

在 VDA 计算机上安装 Citrix 个性化组件

Citrix Personalization 组件管理 App-V、MSIX 和 MSIX 应用附加格式的应用程序包的发布过程。安装 VDA 时,默认情况下不安装此组件。可以在 VDA 安装期间或之后安装此组件。

要在 VDA 安装期间安装此组件,请使用以下任一方法:

  • 在安装向导中,转到其他组件页面,然后选中 Citrix Personalization for App-V - VDA 复选框。
  • 在命令行接口中,使用 /includeadditional “Citrix Personalization for App-V – VDA” 选项。

要在安装 VDA 后安装此组件,请执行以下步骤:

  1. 在 VDA 计算机上,转到控制面板 > 程序 > 程序和功能,右键单击 Citrix Virtual Delivery Agent,然后选择更改
  2. 在出现的向导中,前往其他组件页面,然后启用 Citrix Personalization for App-V - VDA 复选框。

注意:

Microsoft App-V Desktop Client 是在用户设备上运行来自 App-V 包的虚拟应用程序的组件。Windows 10(1607 或更高版本)和 Windows Server 2019 已经包含了这款 App-V 客户端软件。您只需要在 VDA 计算机上将其启用即可。有关详细信息,请参阅这篇 Microsoft 文档文章:https://docs.microsoft.com/en-us/windows/application-management/app-v/appv-enable-the-app-v-desktop-client

将应用程序包存储在网络共享中

设置基础结构后,生成应用程序包并将其存储在网络位置(例如 UNC 或 SMB 网络共享)或 Azure 文件共享中。

详细步骤如下所述:

  1. 生成应用程序包。有关详细信息,请参阅 Microsoft 文档。

  2. 将应用程序包存储在网络位置:

    • 对于 App-V 单管理:将包和相应的动态配置文件 (App-V) 存储在 UNC 或 SMB 网络共享或 Azure 文件共享中。

    • 对于 App-V 双管理:将包从 UNC 路径发布到 App-V 管理服务器。(不支持从 HTTP URL 发布。)

    • 对于 MSIX 或 MSIX 应用附加:将包存储在 UNC 或 SMB 网络共享或 Azure 文件共享中。

  3. 确保 VDA 对包存储路径具有读取权限:

    • 如果您将包存储在 AD 域中的 UNC 或 SMB 网络共享中,请授予 VDA 计算机对存储路径的读取权限。为此,您可以明确授予计算机的 AD 帐户对共享的读取权限,也可以将该帐户包含在具有该权限的 AD 组中。

    • 如果将包存储在 Azure 文件共享中,请先向用户帐户授予对 Azure 中的存储路径的读取权限。接下来,将在 VDA 计算机上运行的 ctxAppVService 配置为使用该用户帐户访问包存储路径。有关详细步骤,请参阅以下部分。

更改用户登录帐户

VDA 调用 ctxAppVService 以访问包存储路径。默认情况下,ctxAppVService 使用计算机的本地系统帐户访问包存储路径。这种类型的计算机身份验证适用于 AD 域。但是,它在需要基于用户帐户的身份验证的 AD 和 Azure AD 集成场景中不起作用。

如果您将包存储在 Azure 文件共享中,请将 ctxAppVService 的登录帐户更改为对包存储路径具有读取权限的用户帐户。详细步骤如下所述:

  1. 启动 Services(服务),右键单击 ctxAppVService,然后选择 Properties(属性)。

  2. Log on(登录)选项卡上,选择 This account(此帐户),输入对包存储路径具有读取权限的用户帐户,然后输入两次该用户的密码。

  3. 单击确定

将应用程序包上载到您的环境中

根据需要将应用程序包存储到网络位置后,将其上载到您的环境进行交付。根据需要使用以下任一方法:

准备

Citrix Virtual Apps and Desktops 使用 VDA 计算机设置与网络位置的连接以发现包。因此,请事先创建一个交付组,并确保该组中至少有一个 VDA 满足以下要求:

  • VDA 版本:
    • 要发现 App-V 包,请执行以下操作:2203 或更高版本
    • 要发现 MSIX 和 MSIX 应用附加包,请执行以下操作:2209 或更高版本
  • Citrix Personalization for App-V 组件:已安装
  • 对包位置的权限:读取(有关详细信息,请参阅步骤 2:将应用程序包存储在网络共享中。)
  • 电源:开
  • 状态:已注册

批量上载应用程序包

将网络位置中的包上载到您的环境中。在上载之前,请务必准备好以下各项:

  • 满足准备要求的交付组
  • 网络位置路径

要批量上载包,请按以下步骤进行操作:

  1. 在左侧窗格中,选择应用程序包
  2. Sources(源)选项卡上,单击 Add Source(添加源)按钮。此时将出现添加源页面。
  3. 名称字段中,输入包来源的描述性名称。
  4. 交付组字段中,单击选择交付组。接下来,请选择满足 Preparation(准备)中所述要求的交付组,然后单击 OK(确定)。
  5. Location type(位置类型)字段中,根据包的存储位置选择 Microsoft App-V server(Microsoft App-V 服务器)或 Network share(网络共享),然后完成相应的设置:
    • 如果选择 Microsoft App-V server(Microsoft App-V 服务器),请输入以下信息:
      • 管理服务器的 URL。示例:http://appv-server.example.com
      • 管理服务器管理员的登录凭据。
      • 发布服务器的 URL 和端口号。示例:http://appv-server.example.com:3330
    • 如果选择了 Network share(网络共享),请指定以下信息:
      • 输入网络共享的 UNC 路径。示例:\\Package-Server\apps\
      • 选择要上载的包类型。选项包括“App-V”、“MSIX”和“MSIX 应用附加”。
      • 指定是否在子文件夹中搜索包。
  6. 单击 Add Source(添加源)。

    “Add Source”(添加源)页面关闭,新添加的源将显示在源列表中。Citrix Virtual Apps and Desktops 使用交付组中的 VDA 将包上载到您的环境中。上载完成后,“Status”(状态)字段将显示 Import successful(导入成功)。相应的包将显示在 Packages(包)选项卡上。

    注意:

    要检查源位置中的软件包更新并将其导入到您的环境中,请在源列表中选择该位置,然后单击检查软件包更新

逐个上载应用程序包

将应用程序包从网络共享上载到您的环境中。在上载之前,请确保准备好以下各项:

  • 满足准备中所述要求的交付组
  • 网络位置路径。

要将某个包上载到您的环境中,请按照以下步骤进行操作:

  1. 在左侧窗格中,选择应用程序包
  2. 选项卡上,单击添加包按钮。此时将出现添加包页面。
  3. 交付组字段中,单击选择交付组。下一步,选择满足准备中所述要求的交付组,然后单击确定
  4. 包完整路径字段中,根据需要输入路径:
    • 要一次上载多个包,请输入其完整路径,用分号 (;) 分隔。示例:\\Package-Server\apps\office365.appv;\\Package-Server\apps\skype.msix;\\Package-Server\apps\slack.vhd
    • 要上载网络共享中存在的所有包,请输入存储路径。示例:\package-Server\apps\
  5. 单击添加包

    应用程序包显示在 Packages(包)选项卡上。

将应用程序添加到交付组中

应用程序包完全上载后,根据需要将其应用程序添加到一个或多个交付组中。因此,与这些交付组关联的用户可以访问这些应用程序。

要将包中的一个或多个应用程序添加到多个交付组中,请执行以下步骤:

  1. 在左侧窗格中,选择应用程序包
  2. 选项卡上,根据需要选择一个包。
  3. 在操作栏中,单击添加交付组。此时将显示“添加交付组”页面。
  4. 根据需要在包中选择一个或多个应用程序,然后单击下一步
  5. 在交付组列表中,选择要向其分配应用程序的组,然后单击下一步注意: 如果您选择了 MSIX 或 MSIX 应用附加包,则列表中仅显示功能级别为 2106 或更高版本的交付组。
  6. 单击完成

在以下情况下,您还可以在交付组中添加封装的应用程序:

  • 创建交付组。有关详细信息,请参阅创建交付组
  • 编辑现有的交付组或应用程序组。有关详细信息,请参阅添加应用程序

(可选)为 App-V 包创建隔离组

可以创建隔离组以启用相互依赖的 App-V 包的自动交付。

注意:

App-V 单管理方法支持隔离组。如果您使用的是 App-V 双管理方法,可以通过在 Microsoft App-V 基础结构中创建连接组来实现相同的目标。有关详细信息,请参阅这篇 Microsoft 文档文章:https://docs.microsoft.com/en-us/windows/application-management/app-v/appv-connection-group-file

关于隔离组

隔离组是相互依赖的应用程序包的集合,它们必须在同一 Windows 沙盒中运行才能创建虚拟环境。Citrix App-V 隔离组与 App-V 连接组相似但不完全相同。隔离组包括两种类型的包:

  • 显式应用程序包。具有特定许可要求的应用程序。可以通过将这些应用程序添加到交付组来将其限制到特定范围的用户。
  • 自动应用程序包。无论是否将应用程序添加到交付组,所有用户都可以随时访问这些应用程序。

例如,应用程序 app-a 需要 JRE 1.7 才能运行。可以创建一个包含 app-a(标记为显式)和 JRE 1.7(标记为自动)的隔离组。接下来,将 app-a 的 App-V 包添加到一个或多个交付组。用户启动 app-a 时,JRE 1.7 会通过它自动部署。

当用户在隔离组中启动标记为显式的 App-V 应用程序时,Citrix Virtual Apps and Desktops 会检查用户对交付组中该应用程序的访问权限。如果用户有权访问该应用程序,则同一隔离组中的任何自动应用程序包都可供用户使用。

无需将自动包添加到任何交付组。如果隔离组中还有另一个显式应用程序包,则只有当该包位于同一个交付组中时,才可供用户使用。

有关隔离组的详细信息,请参阅此 Citrix 博客

创建 App-V 隔离组

创建隔离组并将相互依赖的应用程序包添加到其中。详细步骤如下所述:

  1. 隔离组选项卡上,单击添加隔离组
  2. 输入隔离组的名称和说明。您的环境中的所有应用程序包都显示在可用包列表中。
  3. 可用包列表中,根据需要选择应用程序,然后单击右箭头键。选定的应用程序显示在隔离组中的包列表中。
  4. 部署字段中,为应用程序选择显式自动
  5. 重复执行步骤 2-3 以添加更多包。
  6. 要调整列表中包的顺序,请单击向上或向下箭头。
  7. 单击保存

注意:

隔离组配置会在 VDA 上创建 App-V 连接组。部署场景可能会变得复杂,App-V 客户端一次仅支持一个活动连接组中的包。我们建议您避免向添加到同一个交付组中的两个不同的隔离组添加同一个包。

在单会话或共享桌面 VDA 上发布封装的应用程序

现在,您可以直接通过交付组将 App-V、MSIX 和 MSIX 应用附加包交付到您的单会话或共享桌面 VDA 会话中。根据在应用程序上设置的辅助功能权限,您可以在登录时在桌面 VDA 上访问封装的应用程序。

优势

  • 应用程序可在登录时在 VDA 上提供,不能通过 Workspace 或 StoreFront 按需暂存。
  • 缩短了访问封装的应用程序时的启动时间。
  • 便于独立维护封装的应用程序,与 VDA 的基础映像分开。

注意事项

  • 此选项仅通过相应的 PowerShell SDK 面向单会话 VDA 提供。它当前在 Web Studio 工作流程中不可用。发布到共享桌面操作可以使用 PowerShell SDK 完成,也可以通过 Web Studio 工作流程以现有方式完成。有关现有过程的详细信息,请参阅向交付组中添加应用程序
  • 应用程序必须是交付组的一部分。

开始之前的准备工作

过程

要将封装的应用程序交付到桌面 VDA,请执行以下步骤:

  1. 将应用程序包导入到 Web Studio 中
  2. 发布打包的 Broker 应用程序
  3. 限制应用程序在 Web Studio 中的可见性

将应用程序包导入到 Web Studio 中

  1. 打开 Web 浏览器。输入 https://<address of the server hosting Web Studio>/Citrix/Studio
  2. 创建交付组。有关详细信息,请参阅创建交付组
  3. 将应用程序包导入到 Web Studio 中。有关详细信息,请参阅批量上载应用程序包

在 Broker 应用程序中发布封装的应用程序

如果您要发布到多会话(共享)VDA 或单会话应用程序 VDA,发布过程将保持不变。有关详细信息,请参阅向交付组中添加应用程序。 如果您要发布到单会话桌面 VDA,请执行以下操作:

在 Delivery Controller 上,运行以下 PowerShell 命令:

  1. 要检索软件包中存在的命令,请执行以下操作:

    Import-Module "D:\Support\Tools\Scripts\Citrix.Cloud.AppLibrary.Admin.v1.psm1"

    注意:

    支持此功能的 App-V package discovery module 的版本可在上述路径的 Citrix Virtual Apps and Desktops ISO(2311 或更高版本)中找到。

  2. 要检索相关的交付组 ID 和封装的应用程序 ID,请执行以下操作:

    Get-BrokerDesktopGroup | Format-Table Uid, Name Get-AppLibAppVApplication | Format-Table Uid, Name

  3. 要发布包并创建相应的 BrokerMachineConfigurations,请执行以下操作:

    Publish-PackagedApplication -AppLibararyApplicationUid <AppLibararyApplication.Uid > -DesktopGroupUid <DesktopGroup.Uid>

  4. 要同步 Broker 配置(稍后将在 VDA 上发送给 Broker 代理),请执行以下操作:

    Update-DesktopGroupMachineConfigurations -DesktopGroupUid <DesktopGroup.Uid>

    注意:

    确保在 VDA 中发布或删除封装的应用程序后运行 PowerShell 命令 Update-DesktopGroupMachineConfigurations

限制应用程序在 Web Studio 中的可见性

默认情况下,用户将所有封装的应用程序分配给为在其桌面会话中可用的 VDA 提供服务的交付组。通过在 Web Studio 上为特定用户或组设置应用程序的可见性,可以控制封装的应用程序在桌面 VDA 上的可见性。要管理封装的应用程序的可见性,请参阅更改应用程序属性