应用程序

注意:

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 中更改 Application name (for user) 属性。否则,用户会在 Citrix Workspace™ 应用程序中看到重复的名称。

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

有关详细信息,请参阅:

添加应用程序

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

值得注意:

  • 您无法将应用程序添加到远程电脑访问交付组。
  • 您不能使用“添加应用程序”向导从交付组或应用程序组中删除应用程序。这是一项单独的操作。

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

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

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

  • 要仅将应用程序添加到单个交付组: 在步骤 1 中,在 Web Studio 左侧窗格中选择交付组,在中间窗格中选择一个交付组,然后在操作栏中选择添加应用程序。向导不显示页面。
  • 要仅将应用程序添加到单个应用程序组: 在步骤 1 中,在 Web Studio 左侧窗格中选择应用程序,在中间窗格中选择一个应用程序组,然后在操作栏中应用程序组名称下选择添加应用程序条目。向导不显示页面。

组页面

此页面列出了站点中的所有交付组。如果您还创建了应用程序组,则此页面会列出应用程序组和交付组。您可以从任一组中选择,但不能同时从两组中选择。换言之,您不能同时将应用程序添加到应用程序组和交付组。通常,如果您正在使用应用程序组,请将应用程序添加到应用程序组,而不是交付组。

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

应用程序页面

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

  • 从“开始”菜单”: 在所选交付组中的计算机上发现的应用程序。选择此源时,将启动一个新页面,其中包含发现的应用程序列表。选中要添加的应用程序的复选框,然后单击“确定”。

    如果出现以下情况,则无法选择此源:(1) 您选择的应用程序组没有关联的交付组,(2) 您选择的应用程序组关联的交付组不包含任何计算机,或者 (3) 您选择的交付组不包含任何计算机。

  • 手动: 位于交付组中的 VDA 上或网络中其他位置的应用程序。选择此源将打开一个新页面,您可以在其中通过以下方式指定要添加的应用程序:
    • 键入可执行文件的路径、工作目录、可选命令行参数,以及管理员和用户的显示名称。
    • 从交付组中的 VDA 选择一个应用程序。为此,请单击“浏览”,输入用于访问 VDA 的凭据,等待连接到 VDA,然后从 VDA 中选择一个应用程序。所选应用程序的属性会自动填充页面上的字段。
  • 现有: 以前添加到站点的应用程序。选择此源时,将启动一个新页面,其中包含发现的应用程序列表。选中要添加的应用程序的复选框,然后单击“确定”。

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

  • 应用程序包: App-V、MSIX、MSIX app attach 或 FlexApp 应用程序包中的应用程序。选择此源时,将启动“从包中添加应用程序”页面。选择一个应用程序包源,从结果显示中选择要添加的应用程序,然后选择“确定”。有关详细信息,请参阅部署和交付应用程序包

  • 应用程序组:应用程序组。选择此源时,将启动一个新页面,其中包含应用程序组列表。(尽管显示内容也列出了每个组中的应用程序,但您只能选择组,而不能选择单个应用程序。)所选组中的所有当前和未来应用程序都将添加。选中要添加的应用程序组的复选框,然后单击“确定”。

    如果出现以下情况,则无法选择此源:(1) 没有应用程序组,或者 (2) 所选交付组不支持应用程序组(例如,具有静态分配计算机的交付组)。

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

您可以从此页面或以后更改应用程序的属性(设置)。

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

摘要页面

如果您要添加 10 个或更少的应用程序,其名称将列在“要添加的应用程序”中。如果您要添加 10 个以上的应用程序,则会指定总数。

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

修改应用程序的组关联设置

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

您可以将应用程序拖动到其他组。这是使用操作栏中命令的替代方法。

如果应用程序与多个交付组关联(无论是通过应用程序组还是直接关联),则可以使用组优先级来指定评估多个组的顺序。可以根据访问策略、用户列表或智能访问标记等因素将组排除在考虑范围之外,并且从组中选择的特定计算机可能会受到区域首选项、启动就绪状态以及任何标记限制等因素的影响。默认情况下,所有组的优先级均为 0(最高)。如果交付组具有相同的优先级,则选择负载最低的交付组来启动应用程序。在这种情况下,不考虑垂直负载平衡。

