应用程序包

注意:

  • You can manage your Citrix Virtual Apps and Desktops™ deployment using two management consoles: Web Studio (web-based) and Citrix Studio (Windows-based). This article covers only Web Studio. For information about Citrix Studio, see the equivalent article in Citrix Virtual Apps and Desktops 7 2212 or earlier.
  • 我们不建议交替使用 Web Studio 和 Citrix Studio 来部署和交付应用程序包。两者使用不同的机制,这可能导致差异,例如 App-V 服务器信息在一个控制台中正确显示,而在另一个控制台中则不正确。

有多种打包技术可用于向用户交付应用程序,包括 App-V、MSIX、MSIX app attach 和 FlexApp。本文将引导您了解如何在 Citrix Virtual Apps and Desktops 环境中部署和交付这些打包的应用程序:

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

本节将详细介绍以下信息:

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

概述

本节介绍交付和管理 App-V 包的管理方法。有关交付 App-V 打包应用程序时所涉及的组件和概念的更多信息,请参阅 Microsoft 文档:https://docs.microsoft.com/zh-cn/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 软件包以及 动态配置文件 的生命周期。
    • Citrix 个性化组件安装在 VDA 计算机上。管理应用程序启动所需的相应 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 Personalization 组件。有关详细信息,请参阅 在 VDA 计算机上安装 Citrix Personalization 组件

要向用户交付 App-V 打包应用程序,请按照以下步骤操作:

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

要让 Citrix Virtual Apps and Desktops 以单一管理员方式识别并应用 App-V 动态配置文件,请参阅这篇Citrix 博客

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

本节将详细介绍以下信息:

  • 概述。描述了 MSIX 和 MSIX app attach 包的交付和管理方式。
  • 过程。提供了部署和交付这些包的过程。

概述

思杰虚拟应用和桌面通过安装在 VDA 计算机上的思杰个性化组件向用户交付 MSIX 和 MSIX app attach 应用程序。此组件管理主机上包生命周期的所有方面。

有关 MSIX 和 MSIX app attach 的更多信息,请分别参阅微软文档:https://docs.microsoft.com/zh-cn/windows/msix/https://docs.microsoft.com/zh-cn/azure/virtual-desktop/what-is-app-attach

操作步骤

为了支持MSIX和MSIX应用附加包的交付,您必须:

要向用户交付MSIX和MSIX应用附加打包应用程序,请按照以下步骤操作:

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

部署和交付FlexApp应用程序

本节将详细介绍以下信息:

  • 概述。描述了Citrix DaaS™如何交付和管理FlexApp包。
  • 过程。提供了部署和交付这些包的过程。

概述

Citrix DaaS通过安装在VDA机器上的Citrix Personalization组件和FlexApp交付代理向用户交付FlexApp应用程序。这两个组件管理主机上包生命周期的所有方面。

操作步骤

为了支持FlexApp应用程序的交付,您必须在VDA机器上安装以下组件:

按照以下步骤向用户交付 FlexApp 打包应用程序:

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

Install the FlexApp One Agent

  1. 在 VDA 上启动管理员命令提示符。
  2. 找到任何 FlexApp One 包的网络路径。
  3. 输入以下命令:\\path\to\any\FlexAppOnePackage.exe --install
  4. 接受出现的任何提示。

Install the Citrix Personalization component on VDA machines

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

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

  • 在安装向导中,转到“附加组件”页面,然后选择“适用于 App-V 的 Citrix Personalization - VDA”复选框。
  • 在命令行界面中,使用 /includeadditional “思杰 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/zh-cn/windows/application-management/app-v/appv-enable-the-app-v-desktop-client

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

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

详细的步骤如下所示:

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

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

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

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

    • 对于 MSIX 或 MSIX app attach:将软件包存储在 UNC 或 SMB 网络共享或 Azure 文件共享上。

    • 对于 FlexApp:将软件包存储在 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. 启动 服务,右键单击 ctxAppVService,然后选择 属性

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

  3. 单击 确定

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

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

