应用程序包
应用程序包是 Citrix® 管理的预配置应用程序部署。它们允许应用程序虚拟化,这意味着应用程序独立于用户设备的操作系统和界面运行。
应用程序包简化了应用程序管理,降低了 IT 开销,并确保应用程序在其整个生命周期中安全且功能正常。
Citrix 支持以下打包技术,用于向用户交付应用程序:
本文将引导您了解如何在 Citrix Virtual Apps and Desktops™ 环境中部署和交付这些打包的应用程序。
注意:
- 从版本 2511 开始,思杰 Web Studio(基于 Web)是 思杰虚拟应用和桌面™ 的唯一管理控制台。思杰 Studio(基于 MMC)已从安装程序中移除。本文仅适用于 Web Studio。有关 思杰 Studio 的信息,请参阅 思杰虚拟应用和桌面 7 2212 或更早版本中的等效文章。
- 我们不建议交替使用 Web Studio 和 Citrix Studio 来部署和交付应用程序包。它们各自使用不同的机制,这可能导致差异,例如 App-V 服务器信息在一个中显示正确而在另一个中不正确。此外,请注意 Citrix Studio 仅支持 App-V。
App-V 应用程序
应用程序虚拟化 (App-V) 是一种 Microsoft 技术,允许应用程序进行流式传输和访问,而无需在最终用户的设备上安装。Citrix Virtual Apps and Desktops 可以使用 App-V 交付应用程序,提供了一种集中且高效的方式来管理各种客户端计算机上的应用程序。
有关交付 App-V 打包应用程序时所涉及的组件和概念的更多信息,请参阅 Microsoft 文档:适用于 Windows 客户端的应用程序虚拟化 (App-V) 概述。
重要术语
- 管理服务器:提供一个集中式控制台来管理 App-V 基础结构,并将虚拟应用程序交付给 App-V 桌面客户端和远程桌面服务客户端。App-V 管理服务器负责管理员所需的安全、计量、监视和数据收集的身份验证、请求和提供。该服务器使用 Active Directory 和支持工具来管理用户和应用程序。
- 发布服务器:为 App-V 客户端提供特定用户的应用程序,并托管用于流式传输的虚拟应用程序包。它从管理服务器获取软件包。
- 动态配置文件:App-V 软件包可以使用动态配置文件进行自定义,这些文件应用于软件包后,可用于更改其特性。例如,您可以使用它们来定义额外的应用程序快捷方式和行为。有关详细信息,请参阅 动态配置文件
动态配置的文件
Citrix App-V 支持两种类型的动态配置文件。文件设置在应用程序启动时应用:
-
部署配置文件为所有用户提供计算机范围的配置。这些文件应命名为
<packageFileName>_DeploymentConfig.xml,并与它们所应用的 App-V 软件包位于同一文件夹中。这些文件受单管理员和双管理员管理的支持。 -
用户配置文件提供用户特定的配置,支持对软件包进行按用户自定义。单管理员支持以下列格式命名的用户配置文件:
<packageFileName>_[UserSID | Username | GroupSID |GroupName_]UserConfig.xml,并位于它们所应用的 App-V 软件包的同一文件夹中。当特定软件包存在多个用户配置文件时,它们按以下优先级应用:
- 用户 SID
- 用户名
- AD 组 SID(首先找到的获胜)
- AD 组名称(首先找到的获胜)
- 默认
例如:
MyAppVPackage_S-1-5-21-000000001-0000000001-000000001-001_UserConfig.xml MyAppVPackage_joeblogs_UserConfig.xml MyAppVPackage_S-1-5-32-547_UserConfig.xml MyAppVPackage_Power Users_UserConfig.xml MyAppVPackage_UserConfig.xml <!--NeedCopy-->注意:
文件名的用户特定部分也可以选择性地出现在末尾(例如
MyAppVPackage_UserConfig_joeblogs.xml)。
重要提示:
当存在打开了包中应用程序的用户会话时,您无法对动态部署配置应用更改。如果其他用户(但不是当前用户)打开了包中的应用程序,则可以对动态用户配置文件应用更改。
动态配置文件的位置
在单一管理员管理中,Citrix App-V 组件仅处理动态配置文件,这些文件与其 App-V 包位于同一文件夹中。
当启动包中的应用程序时,对相应动态配置文件的任何更改都将重新应用。如果您的动态配置文件与其包位于不同的位置,请使用映射文件将包映射到其部署配置文件。
要创建映射文件:
- 打开一个新文本文件。
-
对于每个动态配置文件,添加一行,使用
<PackageGuid> : path格式指定包的路径。例如:
F1f4fd78ef044176aad9082073a0c780 : c:\widows\file\packagedeploy.xml <!--NeedCopy--> - 将文件保存为
ctxAppVDynamicConfigurations.cfg,并将其放置在与包相同的文件夹中。
每次启动包中的应用程序时,都会在与 App-V 包相同的 UNC 共享上递归向上搜索整个目录层次结构以查找此文件。
方法
您可以使用以下方法交付和管理 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 和 Citrix 部署。在此方法中:
- App-V 管理服务器处理 (#dynamic-configuration-files)
- App 程序包交付组件安装在 VDA 计算机上:管理应用程序启动所需的相应发布服务器的注册。
这项功能确保发布服务器能够在适当的时间点与用户进行同步。发布服务器会根据其预先配置的设置,负责维护应用程序包生命周期的其他方面,例如登录时刷新和连接组等功能。
-
单一管理:应用程序包存储在网络共享上。Citrix Virtual Apps and Desktops 独立交付和管理程序包。
此方法减少了开销,因为部署中不需要 App-V 服务器和数据库基础架构。
在此方法中,您将 App-V 程序包存储在网络共享上,然后将它们的元数据从该位置上传到您的环境。安装在 VDA 计算机上的 App 程序包交付组件随后按如下方式管理和交付应用程序:
- 当应用程序启动时,系统将对部署配置文件和用户配置文件进行处理。
- 管理主机上程序包生命周期的所有方面。
注意:
- 您可以同时使用一种或两种管理方法。换句话说,当您将应用程序添加到交付组时,这些应用程序可以来自位于 App-V 服务器或网络共享上的 App-V 程序包。
- 如果您同时使用两种管理方法,并且 App-V 程序包在两个位置都有动态配置文件,则使用 App-V 服务器中的文件(双重管理)。
- 当您在 Web Studio 导航窗格中选择“App 程序包”时,显示屏会显示程序包名称和类型。程序包类型列指示用于交付程序包的技术以及它们在应用程序库中的引用位置。当您选择一个程序包时,详细信息窗格会列出该程序包中的应用程序和快捷方式。
MSIX 和 MSIX 应用附加应用程序
MSIX 是一种 Windows 应用包格式,可为所有 Windows 应用提供现代化的打包体验。MSIX 适用于各种 Windows 应用程序类型,包括 Win32、.NET 和 UWP 应用。
MSIX app attach 利用预先扩展到虚拟硬盘上的 MSIX 包,这些包可以根据需要挂载到目标计算机,而不是流式传输包内容。这可以缩短部署时间,减少网络流量,并降低目标计算机上的 IOPS,但需要额外的工作来创建和维护 app attach 磁盘。
Citrix Virtual Apps and Desktops 通过安装在 VDA 计算机上的 应用程序包交付组件 向用户交付 MSIX 和 MSIX app attach 应用程序。此组件管理主机上包生命周期的所有方面。
有关 MSIX 和 MSIX app attach 的更多信息,请参阅 Microsoft 文档:MSIX 文档 和 Azure 虚拟桌面中的应用附加。
注意:
- 我们仅在桌面 VDA 和服务器 VDA 上支持原生 MSIX 包,并且仅在桌面 VDA 上支持
.vhd、.vhdx和.cim磁盘映像格式的 MSIX app attach。- 微软不为 Server 2019 提供 AppAttach 实施方案。尽管 AppAttach 在 Server 2022 和 2025 中存在,但微软不支持在这些版本上使用它。因此,我们也不支持在 Server 2022 和 2025 上使用 AppAttach。
- 在 Windows Server 2019 上启用旁加载功能。
- 确保 VDA 信任用于签署包的证书。
灵活应用应用程序
FlexApp 是 Liquidware 开发的一种应用程序分层解决方案,它可以在不通过传统应用程序安装过程修改底层基础映像的情况下,将任何应用程序附加到 Windows 会话。
FlexApp One 应用程序封装在一个可共享的单一文件中,使其无需在 Windows 会话上额外添加应用程序层即可运行。用户可以通过单击容器文件启动应用程序,这可以快速将一个或多个应用程序集成到他们的 Windows 工作区中。
Citrix 通过安装在 VDA 计算机上的 App Packages Delivery Component(应用程序包交付组件)和 FlexApp 交付代理向用户交付 FlexApp 应用程序。这两个组件管理主机上包生命周期的所有方面。
弹性应用应用程序
弹性应用技术是 Citrix App Layering 的一项功能,它允许您在登录时动态地将应用程序层分配给用户,而不是将其安装到基础映像中。借助弹性应用技术,应用程序会跟随用户在不同的虚拟机之间移动,确保他们始终可以访问所需的应用程序,而不会使主映像膨胀。
Citrix Virtual Apps and Desktops 通过 Citrix 个性化组件和 应用分层企业层管理器 (ELM) 向用户交付弹性应用程序。这两个组件管理主机上软件包生命周期的所有方面。有关 应用分层企业层管理器 的更多信息,请参阅Citrix 应用分层™ 文档。
云分页应用程序
Cloudpaging 是 Numecent 的应用程序流技术,它将应用程序交付到 Windows 会话,而无需更改基础映像。
借助 Cloudpaging,应用程序几乎可以即时启动,因为最初只流式传输一小部分代码(通常不到 10%)。当用户访问其余组件时,它们会在后台流式传输,从而提供无缝体验。
对于 Citrix 环境,VDA 上的应用程序包交付组件与 Numecent Cloudpaging Player 协同工作,以管理应用程序生命周期。Citrix 组件协调交付,而 Cloudpaging Player 处理会话中的按需流式传输和执行。
配置方面的要求
请考虑以下配置详细信息:
Cloudpaging 播放器和注销检查系统模块
将虚拟发布的应用程序与 Cloudpaging 容器结合使用时,请配置以下设置以允许会话注销:
| 设置 | 值 |
|---|---|
| 注册表项 | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI |
| 值名称 | LogoffCheckSysModules |
| 值类型 | REG_SZ |
| 值数据 | CoreHelper.exe |
用于列入白名单的 URL
除了标准 URL 白名单要求之外,VDA 还需要访问以下端点:
| 参数 | 值 |
|---|---|
| 网址 | external-api.cloudpager.net |
| 端口 | 443 |
| 客户端 | Cloudpager PoSh Module |
| 基于 Web 的正向代理配置
|
|
| 描述 | Cloudpager PowerShell Module |
或者,您可以创建一个专用交付组,其中包含一个仅用于执行 Cloudpager 发现的 VDA,以限制所需的白名单 URL。我们建议创建一个交付组,其中包含安装了 VDA 2511 或更高版本和 App packages Delivery Component 的计算机。
有关 Cloudpager 客户端网络和防火墙要求的更多信息,请参阅 Numecent 知识库文章。
部署和交付应用程序包
先决条件
为了支持交付 App-V、MSIX、MSIX app attach、FlexApp 包、Elastic App 应用程序和 Cloudpaging 包,您必须首先在 VDA 计算机上安装 应用程序包交付组件。有关详细信息,请参阅 在 VDA 计算机上安装应用程序包交付组件。
在 VDA 计算机上安装应用程序包交付组件
应用程序包交付组件 管理 App-V、MSIX、MSIX app attach、FlexApp、Elastic App 和 Cloudpaging 格式的应用程序包的发布过程。安装 VDA 时,默认不安装此组件。您可以在 VDA 安装期间或之后安装该组件。
在 VDA 安装期间安装此组件,请使用以下任一方法:
- 在安装向导中,转到附加组件页面,然后选中应用程序包交付组件复选框。
- 在命令行界面中,使用
/includeadditional "Citrix Personalization for App-V – VDA"选项。
在 VDA 安装后安装此组件,请执行以下步骤:
- 在 VDA 计算机上,转到控制面板 > 程序 > 程序和功能,右键单击 Citrix Virtual Delivery Agent,然后选择更改。
- 在出现的向导中,继续到附加组件页面,然后启用应用程序包交付组件复选框。
注意:
- Microsoft App-V Desktop Client 是在用户设备上运行 App-V 包中的虚拟应用程序的组件。Windows 10(1607 或更高版本)以及 Windows Server 2019 及更高版本已包含此 App-V 客户端软件。您只需在 VDA 计算机上启用它。有关详细信息,请参阅此 Microsoft 文档文章:启用 App-V 内置客户端。
- 对于 FlexApp 应用程序,请在 VDA 上安装 FlexApp One 代理 以及应用程序包交付组件。
- 对于 Elastic App 应用程序,请在 VDA 上安装 启用 App Layering 的映像 以及应用程序包交付组件。
- 对于 Cloudpaging 应用程序,请在 VDA 上安装 Cloudpaging Player 以及应用程序包交付组件。
Install the FlexApp One Agent
- 在 VDA 上启动管理员命令提示符。
-
找到任何 FlexApp One 包的网络路径。
-
输入以下命令:
\\path\to\any\FlexAppOnePackage.exe --install <!--NeedCopy--> - 接受出现的任何提示。
安装启用应用程序分层功能的映像
-
设置应用程序分层。 请遵循 Citrix 应用程序分层文档中的说明。该过程包括:
- 设置企业层管理器 (ELM)。
- 导入黄金 OS 映像。
- 创建平台层。
- 创建应用程序层。
- 在 ELM 中,针对要交付的每个应用程序层,选中启用此应用程序层以用于 Studio 应用程序包复选框。
-
在 VDA 计算机上安装包含弹性分层组件的映像。您可以使用以下方法之一:
- 从 ELM 部署映像并启用弹性分层。
- 在计算机上手动安装 VDA 并在设置过程中选择弹性分层组件。
安装云分页播放器
-
在 VDA 上打开管理员命令提示符。
-
转到包含 Cloudpaging Player 安装程序的文件夹。
-
运行以下命令以静默安装播放器并配置 SaaS 控制台 URL。根据需要替换占位符值:
cloudpaging-player-setup-x64-release.exe /S /v"/qn ADDLOCAL=ALL REG_BASTOKENPATHORURL=https://your-tenant-url/api/token" <!--NeedCopy--> -
(可选) 通过检查以下注册表值来验证安装后的配置:
-
路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Numecent\StreamingCore\Settings\Launcher -
名称:
BaseTokenPathOrURL - 数据: 该值必须与您在安装期间指定的 URL 匹配。
-
路径:
交付打包的应用程序
完成安装必备项后,执行以下操作以向用户交付打包的应用程序:
- 将应用程序包存储在网络共享上。
- 将应用程序包上传到您的环境。
- 将应用程序添加到交付组。
- 要启用相互依赖的 App-V 包的自动交付,请创建隔离组。
将应用程序包存储在网络共享上
设置基础结构后,生成应用程序包并将其存储在网络位置,例如 UNC 或 SMB 网络共享,或 Azure 文件共享上。
详细的步骤如下:
-
生成应用程序包。有关详细信息,请参阅 Microsoft 文档:创建和管理 App-V 虚拟化应用程序。
-
将应用程序包存储在网络位置:
-
对于 App-V 单一管理员:将软件包和相应的动态配置文件 (App-V) 存储在 UNC 或 SMB 网络共享或 Azure 文件共享上。
-
对于 App-V 双重管理员:从 UNC 路径将软件包发布到 App-V 管理服务器。(不支持从 HTTP URL 发布。)
-
对于 MSIX 或 MSIX app attach:将软件包存储在 UNC 或 SMB 网络共享或 Azure 文件共享上。
-
对于 FlexApp:将软件包存储在 UNC 或 SMB 网络共享或 Azure 文件共享上。
-
对于 Elastic App:将软件包存储在 UNC 或 SMB 网络共享或 Azure 文件共享上。
-
对于 Cloudpaging:将软件包存储在 UNC 或 SMB 网络共享或 Azure 文件共享上。
-
-
确保 VDA 对软件包存储路径具有读取权限:
-
如果您将软件包存储在 AD 域中的 UNC 或 SMB 网络共享上,请授予 VDA 计算机对存储路径的读取权限。为此,您可以明确授予计算机的 AD 帐户对共享的读取权限,或者将该帐户包含在具有该权限的 AD 组中。
-
如果您将软件包存储在 Azure 文件共享上,请首先授予用户帐户对 Azure 中存储路径的读取权限。接下来,配置在 VDA 计算机上运行的
ctxAppVService以使用该用户帐户访问软件包存储路径。有关详细步骤,请参阅更改用户登录帐户。
-
更改用户登录帐户
在以下两种情况下更改用户登录帐户:
- 要使用链接的 AD 帐户访问 Azure 文件共享上的软件包:
- 连接实体必须是用户帐户,而不是计算机帐户,因为 Microsoft Entra ID 不会授予计算机帐户对文件共享的读取权限。
- 如果名为 MSIX 和 MSIX AppAttach 的软件包包含服务:
- 软件包必须使用在本地计算机上具有管理权限的用户帐户发布,然后才能发布给任何非管理用户。这是安装打包服务所必需的,并且软件包只能发布给用户,而不能发布给计算机,这使得默认的 LocalService 帐户不适用。
VDA 调用 ctxAppVService 来访问包存储路径并执行需要管理权限的操作。默认情况下,ctxAppVService 在机器的 LocalService 帐户的上下文中运行,该帐户使用机器的身份向 AD 进行身份验证,不适用于上述场景。
在任何一种情况下,都必须重新配置服务以使用具有本地管理权限并已授予对包存储位置(无论是 SMB 共享还是 Azure 文件共享)的读取访问权限的 AD 用户帐户,具体如下:
- 启动 服务,右键单击 ctxAppVService,然后选择 属性。
- 在 登录 选项卡上,选择 此帐户:
- 输入一个具有本地管理权限和对包存储路径的读取权限的用户帐户
- 两次输入用户密码。
- 单击 确定。
将应用程序包上传到您的环境
根据需要将应用程序包存储到网络位置后,将其上传到您的环境以进行交付。根据需要使用以下任一方法:
准备工作
Citrix Virtual Apps and Desktops 使用 VDA 计算机设置与网络位置的连接以进行包发现。因此,请事先创建交付组,并确保组中至少有一个 VDA 满足以下要求:
- VDA 版本:
- 要发现 App-V 包:2203 或更高版本
- 要发现 MSIX 和 MSIX app attach 软件包:2209 或更高版本
- 要发现 FlexApp 软件包:2311 或更高版本以及 FlexApp Agent 软件
- 要发现 ElasticApp 软件包:2511 或更高版本以及启用 App Layering 的映像
- 要从 Cloudpager 控制台发现 Cloudpaging 软件包:2511 或更高版本
- 要从网络共享发现 Cloudpaging 软件包:2603 或更高版本
- 应用程序包交付组件:已安装
- 软件包位置的权限:读取(有关详细信息,请参阅 在网络共享上存储应用程序包。)
- 电源:开
- 状态:已注册
批量上传应用程序包
将网络位置中的软件包上传到您的环境。请确保在上传前准备好以下各项:
- 满足 准备工作 要求的交付组
- 网络位置的路径
要批量上传软件包,请按照以下步骤操作:
- 在左侧窗格中,选择 应用程序包。
- 在“包发现”选项卡上,单击“创建发现配置文件”按钮。“创建发现配置文件”页面出现。
- 在“名称”字段中,输入配置文件的描述性名称。
- 在“交付组”字段中,单击“选择交付组”。接下来,选择一个符合准备工作中规定的要求的交付组,然后单击“确定”。
- 在“位置类型”字段中,根据您存储软件包的位置选择“Microsoft App-V 服务器”、“网络共享”或“Numecent Cloudpager”,然后完成相应的设置:
- 如果您选择了“Microsoft App-V 服务器”,请输入以下信息:
- 管理服务器的 URL。示例:
http://appv-server.example.com - 管理服务器管理员的身份验证凭据。
- 发布服务器的 URL 和端口号。示例:
http://appv-server.example.com:3330
- 管理服务器的 URL。示例:
- 如果您选择了“网络共享”,请指定以下信息:
- 输入网络共享的 UNC 路径(示例:
\\Package-Server\apps\)。对于 Elastic App 软件包,请输入 ELM 中“系统网络文件共享 SMB 路径”的 UNC 路径。 - 选择要上传的软件包类型。选项包括 App-V、MSIX、MSIX 应用附加、FlexApp、弹性应用 和 Cloudpaging。
-
指定是否在子文件夹中搜索软件包。
注意:
如果您在包含
cim映像的文件夹结构中搜索 MSIX app attach 软件包,请确保选择“搜索”子文件夹。否则,磁盘将无法正确发现。
- 输入网络共享的 UNC 路径(示例:
-
如果您选择了 Numecent Cloudpager(这意味着 Cloudpaging 应用程序存储在 Cloud Pager 控制台 上),请输入以下信息:
-
Cloudpager 控制台的统一资源定位符。例如:
https://cloudpagerconsole.my.org -
PowerShell 应用程序编程接口密钥。
-
应用程序启动器 MSID。
-
- 如果您选择了“Microsoft App-V 服务器”,请输入以下信息:
-
单击“创建发现配置文件”。
“创建发现配置文件”页面关闭,新添加的配置文件显示在配置文件列表中。Citrix Virtual Apps and Desktops 使用交付组中的 VDA 将软件包上传到您的环境。上传完成后,“状态”字段显示“导入成功”。相应的软件包显示在“软件包”选项卡上。
注意:
要检查源位置中的软件包更新并将其导入到您的环境,请在配置文件列表中选择该位置,然后单击“检查更新”。
逐个上传应用程序软件包
将应用程序软件包从网络共享上传到您的环境。上传之前,请确保已准备好以下各项:
- 满足 Preparations 中所述要求的交付组
- 网络位置路径。
要将软件包上传到您的环境,请按照以下步骤操作:
- 在左侧窗格中,选择“应用程序软件包”。
- 在“软件包”选项卡上,单击“添加软件包”按钮。“添加软件包”页面随即显示。
- 在“交付组”字段中,单击“选择交付组”。接下来,选择一个满足 Preparations 中所述要求的交付组,然后单击“确定”。
- 在“包完整路径”字段中,根据需要输入路径:
- 要一次上传多个包,请输入它们的完整路径,用分号分隔 (
;)。示例:\\Package-Server\apps\office365.appv;\\Package-Server\apps\skype.msix;\\Package-Server\apps\slack.vhd - 要上传网络共享上存在的所有包,请输入存储路径。示例:\package-Server\apps\
- 要一次上传多个包,请输入它们的完整路径,用分号分隔 (
-
单击“添加包”。
应用程序包将显示在“包”选项卡上。
将应用程序添加到交付组
应用程序包完全上传到您的环境后,根据需要将其应用程序添加到一个或多个交付组。这样,与这些交付组关联的用户就可以访问这些应用程序。
注意:
- 您可以通过交付组将打包的应用程序交付到单会话 VDA 和多会话 VDA。
- 默认情况下,最终用户可以访问分配给与其单会话(或称为桌面)VDA 关联的交付组的所有打包应用程序。要限制打包应用程序在桌面 VDA 上对特定用户或组的可见性,请转到“应用程序”节点,选择应用程序,然后选择“编辑应用程序属性 > 限制可见性”进行更改。请参阅限制应用程序的可见性
要将包中的一个或多个应用程序添加到多个交付组,请执行以下步骤:
- 在左侧窗格中,选择“应用程序包”。
- 在“包”选项卡上,根据需要选择一个包。
- 在操作栏中,单击“添加交付组”。“将应用程序分配给交付组”页面随即出现。
- 根据需要选择包中的一个或多个应用程序,然后单击“下一步”。
-
在交付组列表中,选择要分配应用程序的组,然后单击下一步。
注意:
- 如果您选择了 MSIX 或 MSIX app attach 软件包,则列表中仅显示 VDA 版本为 2106 或更高版本的交付组。
- 如果您选择了 FlexApp 软件包,则列表中仅显示 VDA 版本为 2402 或更高版本的交付组。
- 如果您选择了 Elastic App 软件包,则列表中仅显示 VDA 版本为 2511 或更高版本的交付组。
- 如果您选择了 Cloudpaging 软件包,则列表中仅显示 VDA 版本为 2511 或更高版本的交付组。
- 单击完成。
要将各种软件包中的应用程序添加到多个交付组,请执行以下步骤:
- 在左侧窗格中,选择应用程序包。
- 在应用程序选项卡上,选择添加应用程序。
- 在组页面上,根据需要选择一个或多个交付组。
- 在应用程序页面上,按如下方式选择一个或多个应用程序包:
- 单击添加,然后选择应用程序包。
- 选择所需的软件包配置文件类型(例如,App-V Single Admin)。此类型的所有软件包都将显示。
- 根据需要选择一个或多个软件包。
- 点击“确定”,然后点击“下一步”。
- 要添加不同包类型的更多应用程序,请重复步骤 a 到 d。
- 点击“完成”。
您还可以在以下情况下将打包应用程序添加到交付组:
(可选)为 App-V 包创建隔离组
您可以创建隔离组,以实现相互依赖的 App-V 包的自动交付。
注意:
App-V 单管理员方法支持隔离组。如果您使用的是 App-V 双管理员方法,则可以通过在 Microsoft App-V 基础结构中创建连接组来实现相同的目标。有关详细信息,请参阅此 Microsoft 文档文章:关于连接组文件。
关于隔离组的介绍
隔离组是相互依赖的应用程序包的集合,这些包必须在同一个 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 会随之自动部署。
当用户在隔离组中启动标记为 Explicit 的 App-V 应用程序时,Citrix Virtual Apps and Desktops 会检查用户在交付组中对该应用程序的访问权限。如果用户有权访问该应用程序,则同一隔离组中的任何 Automatic 应用程序包都将可供用户使用。
您无需将 Automatic 包添加到任何交付组。如果隔离组中存在另一个 Explicit 应用程序包,则只有当该包位于同一交付组中时,用户才能使用它。
创建 App-V 隔离组
创建隔离组并将相互依赖的应用程序包添加到其中。详细步骤如下:
- 在“隔离组”选项卡上,单击“添加隔离组”。
- 输入隔离组的名称和描述。环境中的所有 App-V 单管理员包都将显示在“可用包”列表中。
- 从“可用包”列表中,根据需要选择一个应用程序,然后单击向右箭头。所选应用程序将显示在“隔离组中的包”列表中。
- 在“部署”字段中,为应用程序选择“显式”或“自动”。
- 重复步骤 2–3 以添加更多包。
- 要调整列表中包的顺序,请单击向上或向下箭头。
- 单击“保存”。
注意:
隔离组配置会导致在 VDA 上创建 App-V 连接组。部署方案可能变得复杂,并且 App-V 客户端一次仅支持一个活动连接组中的包。我们建议您避免将同一个包添加到已添加到同一交付组的两个不同隔离组中。
最佳实践
- 要部署 App-V 包,请使用 PowerShell 命令
Enable-AppV在 VDA 上启用 App-V 子系统。 - 要部署 MSIX(和 AppAttach)包,VDA 必须信任用于签署这些包的证书。
- On Windows Server 2019, enable sideloading to deploy MSIX packages. Sideloading is not needed for Windows 10, 11, Windows Server 2022, and 2025.
- App Attach has no implementation at all on Windows Server 2019 and is not currently supported by Microsoft (or Citrix by extension) on Windows Server 2022 or 2025.
高级
以下高级主题提供了额外的配置选项和控制,用于在 Citrix Virtual Apps and Desktops 中微调打包应用程序的发现、更新和交付方式,超越了基本的应用程序包工作流。
自动化打包应用程序发布
您可以使用 PowerShell 命令自动化打包应用程序发布:
On the Delivery Controller™, run the following PowerShell commands:
-
为了加载包发现模块中包含的命令:
Import-Module "D:\Support\Tools\Scripts\Citrix.Cloud.AppLibrary.Admin.v1.psm1" <!--NeedCopy-->注意:
包发现模块的版本可在 Citrix Virtual Apps and Desktops ISO 上找到,路径如步骤 1 中所述。
- 包发现模块必须来自支持您正在发布的包类型的 Citrix Virtual Apps and Desktops 版本的 ISO,即 FlexAppOne 应用程序需要 2311 或更高版本。我们建议使用最新可用版本。
-
要检索相关的交付组 ID 和打包应用程序 ID:
Get-BrokerDesktopGroup | Format-Table Uid, Name Get-AppLibAppVApplication | Format-Table Uid, Name <!--NeedCopy--> -
为了发布这些软件包并创建相应的代理机器配置:
Publish-PackagedApplication -AppLibararyApplicationUid <AppLibararyApplication.Uid > -DesktopGroupUid <DesktopGroup.Uid> <!--NeedCopy--> -
要同步 Broker 配置,这些配置稍后将发送到 VDA 上的 Broker 代理:
Update-DesktopGroupMachineConfigurations -DesktopGroupUid <DesktopGroup.Uid> <!--NeedCopy-->注意:
确保在通过 PowerShell 命令行发布或从交付组中删除打包应用程序后运行 PowerShell 命令
Update-DesktopGroupMachineConfigurations。否则,有关已发布应用程序的信息将无法正确发送到 VDA,并且启动将失败。
限制应用程序的可见性
在 Citrix Virtual Apps and Desktops 环境中,当包中的应用程序发布到桌面时,系统会遵循这些应用程序的 Active Directory (AD) 用户和组可见性设置。但是,即使用户只能看到包中的一个应用程序,也必须将整个包部署到虚拟桌面(或无缝应用程序)会话,因为单个包组件无法在 VDA 上细分。此外,在 VDA 2503 版本之前,在初始发布后降低应用程序可见性的更改不会导致在后续桌面启动时清除以前发布的已发布包。此外,其他可见性层(例如桌面与工作区可见性)在这些 AD 可见性分配之上运行。
您可以控制打包应用程序是必须显示在 Workspace 中,还是部署到用户的 VDI 桌面会话。打包应用程序发布后,您可以使用 PowerShell 命令 Set-BrokerApplication -Name "MyApp" -PackagedApplicationVisibility "Workspace|Desktop|WorkspaceAndDesktop" 更新 BrokerApplictaion 上的 PackagedApplicationVisibility 属性。
PackagedApplicationVisibility 的默认值为 WorkspaceAndDesktop。
值 Workspace:应用程序仅显示在 WorkspaceApp 中,可用于无缝 AppLaunch,但该应用程序不会自动发布到用户启动的任何桌面会话。
值 Desktop:从 WorkspaceApp 隐藏应用程序图标,使其无法用于无缝 AppLaunch,但如果用户通过其 AD 组设置也具有访问权限,则该应用程序仍可部署到用户的桌面会话。
注意:
发布到单会话静态桌面的打包应用程序在 Workspace App 中永远不可用,无论此设置中配置的值如何。
从 App-V 完整基础架构迁移到单一管理员工作流
Microsoft App-V 完整基础架构(双管理员)即将终止支持。要继续交付 App-V 包和其他受支持的容器格式,请迁移到 Citrix 单一管理员模型。
单一管理员模型消除了对 App-V 管理和发布服务器的依赖,并将包管理集中到 Studio 中。
单一管理员模型的优势
迁移到单一管理员工作流可简化您的架构并优化包管理。
更简单的架构
在单一管理员模型中,VDA 直接从文件共享检索软件包。Citrix 管理元数据、发布和隔离逻辑。
| 功能 | 完整基础架构(双管理员) | 单一管理员(Citrix 管理) |
|---|---|---|
| 管理 | App-V 管理控制台 | 思杰工作室 或 网络工作室 |
| 数据库 | 必需 (SQL 服务器) | 无(元数据存储在 Citrix 站点数据库中) |
| 发布 | App-V 发布服务器 | 思杰虚拟投递代理 (ctxAppVService) |
| 软件包源 | UNC 共享(同步到管理服务器) | UNC 共享、SMB 共享或 Azure 文件服务 |
| 逻辑 | 连接组功能 | 思杰隔离群组 |
战略性优势
通过迁移到单一管理员模式,您还可以消除同步延迟。
-
在双管理员模式下,您必须同步 App-V 管理服务器,然后同步 Studio。
-
在单一管理员模式下,当您在文件共享上更新软件包并在 Studio 中选择刷新时,更新后的软件包将在下次用户登录时可用。
迁移工作流
请按照以下步骤将您现有的 App-V 完整基础架构迁移到 Citrix 单一管理员工作流:
步骤 1:准备目标环境
在导入软件包之前,请确保您的基础架构和 VDA 已准备好支持单一管理员模式。
-
共享存储库
-
确定托管您的
.appv软件包的 UNC 共享。 -
确保 VDA 计算机帐户(例如,域计算机)对共享和 NTFS 权限都具有读取访问权限。
-
-
VDA
确保所有 VDA 都安装了应用程序包交付组件。要在安装后添加此组件,请执行以下操作:
- 运行 VDA 安装程序。
- 在程序和功能中选择更改。
- 添加应用程序包交付组件。
-
XML 配置文件
将
_DeploymentConfig.xml和_UserConfig.xml文件移动到与相应.appv文件相同的文件夹中。在单一管理员模型中,VDA 从文件共享上的软件包文件夹而不是从中央 App-V 数据库读取配置文件。
步骤 2:将软件包导入 Citrix 库
准备好环境后,将现有 App-V 软件包导入 Citrix 应用程序库。
- 在 Citrix Studio 中,转到配置 > 应用程序包。
- 如果您正在完全迁移,请删除与 App-V 管理服务器的任何现有连接。
- 选择 添加包 并将其指向您的包的 UNC 路径。
- Citrix 扫描该文件夹,并将包名称、版本和应用程序 ID 导入到 Citrix 应用程序库中。
导入后,您可以根据需要将应用程序分配给交付组。
注意:
vPrefer 策略(可选):如果您希望应用程序在本地 VDA 上启动而不是重定向到远程服务器,请在您的 VDA 上启用 vPrefer GPO。
排查 App-V 应用程序故障(单一管理员模型)
如果 App-V 包(在单一管理员模型中)无法启动或未显示在用户会话中,请使用以下指南来识别和解决常见问题。
| 问题 | 描述 | 解决方案 |
|---|---|---|
|
包发现和“编目失败”错误
|
在 Studio 中添加包时,出现错误,指示无法访问文件或元数据无效。
|
|
|
应用程序启动失败
(错误代码:0x80070005 或 0x80040154) |
用户单击应用程序图标,出现 Citrix 启动 屏幕,但应用程序未打开。
|
|
|
隔离组冲突
|
插件(例如 Excel 加载项)无法看到其父应用程序。
|
|
|
初始启动缓慢(缓冲)
|
大型 App-V 软件包(例如 AutoCAD 或 ArcGIS)的首次启动需要几分钟时间。
|
|
有用的 PowerShell 命令(在 VDA 上运行)
要验证 Citrix 是否已成功将软件包交付到 VDA,请在 PowerShell 窗口中运行以下命令:
| 命令 | 用途 |
|---|---|
Get-AppvClientPackage |
显示当前缓存或发布到 VDA 的所有 App-V 软件包。 |
Get-CtxAppvPackage |
显示由 Citrix 代理管理的软件包。 |
Start-Service ctxAppVService |
重新启动 Citrix App-V 编排服务。 |