应用程序包
应用程序包是 Citrix® 管理的预配置应用程序部署。它们允许应用程序虚拟化,这意味着应用程序独立于用户设备的操作系统和界面运行。
应用程序包简化了应用程序管理,减少了 IT 开销,并确保应用程序在其整个生命周期中安全且功能正常。
Citrix 支持以下用于向用户交付应用程序的打包技术:
本文将引导您了解如何在 Citrix Virtual Apps and Desktops™ 环境中部署和交付这些打包的应用程序。
注意:
- Starting with version 2511, Citrix Web Studio (web-based) is the only management console for Citrix Virtual Apps and Desktops™. Citrix Studio (MMC-based) has been removed from the installer. This article applies only to 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 服务器信息在一个中显示正确而在另一个中不显示。此外,请注意 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 管理服务器处理 动态配置文件
- 应用程序包交付组件安装在 VDA 计算机上:管理应用程序启动所需的相应发布服务器的注册。
这确保了发布服务器能够在适当的时间与用户进行同步。发布服务器会利用其配置的设置,维护应用程序包生命周期的其他方面(例如登录时刷新和连接组)。
-
单一管理:应用程序包存储在网络共享上。Citrix Virtual Apps and Desktops 独立交付和管理软件包。
此方法可减少开销,因为部署中不需要 App-V 服务器和数据库基础架构。
在此方法中,您将 App-V 软件包存储在网络共享上,并将它们的元数据从该位置上传到您的环境。然后,安装在 VDA 计算机上的应用程序包交付组件按如下方式管理和交付应用程序:
- 当应用程序启动时,对部署配置文件和用户配置文件进行处理。
- 管理主机上软件包生命周期的所有方面。
注意:
- 您可以同时使用一种或两种管理方法。换句话说,当您将应用程序添加到交付组时,这些应用程序可以来自 App-V 服务器或网络共享上的 App-V 软件包。
- 如果您同时使用两种管理方法,并且 App-V 软件包在两个位置都有动态配置文件,则使用 App-V 服务器中的文件(双重管理)。
- 当您在 Web Studio 导航窗格中选择“应用程序包”时,显示屏会显示软件包名称和类型。软件包类型列指示用于交付软件包的技术以及它们在应用程序库中的引用位置。当您选择一个软件包时,详细信息窗格会列出软件包中的应用程序和快捷方式。
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 应用程序。此组件管理主机上包生命周期的所有方面。
For more information about MSIX and MSIX app attach, see the Microsoft documentation: MSIX documentation and App Attach in Azure Virtual Desktop respectively.
注意:
- 我们仅在桌面 VDA 上支持桌面和服务器 VDA 上的原生 MSIX 包,以及在
.vhd、.vhdx和.cim磁盘映像格式上的 MSIX app attach。- 微软不为 Server 2019 提供 AppAttach 实现。尽管 AppAttach 存在于 Server 2022 和 2025 中,但微软不支持在这些版本上使用它。因此,我们也不支持在 Server 2022 和 2025 上使用 AppAttach。
- 在 Windows 服务器 2019 上启用旁加载。
- 确保 VDA 信任用于对包进行签名的证书。
弗莱克斯应用应用程序
FlexApp 是由 Liquidware 开发的一种应用程序分层解决方案,它无需通过传统的应用程序安装过程修改底层基础映像,即可将任何应用程序附加到 Windows 会话。
FlexApp One 应用程序封装在一个可共享的单个文件中,使其无需在 Windows 会话上额外添加应用程序层即可运行。用户可以通过单击容器文件启动应用程序,这可以快速将一个或多个应用程序集成到他们的 Windows 工作区中。
Citrix 通过安装在 VDA 计算机上的 App Packages Delivery Component 和 FlexApp 交付代理向用户交付 FlexApp 应用程序。这两个组件管理主机上包生命周期的所有方面。
弹性应用应用程序
弹性应用程序技术是 Citrix App Layering 的一项功能,它允许您在登录时动态地将应用程序层分配给用户,而不是将其安装到基础映像中。借助弹性应用程序技术,应用程序会跟随用户在不同的虚拟机之间移动,确保他们始终可以访问所需的应用程序,而不会使主映像变得臃肿。
思杰虚拟应用和桌面通过思杰个性化组件和应用分层企业层管理器 (ELM) 向用户交付弹性应用应用程序。这两个组件管理主机上软件包生命周期的所有方面。有关应用分层企业层管理器的更多信息,请参阅思杰应用分层™ 文档。
云分页应用程序
Cloudpaging 是 Numecent 的应用程序流技术,它无需更改基础映像即可将应用程序交付到 Windows 会话。
借助 Cloudpaging,应用程序几乎可以即时启动,因为最初只流式传输一小部分代码(通常不到 10%)。当用户访问其余组件时,它们会在后台流式传输,从而提供无缝体验。
对于 Citrix 环境,VDA 上的应用程序包交付组件与 Numecent Cloudpaging Player 协同工作,以管理应用程序生命周期。Citrix 组件负责协调交付,而 Cloudpaging Player 则处理会话内的按需流式传输和执行。
关于配置的要求
请考虑以下配置详细信息:
云分页播放器 和 注销检查系统模块
将虚拟发布的应用程序与 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 Client 网络和防火墙要求的更多信息,请参阅 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--> - 接受所有出现的提示。
安装已启用 App Layering 功能的映像
-
设置应用程序分层。 请遵循 Citrix App Layering 文档中的说明。该过程包括:
- 设置企业层管理器 (ELM)。
- 导入黄金 OS 映像。
- 创建平台层。
- 创建应用程序层。
- 在 ELM 中,对于要交付的每个应用程序层,选中“启用此应用程序层以用于 Studio 应用程序包”复选框。
-
在 VDA 计算机上安装包含 Elastic Layering 组件的映像。您可以使用以下方法之一:
- 从 ELM 部署已启用弹性分层的映像。
- 在计算机上手动安装 VDA 并在设置过程中选择 Elastic Layering 组件。
安装云分页播放器
-
在 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 文件共享上。
-
-
确保 VDA 对软件包存储路径具有读取权限:
-
如果您将软件包存储在 AD 域中的 UNC 或 SMB 网络共享上,请授予 VDA 计算机对存储路径的读取权限。为此,您可以明确授予计算机的 AD 帐户对共享的读取权限,或者将该帐户包含在具有该权限的 AD 组中。
-
如果您将软件包存储在 Azure 文件共享上,请首先授予用户帐户对 Azure 中存储路径的读取权限。接下来,配置在 VDA 计算机上运行的
ctxAppVService以使用该用户帐户访问软件包存储路径。有关详细步骤,请参阅更改用户登录帐户。
-
更改用户登录帐户
在以下两种情况下更改用户登录帐户:
- 要使用链接的 AD 帐户访问 Azure 文件共享上的软件包:
- 连接实体必须是用户帐户,而不是计算机帐户,因为 Microsoft Entra ID 不会授予计算机帐户对文件共享的读取权限。
- If MSIX and MSIX AppAttach packages contain services:
- 软件包必须使用在本地计算机上具有管理权限的用户帐户发布,然后才能发布给任何非管理用户。这是安装打包服务所必需的,并且软件包只能发布给用户,而不能发布给计算机,这使得默认的 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 的映像
- 为了发现 Cloudpaging 软件包,需要使用 2511 或更高版本,并安装 Cloudpaging Player 软件。
- 应用程序包交付组件:已安装
- 软件包位置的权限:读取(有关详细信息,请参阅 在网络共享上存储应用程序包。)
- 电源:开
- 状态:已注册
批量上传应用程序包
将网络位置中的软件包上传到您的环境。请确保在上传前准备好以下各项:
- 满足 准备工作 要求的交付组
- 网络位置的完整路径信息
要批量上传软件包,请按照以下步骤操作:
- 在左侧窗格中,选择 应用程序包。
- 在 软件包发现 选项卡上,单击 创建发现配置文件 按钮。此时将显示 创建发现配置文件 页面。
- 在 名称 字段中,输入配置文件的描述性名称。
- 在交付组字段中,单击选择交付组。接下来,选择一个符合准备工作中规定的要求的交付组,然后单击确定。
- 在位置类型字段中,根据您存储软件包的位置,选择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 路径。 - Select the package types that you want to upload. Options include App-V, MSIX, MSIX app attach, FlexApp, and Elastic App.
-
指定是否在子文件夹中搜索软件包。
注意:
如果您在包含
cim映像的文件夹结构上搜索 MSIX app attach 软件包,请确保选择搜索子文件夹。否则,磁盘将无法正确发现。
- 输入网络共享的 UNC 路径(示例:
-
如果您选择了Numecent Cloudpager,请输入以下信息:
-
Cloudpager Console URL. Example:
https://cloudpagerconsole.my.org -
PowerShell 应用程序编程接口密钥。
-
应用启动器 MSID。
-
- 如果您选择了Microsoft App-V 服务器,请输入以下信息:
-
单击 创建发现配置文件。
创建发现配置文件页面关闭,新添加的配置文件显示在配置文件列表中。Citrix Virtual Apps and Desktops 使用交付组中的 VDA 将软件包上传到您的环境。上传完成后,“状态”字段显示 导入成功。相应的软件包显示在 软件包 选项卡上。
注意:
要在源位置检查软件包更新并将其导入到您的环境,请在配置文件列表中选择该位置,然后单击 检查更新。
逐个上传应用程序软件包
将应用程序软件包从网络共享上传到您的环境。上传之前,请确保已准备好以下各项:
- 满足 准备工作 中所述要求的交付组
- 网络位置路径。
要将软件包上传到您的环境,请按照以下步骤操作:
- 在左侧窗格中,选择 应用程序软件包。
- 在 软件包 选项卡上,单击 添加软件包 按钮。添加软件包 页面随即显示。
- 在 交付组 字段中,单击 选择交付组。接下来,选择一个满足 准备工作 中所述要求的交付组,然后单击 确定。
- 在 软件包完整路径 字段中,根据需要输入路径:
- 要一次上传多个软件包,请输入它们的完整路径,并用分号 (
;) 分隔。示例:\\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 单管理员)。将显示此类型的所有软件包。
- 根据需要选择一个或多个软件包。
- 单击 确定,然后单击 下一步。
- 要添加不同软件包类型的更多应用程序,请重复步骤 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 会随之自动部署。
当用户在隔离组中启动标记为显式的 App-V 应用程序时,Citrix Virtual Apps and Desktops 会检查用户在交付组中对该应用程序的访问权限。如果用户有权访问该应用程序,则同一隔离组中的任何自动应用程序包都将对用户可用。
您无需将自动程序包添加到任何交付组。如果隔离组中还有另一个显式应用程序包,则只有当该程序包位于同一交付组中时,用户才能使用它。
创建 App-V 隔离组
创建一个隔离组,并将相互依赖的应用程序包添加到其中。详细步骤如下:
- 在“隔离组”选项卡上,单击“添加隔离组”。
- 输入隔离组的名称和描述。环境中的所有 App-V 单管理员包都将显示在“可用包”列表中。
- 从“可用包”列表中,根据需要选择一个应用程序,然后单击右箭头。所选应用程序将显示在“隔离组中的包”列表中。
- 在“部署”字段中,为应用程序选择“显式”或“自动”。
- 重复步骤 2-3 以添加更多包。
- 要调整列表中包的顺序,请单击向上或向下箭头。
- 单击“保存”。
注意:
隔离组配置会导致在 VDA 上创建 App-V 连接组。部署方案可能会变得复杂,并且 App-V 客户端一次只支持一个活动连接组中的包。我们建议您避免将同一个包添加到属于同一交付组的两个不同隔离组中。
最佳实践
- 要部署 App-V 包,请使用 PowerShell 命令
Enable-AppV在 VDA 上启用 App-V 子系统。 - 要部署 MSIX(和 AppAttach)包,VDA 必须信任用于签署这些包的证书。
- 在 Windows Server 2019 上,请启用旁加载功能以部署 MSIX 包。对于 Windows 10、11、Windows Server 2022 和 2025,则不需要旁加载功能。
- App Attach 在 Windows Server 2019 上完全没有实现,并且目前不受微软(推而广之,也不受思杰)在 Windows Server 2022 或 2025 上的支持。
高级
以下高级主题提供了额外的配置选项和控件,用于在 Citrix Virtual Apps and Desktops 中微调打包应用程序的发现、更新和交付方式,超越了基本的应用程序包工作流。
自动化打包应用程序发布
您可以使用 PowerShell 命令自动化打包应用程序发布:
在 交付控制器™ 上,运行以下 PowerShell 命令:
-
为了加载包发现模块中包含的命令:
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--> -
To publish the packages and create the appropriate BrokerMachineConfigurations:
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 中,可用于无缝应用程序启动,但该应用程序不会自动发布到用户启动的任何桌面会话。
值 Desktop:从 WorkspaceApp 中隐藏应用程序图标,使其无法进行无缝应用程序启动,但如果用户通过其 AD 组设置也拥有访问权限,则该应用程序仍可部署到用户的桌面会话。
注意:
无论此设置中配置的值如何,发布到单会话静态桌面的打包应用程序永远不会在 Workspace App 中可用。
从 App-V 完整基础架构迁移到单管理员工作流
Microsoft App-V 完整基础架构(双管理员)即将终止支持。要继续交付 App-V 包和其他受支持的容器格式,请迁移到 Citrix 单管理员模型。
单管理员模型消除了对 App-V 管理和发布服务器的依赖,并在 Studio 中集中管理包。
单管理员模型的优势
采用单管理员工作流可以简化您的架构,并优化包管理流程。
简化的系统架构
在单管理员模型中,VDA 直接从文件共享检索包。Citrix 管理元数据、发布和隔离逻辑。
| 功能 | 完整基础架构(双管理员) | 单一管理员(Citrix 管理) |
|---|---|---|
| 管理 | App-V 管理控制台 | Citrix Studio or Web Studio |
| 数据库 | 必需 (SQL 服务器) | 无(元数据存储在 Citrix 站点数据库中) |
| 发布 | App-V 发布服务器 | Citrix 虚拟投递代理 (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 编排服务。 |