应用程序可以与包含可交付应用程序的共享(非专用)计算机的交付组关联。如果 (1) 交付组包含共享计算机且是使用早于 7.9 的 XenDesktop 7.x 版本创建的,并且 (2) 您拥有 Edit delivery group 权限,则您还可以选择包含仅交付桌面的共享计算机的交付组。提交属性对话框时,交付组类型会自动转换为 desktops and applications

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

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

可以执行以下操作:

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

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

  1. 在左侧窗格中选择应用程序
  2. 在中间窗格中选择一个或多个应用程序,然后在操作栏中选择相应的任务。
  3. 出现提示时,确认操作。

从交付组中移除应用程序

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

  1. 在左侧窗格中选择交付组
  2. 选择一个交付组。在中间窗格下方的应用程序选项卡上,选择要移除的应用程序。
  3. 从操作栏中选择移除应用程序
  4. 确认移除。

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

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

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

更改应用程序属性

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

要更改应用程序的属性:

  1. 在左侧窗格中选择“应用程序”。
  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 未启动,因为它将超出每个用户一个实例的限制。
  • 同时实例数和每个用户一个实例的限制: 在另一个交付组中,您将同时实例数上限配置为 10,并为应用程序 Delta 启用了每个用户一个实例的选项。之后,当该交付组中的 10 个用户各自运行一个 Delta 实例时,该交付组中任何其他尝试启动 Delta 的用户都将收到错误消息。Delta 未启动。如果当前 10 个 Delta 用户中的任何一个尝试启动该应用程序的第二个实例,他们将收到错误消息,并且第二个实例将不会启动。
  • 每台计算机同时实例数上限,以及使用标记限制: 应用程序 Charlie 具有许可和性能要求,这些要求决定了特定服务器上可以同时运行多少个实例。这些要求还决定了站点中所有服务器上可以同时运行多少个实例。

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

    要将应用程序的使用限制为交付组中的某些计算机(除了限制站点中所有计算机上的实例之外):

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

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

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

配置每个交付组的最大实例限制和每个用户一个实例的限制:

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

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

配置每台计算机的最大实例限制(仅限 PowerShell):

  • 在 PowerShell 中(对于 Citrix Cloud™ 部署,请使用远程 PowerShell 软件开发工具包;对于本地部署,请使用 PowerShell 软件开发工具包),输入带有 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。

排查已发布的应用程序的会话注销问题

发布应用程序时,仅指定已发布的应用程序的主可执行文件。但是,某些应用程序可能会生成在后台运行的额外(子)进程,并且当主已发布的应用程序关闭时,这些进程不会被相应的主可执行文件关闭。额外的进程也可能由执行的脚本或特定的注册表项(例如 RunRunOnceKey)创建。这些应用程序可能会阻止正常注销,导致会话残留或挂起,并可能导致会话无法关闭且用户无法注销。

在这种情况下,您需要使用 Citrix Director 重置或退出这些会话。

为了帮助识别和排查会话未正确注销的问题,Citrix 提供了三个注册表项。识别和排查由于这些问题导致会话未正确注销是一个三步过程:

  1. 识别哪些会话的已发布的应用程序正在阻止正常注销

  2. 识别这些已发布的应用程序是否生成任何额外(子)进程

  3. 将这些进程添加到指定的注册表项中,以防止它们阻止注销

步骤 2:识别这些已发布的应用程序是否生成任何额外的(子)进程

一旦确定某个已发布的应用程序会阻止正常注销,下一步就是确定此应用程序在运行时是否会生成额外的进程。

您可以阅读 HKCU\Software\CitrixVolatile\Seamless\Sessions\[ID]\LogoffCheckerBlockingProcess 以确定当已发布的应用程序关闭时,是否有任何进程正在阻止正常注销。

在以下示例中,键 LogoffCheckerBlockingProcess 包含以下条目:

PhoneExperienceHost.exe
SkypeApp.exe
SkypeBackgroundHost.exe
<!--NeedCopy-->

这些进程阻碍了平稳注销的顺利完成。

注意:

将 [ID] 替换为您要检查的会话的正确会话 ID。

步骤 3:将这些进程添加到指定的注册表项中,以防止它们阻止注销

您可以将这些进程添加到以下注册表项中,以防止它们在未来的会话中阻止注销:

Add the process file name to the following registry key:
Caution! Refer to the Disclaimer at the end of this article before using the Registry Editor.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI
Value Name:LogoffCheckSysModules
Type:REG_SZ
String:MyAppName.exe
<!--NeedCopy-->

