Citrix Virtual Apps and Desktops

应用程序

简介

如果您的部署仅使用交付组(而不使用应用程序组),则将应用程序添加到交付组。如果您也具有应用程序组,通常请改为将应用程序添加到应用程序组。本指导信息提供更轻松的管理过程。应用程序必须始终至少属于一个交付组或应用程序组。

在“添加应用程序”向导中,您可以选择一个或多个交付组或应用程序组,但不能同时选择两者。虽然您可在之后更改应用程序的组关联(例如,将应用程序从应用程序组移动到交付组),但是建议不要增加此复杂性。应使应用程序保持在一个类型的组中。

如果要将一个应用程序关联到多个组,但您没有足够权限来查看所有这些组中的应用程序,则会产生可见性问题。在这种情况下,可以咨询权限更高的管理员,或者扩展您的作用域,以包括要与应用程序关联的所有组。

如果您向同一用户发布两个同名(可能来自不同组)的应用程序,请在 Studio 中更改 Application name (for user) 属性。否则,用户将在 Citrix Workspace 应用程序中看到重复的名称。

您可以在添加时更改应用程序的属性(设置),或者在以后更改。还可以在添加应用程序使或在此之后更改用于放置应用程序的应用程序文件夹。

有关详细信息,请参阅:

添加应用程序

可以在创建交付组或应用程序组时添加应用程序。这些过程在创建交付组创建应用程序组中详细介绍。以下过程描述如何在您创建组之后添加应用程序。

须知:

  • 无法向 Remote PC Access 交付组中添加应用程序。
  • 不能使用“添加应用程序”向导从交付组或应用程序组中删除应用程序。必须单独执行该操作。

要添加一个或多个应用程序,请执行以下操作:

  1. 在 Studio 导航窗格中选择应用程序,然后在“操作”窗格中选择添加应用程序
  2. 此时将启动“添加应用程序”向导,并打开一个简介页面,您可以在将来启动此向导时不再显示该页面。
  3. 该向导将引导您访问应用程序摘要页面。完成每个页面之后,请单击下一步,直到到达摘要页面为止。

用于替代步骤 1 的方法(如果要将应用程序添加到单个交付组或应用程序组):

  • 要将应用程序只添加到一个交付组,请执行以下操作: 在步骤 1 中,在 Studio 导航窗格中选择交付组,在中间窗格中选择一个交付组,然后在“操作”窗格中选择添加应用程序。该向导不会显示页面。
  • 要只将应用程序添加到一个应用程序组,请执行以下操作: 在步骤 1 中,在 Studio 导航窗格中选择应用程序,在中间窗格中选择一个应用程序组,然后在“操作”窗格中应用程序组的名称下选择添加应用程序条目。该向导不会显示页面。

“组”页面

此页面列出了站点中的所有交付组。如果您还创建了应用程序组,则该页面将列出应用程序组和交付组。您可从其中任何一个组进行选择,但不能同时从这两个组中选择。即,不能同时将应用程序添加到应用程序组和交付组。总体而言,如果您使用的是应用程序组,请将应用程序添加到应用程序组而非交付组。

添加应用程序时,请选中至少一个交付组(或应用程序组,如果可用)旁边的复选框。每个应用程序都必须始终至少与一个组关联。

“应用程序”页面

单击添加以显示应用程序源。

  • 从“开始”菜单: 在计算机上发现的位于选定交付组中的应用程序。当您选择该源时,会打开一个新页面,其中包含已发现的应用程序的列表。选中要添加的应用程序的复选框,然后单击确定

    在下列情况下不能选择此源:(1) 您选择的应用程序组不与交付组关联,(2) 选择的应用程序组与不包含任何计算机的交付组关联,或者 (3) 选择的交付组不包含任何计算机。

  • 手动定义: 位于站点上或网络中的其他位置的应用程序。选择此源时,将启动一个新页面。请输入可执行文件的路径、工作目录、可选命令行参数以及管理员和用户的显示名称。输入此信息后,单击确定
  • 现有: 以前添加到站点的应用程序。当您选择该源时,会打开一个新页面,其中包含已发现的应用程序的列表。选中要添加的应用程序的复选框,然后单击确定

    如果站点没有任何应用程序,则无法选择此源。

  • App-V: App-V 包中的应用程序。如果选择此源,则会启动一个新页面,您可以在其中选择 App-V 服务器或应用程序库。从生成的显示内容中,选中要添加的应用程序的复选框,然后单击确定。有关详细信息,请参阅 App-V

    如果没有为站点配置 App-V 则无法选择此源。

  • 应用程序组:应用程序组。当您选择该源时,会打开一个新页面,其中包含应用程序组的列表。(虽然显示内容也会列出各个组中的应用程序,但是您只能选择组,而不能选择单个应用程序。)此时将添加选定组中的所有当前和将来的应用程序。选中要添加的应用程序组的复选框,然后单击确定

    在下列情况中不能选择此源:(1) 没有应用程序组,或 (2) 所选交付组不支持应用程序组(例如,含静态分配的计算机的交付组)。