准备工作

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

  • VDA 版本:
    • 发现 App-V 软件包:2203 或更高版本
    • 要发现 MSIX 和 MSIX 应用附加软件包:2209 或更高版本
    • 发现 FlexApp 软件包:2311 或更高版本
  • 适用于 App-V 的 Citrix 个性化组件:已安装
  • 软件包位置的权限:读取(有关详细信息,请参阅 (#store-application-packages-on-network-shares) [步骤 2:将应用程序软件包存储在网络共享上]。)
  • 电源:开
  • 状态:已注册

批量上传应用程序软件包

将网络位置中的软件包上传到您的环境。请确保在上传之前准备好以下各项:

  • 满足 (#preparations) [准备] 要求的交付组
  • 网络位置的路径

要批量上传软件包,请按照以下步骤操作:

  1. 在左侧窗格中,选择 App Packages
  2. 来源 选项卡上,单击 添加来源 按钮。此时将显示 添加来源 页面。
  3. 名称字段中,输入包源的描述性名称。
  4. 交付组字段中,单击选择交付组。接下来,选择一个符合准备工作中规定的要求的交付组,然后单击确定
  5. 位置类型字段中,根据存储包的位置,选择Microsoft App-V 服务器网络共享,然后完成相应的设置:
    • 如果选择Microsoft App-V 服务器,请输入以下信息:
      • 管理服务器的 URL。示例:http://appv-server.example.com
      • 登录管理服务器管理员所需的凭据。
      • 发布服务器的 URL 和端口号。示例:http://appv-server.example.com:3330
    • 如果选择网络共享,请指定以下信息:
      • 输入网络共享的 UNC 路径。示例:\\Package-Server\apps\
      • 选择要上传的包类型。选项包括 App-V、MSIX、MSIX 应用附加 和 FlexApp。
      • 指定是否在子文件夹中搜索包。
  6. 单击添加源

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

    注意:

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

一个接一个地上传应用程序包

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

  • 满足 (#preparations) 中所述要求的交付组
  • 网络位置路径。

要将包上传到您的环境,请按照以下步骤操作:

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

    应用程序包将显示在 选项卡上。

将应用程序添加到交付组

应用程序包完全上传到您的环境后,根据需要将其应用程序添加到一个或多个交付组。这样,与这些交付组关联的用户就可以访问这些应用程序。

注意:

  • 您可以通过交付组将打包应用程序交付到单会话 VDA 和多会话 VDA。
  • 默认情况下,最终用户可以访问分配给与其单会话(或称为桌面)VDA 关联的交付组的所有打包应用程序。要限制特定用户或组在桌面 VDA 上对打包应用程序的可见性,请转到应用程序节点,选择应用程序,然后选择编辑应用程序属性 > 限制可见性进行更改。

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

  1. 在左侧窗格中,选择应用程序包
  2. 选项卡上,根据需要选择一个包。
  3. 在操作栏中,单击添加交付组。此时将显示“将应用程序分配给交付组”页面。
  4. 根据需要选择包中的一个或多个应用程序,然后单击下一步
  5. 在交付组列表中,选择要分配应用程序的组,然后单击下一步

    注意:

    • 如果您选择了 MSIX 或 MSIX app attach 包,列表中仅显示功能级别为 2106 或更高版本的交付组。
    • 如果您选择了 FlexApp 包,列表中仅显示功能级别为 2206 或更高版本的交付组。
  6. 单击完成

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

  1. 在左侧窗格中,选择应用程序包
  2. 在“应用程序”选项卡上,选择“添加应用程序”。
  3. 在“”页面上,根据需要选择一个或多个交付组。
  4. 在“应用程序”页面上,按照以下步骤选择一个或多个应用程序包:
    1. 单击“添加”,然后选择“应用程序包”。
    2. 选择所需的包源类型(例如,App-V 单一管理员)。将显示此类型的所有包。
    3. 根据需要选择一个或多个包。
    4. 单击“确定”,然后单击“下一步”。
    5. 要添加不同包类型的更多应用程序,请重复步骤 a 到 d。
  5. 单击“完成”。

您还可以在以下情况下将打包的应用程序添加到交付组:

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

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

注意:

App-V 单管理员方法支持隔离组。如果您使用的是 App-V 双管理员方法,则可以通过在 Microsoft App-V 基础结构中创建连接组来实现相同的目标。有关详细信息,请参阅此 Microsoft 文档文章:https://docs.microsoft.com/zh-cn/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. 发布打包的代理应用程序
  3. 限制应用程序在 Web Studio 上的可见性

将应用程序包导入 Web Studio

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

在代理应用程序上发布打包的应用程序

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

在 交付控制器™ 上,运行以下 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. To publish the packages and create the appropriate 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 上打包应用程序的可见性。要管理打包应用程序的可见性,请参阅 更改应用程序属性