有关 LogoffCheckSysModules 的更多信息,请参阅 从已发布的应用程序正常注销会使会话处于活动状态

逐步进行的故障排除指南

  1. 在受测 VDA 下启动远程注册表服务:

    1. 在“控制面板”中,选择“管理工具 > 服务”。

    2. 右键单击“远程注册表服务”,然后选择“属性”。

    3. 在“启动类型”下,从下拉菜单中选择“自动”。

    已发布的应用程序注册表(/zh-cn/citrix-virtual-apps-desktops/2411/media/published-app-registry.png)

  2. 关闭测试 VDA 上的 Windows 防火墙,或者创建入站防火墙规则以启用端口 455:

    1. 在“控制面板”中,选择 Windows Defender 防火墙 > 高级设置

    2. 右键单击“入站规则”并选择“新建规则”。

    3. 在“新建入站规则向导”中,选择“端口”。

    4. 在“协议和端口”页面上,选择“TCP 和特定本地端口”。输入 445 作为本地端口。

    5. 在“操作”页面上,选择“允许连接”。

    6. 选择要应用新入站规则的防火墙配置文件。

    7. 命名防火墙规则并选择“完成”以退出“新建入站规则向导”。

    已发布的应用程序防火墙端口(/zh-cn/citrix-virtual-apps-desktops/2411/media/published-app-firewall-port.png)

  3. 从同一域中的另一台 VM(可以是 DC、DDC 或另一台 VDA),运行 Regedit 并连接到远程注册表。

    已发布的应用程序注册表编辑器(/zh-cn/citrix-virtual-apps-desktops/2411/media/published-app-registry-editor.png)

  4. 输入测试 VDA 的 IP 地址,然后单击“确定”。regedit 树必须显示测试 VDA 的分支。

    已发布的应用程序 regedit(/zh-cn/citrix-virtual-apps-desktops/2411/media/published-app-regedit.png)

  5. 打开“命令提示符”已发布的应用程序。

    已发布的应用程序管理

    命令提示符应用程序显示在 Citrix Workspace 上。

    已发布的应用程序命令提示符

  6. 在客户端上打开 连接中心。这用于在关闭已打开的无缝应用程序后,监控会话何时注销。我们可以从下图中看到,命令提示符进程 c:\Windows\system32\cmd.exe 在远程 VDI 上处于活动状态。

    已发布的应用程序连接

  7. 从运行 regedit 的 VDA,转到以下远程 IP 位置: HKEY_USERS\S-1-X-XX-XXXXXXXX-XXXXXXXXXXX-XXXXXXXXXX-XXXX\SOFTWARE\CitrixVolatile\Seamless\Sessions\X\

    注意:

    每次打开新会话时,此路径都会更改。

  8. 这里有两个要读取的键(不要在此处更改它们):LogoffCheckBlockingProcessLogoffCheckerBlockingVisibleProcess。这些键显示任何阻止注销的程序。第一个必须显示 C:\Windows\System32\cmd.exe,因为它已打开但尚未关闭。

    注意:

    LogoffCheckBlockingProcess and LogoffCheckerBlockingVisibleProcess must not be manually edited. Manually editing these registry values could lead to unstable sessions.

    已发布的应用程序 2

  9. 单击右上角的 X 以退出 Seamless CMD

  10. 检查连接中心以查看会话是否关闭。关闭可能需要长达 30 秒。如果会话关闭,则表示没有应用程序或进程阻止正常注销。

    正常注销

  11. 如果会话未关闭,请按 F5 刷新 regedit 输出。

  12. 再次检查 LogoffCheckBlockingProcessLogoffCheckerBlockingVisibleProcess 的内容。CMD 不应再出现,但应该有另一个列出的进程。当前阻止会话注销的任何进程都必须在此处显示。

    在这种情况下,在命令提示符关闭之前,Notepad.exe 从已发布的命令提示符中打开,并且此远程记事本进程正在阻止正常注销。

    注册表编辑器

  13. 记下此可执行文件的路径及其所在的键,并将其输入到远程树下的以下注册表键中:

    • If it appears in LogoffCheckBlockingProcess: HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckSysModulesInternal
    • If it appears in LogoffCheckerBlockingVisibleProcess: HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckVisibleSysModules

    注意:

    如果键中已有一个或多个条目,请在末尾添加逗号,并将新条目放在逗号后面。

    注册表编辑器-最终

  14. 从客户端的连接中心注销会话,然后重新打开远程应用程序。

  15. 重复步骤 9-16,直到会话在关闭远程应用程序后 30 秒内自动注销。

    注意:

    故障排除后,如果需要,请恢复临时防火墙更改以允许远程注册表访问。