如果不存在该类型的有效源,则添加列表中的一些源无法选择(如表中所示)。该列表中不包括不兼容的源(例如,您不能将应用程序组添加到应用程序组)。无法选择已添加到您所选择的组的应用程序。

可以在此页面中更改应用程序的属性(设置),或在以后进行此更改。

默认情况下,添加的应用程序将放置在名为 Applications 的应用程序文件夹中。可从该页面中更改应用程序,或在以后执行此更改。如果您尝试添加某个应用程序,但同一文件夹中存在同名应用程序,系统将提示您重命名要添加的应用程序。 您可以接受或拒绝系统所提供的新名称,然后重命名应用程序或选择不同的文件夹。例如,如果 Applications 文件夹中已经存在 app,而您尝试将另一个名为 app 的应用程序添加到该文件夹,则将提供新名称 app_1

“摘要”页面

如果要添加 10 个或更少的应用程序,则它们的名称会列在要添加的应用程序中。如果要添加超过 10 个的应用程序,应指定总数。

查看摘要信息,然后单击完成

更改应用程序的组关联

添加应用程序后,可以更改与应用程序关联的交付组和应用程序组。

可以将应用程序拖动到其他组。可使用此操作代替在“操作”窗格中使用命令的操作。

如果应用程序与多个交付组或应用程序组相关联,则可以使用组优先级指定对多个组进行检查以发现应用程序的顺序。默认情况下,所有组都具有优先级 0(最高优先级)。将对具有相同优先级的组进行负载平衡。

可将应用程序与交付组(其中包含共享(非专用)的可提供应用程序的计算机)。还可以选择包含仅用于交付桌面的共享计算机的交付组,前提如下:(1) 交付组包含共享计算机,并且是通过 7.9 之前的 XenDesktop 7.x 版本创建的,(2) 您具有“Edit delivery group”权限。在提交属性对话框时,“交付组”类型将自动转换为“desktops and applications”。

  1. 在 Studio 导航窗格中选择应用程序,然后在中间窗格中选择应用程序。
  2. 在“操作”窗格中选择属性
  3. 选择页面。
    • 要添加组,请单击添加并选择应用程序组交付组。(如果尚未创建任何应用程序组,则唯一条目为交付组。)然后选择一个或多个可用的组。无法选择不兼容的,或已与应用程序关联的应用程序。
    • 要删除组,请选择一个或多个组,然后单击删除。如果删除组关联会导致应用程序不再与任何组关联,则系统会提醒您,指出该应用程序将被删除。
    • 要更改某个组的优先级,请选择该组,然后单击编辑优先级。选择一个优先级值,然后单击确定
  4. 完成操作后,单击应用以应用您执行的更改并保持打开窗口,或单击确定应用更改并关闭窗口。

复制、启用/禁用、重命名或删除应用程序

以下操作可用:

  • 复制: 您可能希望复制应用程序以创建具有不同参数或属性的不同版本。复制应用程序时,应用程序会通过唯一的后缀自动重命名并放置在与原始应用程序相邻的位置。您可能还需要复制应用程序并将其添加到不同的组。(复制后,可通过最简单的拖动方法来移动应用程序。)
  • 启用或禁用: 启用和禁用应用程序的操作与启用和禁用交付组或应用程序组的操作不同。
  • 重命名: 一次只能重新命名一个应用程序。如果您尝试重命名某个应用程序,但同一文件夹或组中存在同名应用程序,系统将提示您指定一个不同的名称。
  • 删除: 如果删除应用程序,会将其从关联的交付组和应用程序组中删除,但不会从最初用于添加此应用程序的源中删除。删除应用程序的过程与从交付组或应用程序组中删除应用程序的过程不同。

要复制、启用、禁用、重命名或删除应用程序,请执行以下操作:

  1. 在 Studio 导航窗格中选择应用程序
  2. 在中间窗格中选择一个或多个应用程序,然后在“操作”窗格中选择相应的任务。
  3. 在系统提示时,确认所做操作。

从交付组中删除应用程序

应用程序必须至少关联(或属于)一个交付组或应用程序组。如果您尝试从交付组删除某个应用程序,将删除该应用程序与任何交付组或应用程序组的关联。如果继续操作,您会收到通知,指出应用程序将被删除。当发生这种情况时,如果要交付应用程序,则必须再次从有效源添加中应用程序。

  1. 在 Studio 导航窗格中选择交付组
  2. 选择交付组。在中下部分的窗格中,在应用程序选项卡,选择要删除的应用程序。
  3. 在“操作”窗格中选择删除应用程序
  4. 确认删除。

从应用程序组中删除应用程序

应用程序必须至少属于一个交付组或应用程序组。如果您尝试从应用程序组中删除某个应用程序,则将导致该应用程序不再属于任何组。如果继续操作,您会收到通知,指出该应用程序将被删除。当发生这种情况时,如果要交付应用程序,则必须再次从有效源添加中应用程序。

  1. 在 Studio 导航窗格中选择应用程序
  2. 在中间窗格中选择应用程序组,然后选择一个或多个应用程序。
  3. 在“操作”窗格中选择从应用程序组中删除
  4. 确认删除。

更改应用程序属性

一次只能更改一个应用程序的属性。

要更改应用程序的属性,请执行以下操作:

  1. 在 Studio 导航窗格中选择应用程序
  2. 选择一个应用程序,然后在“操作”窗格中选择编辑应用程序属性
  3. 选择包含要更改的属性的页面。
  4. 完成后,单击应用以应用您执行的所有更改并保持打开窗口,或者单击确定应用更改并关闭窗口。

在下面的列表中,页面在括号中显示。

属性 页面
Citrix Workspace 应用程序中用于显示应用程序的类别/文件夹 交付
命令行参数;请参阅将参数传递到已发布的应用程序 位置
其中包含可用应用程序的交付组和应用程序组
说明 标识
文件名扩展名和文件类型关联:将由应用程序自动打开的扩展名 文件类型关联
图标 交付
StoreFront 的关键字 标识
限制;请参阅配置应用程序限制 交付
名称:向用户和管理员显示的名称 标识
可执行文件的路径;请参阅将参数传递到已发布的应用程序 位置
用户桌面上的快捷方式:启用或禁用 交付
可见性:限制哪些用户可以看到 Citrix Workspace 应用程序中的应用程序。仍然可以启动不可见的应用程序。要使其不可用且不可见,请将其添加到其他组。 限制可见性
工作目录 位置

在当前的应用程序用户从其会话中注销之前,应用程序更改可能不对其生效。

配置应用程序限制

配置应用程序限制可帮助管理应用程序的使用。例如,可以使用应用程序限制来管理同时访问某个应用程序的用户数量。同样,应用程序限制可用于管理资源密集型应用程序的同时运行的实例数。该限制有助于维持服务器性能并阻止服务恶化。

此功能限制 Controller 代理的应用程序启动的数量(例如,从 Citrix Workspace 应用程序和 StoreFront),不限制可以通过其他方法启动的正在运行的应用程序数量。这意味着应用程序限制可以在管理并发使用时向管理员提供帮助,但并不强制在所有情况下使用。例如,Controller 处于中断模式时,不能应用应用程序限制。

默认情况下,不限制可以同时运行的应用程序实例数。有多种应用程序限制设置。可以配置任何或全部设置。

  • 交付组中的所有用户运行的最大并发应用程序实例数。
  • 交付组中的每个用户运行一个应用程序实例。
  • 每台计算机的最大并发应用程序实例数(仅限 PowerShell)。

如果配置了某个限制,则当用户尝试启动会超出该配置限制的应用程序的实例时,将生成一条错误消息。如果配置了多个限制,达到第一限制时会报告错误。