如何修改 LogonUI 以在打开已发布的应用程序时全屏查看 Windows 免责声明消息

在未发生身份验证直通的场景中,LogonUI 窗口缩放已改进。LogonUI 窗口根据所使用的显示器分辨率和 DPI 设置进行缩放,这确保了完整的 LogonUI 窗口可见,而不会出现任何裁剪。

窗口的像素大小也可以在注册表中手动设置。

  1. 在“运行”命令中使用 regedit 打开 注册表编辑器

  2. 转到 HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\

  3. Create two new DWORD keys: LogonUIWidth and LogonUIHeight.

  4. 将这些键的值设置为 LogonUI 窗口所需的像素宽度和高度。

    手动设置 LogonUI 窗口大小时,自动缩放将被禁用。

注意:

这些注册表路径已从 2407 及更高版本开始更改。旧的注册表值将被忽略并已弃用。

默认情况下,LogonUI 窗口包含一个带有关闭按钮的标题栏,这使用户能够在需要时断开会话。

禁用标题栏

您可以使用以下注册表项禁用 LogonUI 窗口中的标题栏:

  1. 在“运行”命令中使用 regedit 打开注册表编辑器。

  2. 转到 HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\

  3. 创建新的 DWORD 类型的键:LogonUICaption,并将该键的值设置为 0

    带有标题栏的 LogonUI 窗口

管理应用程序文件夹

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

值得注意:

  • 您无法重命名或删除“应用程序”文件夹,但您可以将其包含的所有应用程序移动到您创建的其他文件夹中。
  • 文件夹名称可以包含 1–64 个字符。允许使用空格。
  • 文件夹最多可以嵌套五层。
  • 文件夹不必包含应用程序。允许使用空文件夹。
  • 文件夹在 Web Studio 中按字母顺序排列,除非您移动它们或在创建时指定了不同的位置。
  • 您可以拥有多个同名文件夹,只要每个文件夹都有不同的父文件夹即可。同样,您可以拥有多个同名应用程序,只要每个应用程序都位于不同的文件夹中即可。
  • 您必须拥有 View Applications 权限才能查看文件夹中的应用程序,并且您必须拥有该文件夹中所有应用程序的 Edit Application Properties 权限才能删除、重命名或移除包含应用程序的文件夹。
  • 以下大多数过程都要求使用 Web Studio 中的操作栏执行操作。或者,您可以使用右键单击菜单或拖动项目。例如,如果您在不希望的位置创建或移动了文件夹,可以将其拖放到正确的位置。
  • Web Studio 中的所有节点(例如 计算机目录交付组应用程序应用程序组)在后端共享相同的文件夹树。为避免在重命名或移动文件夹时出现名称冲突,请为不同节点中的一级文件夹使用唯一的名称。

    如果您使用 New-BrokerAdminFolder SDK cmdlet 创建文件夹并希望它显示在 应用程序 节点下,则必须使用 Set-BrokerAdminFolderMetadata cmdlet 添加 ContainsApplications 元数据。

    示例:

     Set-BrokerAdminFolderMetadata -AdminFolderId {adminFolderUid} -Name ContainsApplications -Value true
     <!--NeedCopy-->
    

要管理应用程序文件夹,请在左侧窗格中选择 应用程序。请参考以下列表进行指导。

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

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

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

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

In PowerShell (using the Remote PowerShell SDK in Citrix Cloud deployments or the PowerShell SDK in on-premises deployments), you can change this action.

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

Set-BrokerApplication -LocalLaunchDisabled <Boolean>

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

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

要求和限制:

  • 应用程序的 ApplicationType 值必须是 HostedOnDesktop
  • 此选项仅通过相应的 PowerShell SDK 提供。目前在 Web Studio 图形界面中不可用。
  • This option requires minimum: StoreFront 3.14, Citrix Receiver for Windows 4.11, and Delivery Controller 7.17.