使用应用程序限制的示例:

  • 同时运行的最大实例数限制: 在交付组中,可以将同时运行的最大应用程序 Alpha 实例数配置为 15。以后,该交付组中的用户可以同时运行该应用程序的 15 个实例。如果该交付组中的任何用户现在尝试启动 Alpha,则会生成一条错误消息。Alpha 不启动,因为这将超出所配置的同时运行的应用程序实例数限制 (15)。
  • “每个用户运行一个实例”应用程序限制: 在另一个交付组中,您为应用程序 Beta 启用了每个用户运行一个实例选项。用户 Tony 成功启动了应用程序 Beta。当天晚些时候,当该应用程序仍在 Tony 的会话中运行时,他尝试启动 Beta 的另一个实例。此时将生成一条错误消息,并且 Beta 不启动,因为这将超出一个用户运行一个实例的限制。
  • 同时运行的最大实例数和“每个用户运行一个实例”限制: 在另一个交付组中,可以为应用程序 Delta 配置同时运行的最大实例数 10,并启用每个用户运行一个实例选项。以后,当该交付组中的 10 个用户每人运行一个 Delta 实例时,该交付组中尝试启动 Delta 的任何其他用户都会收到一条错误消息。Delta 不启动。如果当前 10 个 Delta 用户中的任何一个用户尝试启动该应用程序的第二个实例,也会收到一条错误消息,并且第二个实例不启动。
  • 每台计算机同时运行的最大实例数以及使用标记限制: 应用程序 Charlie 具有许可和性能要求,这些要求规定了在特定服务器上可以同时运行的实例数。这些要求还规定了在站点中的所有服务器上可以同时运行的实例数。

    每台计算机的应用程序实例数限制会影响站点中的任何服务器(不只是某个特定交付组中的计算机)。假设您的站点有三台服务器。对于应用程序 Charlie,您可以将每台计算机的应用程序实例数限制配置为 2。因此,在站点范围内允许启动不超过六个应用程序 Charlie 实例。(即在三台服务器中的每台服务器上不能超过两个 Charlie 实例。)

    要将应用程序的使用仅限制到交付组中的某些计算机(除了限制站点范围内的所有计算机上的实例之外),请执行以下操作:

    • 对这些计算机使用标记功能。
    • 为该应用程序配置每台计算机的最大实例数限制。

如果应用程序通过除 Controller 代理以外的其他方法启动(例如,当 Controller 处于中断模式时),并且超出了配置的限制,用户将无法启动更多实例,直至其关闭足够的实例以便不再超出限制为止。超出该限制的实例不会强制关闭。它们将被允许继续运行,直至用户将其关闭。

如果禁用了会话漫游,请禁用每个用户运行一个应用程序实例限制。如果启用了每个用户运行一个应用程序实例限制,请勿配置允许新会话在新设备上运行的两个值中的任一值。有关漫游的信息,请参阅会话

要配置每个交付组的最大实例数限制和每个用户运行一个实例限制,请执行以下操作:

  1. 在 Studio 导航窗格中选择应用程序,然后选择一个应用程序。
  2. 在“操作”窗格中选择编辑应用程序属性
  3. 交付页面上,选择以下选项之一。

    • 允许不受限制地使用应用程序。不限制同时运行的实例数。这是默认值。
    • 为应用程序设置限制。有两种限制类型,请指定其中的一种或两种类型。
      • 指定每台计算机可以并发运行的最大实例数
      • 限制每个用户运行一个应用程序实例
  4. 单击确定以应用所做的更改并关闭对话框,或单击应用以应用所做的更改并使对话框保持打开。

要配置每台计算机的最大实例数限制(仅限 PowerShell),请执行以下操作:

  • 在 PowerShell(对于 Citrix Cloud 部署,使用远程 PowerShell SDK,或对于本地部署,使用 PowerShell SDK) 中,输入带有 MaxPerMachineInstances 参数的相应 BrokerApplication cmdlet。
  • 有关指导,请使用 Get-Help cmdlet。例如:

    Get-Help Set-BrokerApplication –Parameter MaxPerMachineInstances

将参数传递到已发布的应用程序

使用某个应用程序属性的位置页面输入命令行,并将参数传递到已发布的应用程序。

将已发布的应用程序与文件类型相关联时,符号 “%*”(双引号中含百分号和星号)会附加在应用程序命令行的末尾。这些符号充当传递给用户设备的参数的占位符。

如果已发布的应用程序在应该启动时没有启动,请确认其命令行包含的符号是否正确。默认情况下,在附加符号 “%*” 时会验证用户设备提供的参数。对于使用用户设备提供的自定义参数的已发布应用程序,在命令行后面附加 “%**” 符号将跳过命令行验证。如果您在应用程序的命令行中看不到这些符号,请手动进行添加。

如果可执行文件的路径包含带空格的目录名称(例如 “C:\Program Files”),请使用双引号引起应用程序的命令行,以指示空格属于该命令行。要执行此操作,请使用双引号引起该路径,并使用另一个双引号引起 %* 符号。应确保在路径的右引号与 %* 符号的左引号之间留有一个空格。

例如:已发布的应用程序 Windows Media Player 的命令行为:

“C:\Program Files\Windows Media Player\mplayer1.exe” “%*”

注意:

启动已发布的应用程序的命令行中包括参数在内的最大字符数为 203。

管理应用程序文件夹

默认情况下,添加到交付组中的新应用程序将放置在名为应用程序的文件夹中。可以在创建交付组时、添加应用程序时或以后指定其他文件夹。

须知:

  • 您无法重命名或删除 Applications 文件夹,但可以将其包含的所有应用程序移动到您创建的其他文件夹。
  • 文件夹名称可以包含 1-64 个字符。允许使用空格。
  • 文件夹最多可以嵌套五个级别。
  • 文件夹不必包含应用程序。允许使用空文件夹。
  • 除非您在创建文件夹时对其进行移动或指定了其他位置,否则在 Studio 中文件夹按字母顺序列出。
  • 您可以具有多个名称相同的文件夹,只要其父文件夹不同即可。同样,您可以具有多个名称相同的应用程序,只要其位于不同的文件夹中即可。
  • 您必须具有View Applications权限才能查看文件夹中的应用程序;必须对文件夹中的所有应用程序都具有Edit Application Properties权限,才能删除、重命名或删除包含应用程序的文件夹。
  • 以下大部分过程都要求使用 Studio 中的“操作”窗格进行操作。或者,也可以使用右键菜单或拖动项目。例如,如果您在不理想的位置创建或移动了文件夹,则可以将其拖动/放置到正确的位置。

要管理应用程序文件夹,请在 Studio 导航窗格中选择应用程序。请按下列指导进行操作。

  • 查看所有文件夹(不包括嵌套文件夹): 单击文件夹列表上方的全部显示
  • 要在最高级别创建文件夹(不嵌套),请执行以下操作: 选择 Applications 文件夹。要将新文件夹置于 Applications 之外的其他现有文件夹下,请选择该文件夹。然后,在“操作”窗格中选择创建文件夹。请输入名称。
  • 移动文件夹: 选择该文件夹,然后在“操作”窗格中选择移动文件夹。一次只能移动一个文件夹,除非文件夹包含嵌套文件夹。(最简便的移动文件夹的方法是拖动文件夹。)
  • 重命名文件夹: 选择该文件夹,然后在“操作”窗格中选择重命名文件夹。请输入名称。
  • 删除文件夹: 选择该文件夹,然后在“操作”窗格中选择删除文件夹。删除包含应用程序和其他文件夹的某个文件夹时,这些对象也随之删除。删除应用程序同时会从交付组中删除应用程序分配。不会将其从计算机中删除。
  • 将应用程序移至某个文件夹: 选择一个或多个应用程序。然后,在“操作”窗格中选择移动应用程序。选择文件夹。

在创建交付组或应用程序组时,您还可以将要添加的应用程序放置在应用程序页面的文件夹中。默认情况下,添加的应用程序位于 Applications 文件夹中。单击更改以选择或创建文件夹。

控制已发布的桌面上的应用程序的本地启动

用户从已发布的桌面内部启动已发布的应用程序时,可以控制该应用程序在该桌面会话中启动,还是作为已发布的应用程序启动。Citrix Workspace 应用程序在 VDA 上的 Windows 注册表中搜索应用程序的安装路径,如果存在,则启动该应用程序的本地实例。否则,将启动该应用程序的托管实例。如果您启动的应用程序未安装在 VDA 上,则会启动托管应用程序。有关详细信息,请参阅 vPrefer 启动

在 PowerShell(在 Citrix Cloud 部署中使用远程 PowerShell SDK 或在本地部署中使用 PowerShell SDK)中,可以更改此操作。

New-Broker 应用程序或 Set-BrokerApplication cmdlet 中,使用 LocalLaunchDisabled 选项。例如:

Set-BrokerApplication -LocalLaunchDisabled <Boolean>

默认情况下,此选项的值为 false (-LocalLaunchDisabled $false)。从已发布的桌面内部启动已发布的应用程序时,该应用程序将在该桌面会话中启动。

如果将选项的值设置为 true (-LocalLaunchDisabled $true),则会启动已发布的应用程序。这将额外创建一个从已发布的桌面(使用适用于 Windows 的 Citrix Workspace 应用程序)到已发布的应用程序的单独会话。

要求和限制:

  • 应用程序的 ApplicationType 值必须为 HostedOnDesktop
  • 此选项仅通相应的过 PowerShell SDK 提供。此选项当前不在 Studio 图形界面中提供。
  • 此选项要求的最低版本:StoreFront 3.14、Citrix Receiver for Windows 4.11 和 Delivery Controller 7.17。