本地应用程序访问和 URL 重定向

简介

本地应用程序访问可将本地安装的 Windows 应用程序无缝集成到托管的桌面环境中,而无需从一台计算机更改为另一台计算机。利用本地应用程序访问,您可以:

  • 直接从虚拟桌面访问在物理便携式计算机、PC 或其他设备上本地安装的应用程序。
  • 提供灵活的应用程序交付解决方案。如果用户具有您无法虚拟化或 IT 不予维护的本地应用程序,这些应用程序的行为就像安装在虚拟桌面上时一样。
  • 通过将已发布的应用程序的快捷方式放置在用户的 Windows 设备上,当应用程序独立于虚拟桌面托管时可避免双跳延迟。
  • 使用如下应用程序:
    • 视频会议软件,例如 GoToMeeting。
    • 尚未虚拟化的特殊或利基应用程序。
    • 采用其他方式时会将大量数据从用户设备传输到服务器再返回用户设备的应用程序和外围设备,例如 DVD 刻录机或 TV 调谐器。

在 XenApp 和 XenDesktop 中,托管的桌面会话使用 URL 重定向启动本地应用程序访问应用程序。借助 URL 重定向,可通过多个 URL 地址获得应用程序。通过选择桌面会话中浏览器内部的嵌入式链接,可以启动本地浏览器(根据浏览器的 URL 黑名单)。如果导航至未列入黑名单的 URL,则此 URL 会再次在桌面会话中打开。

URL 重定向仅适用于桌面会话,不适用于应用程序会话。唯一可用于应用程序会话的重定向功能是主机到客户端的内容重定向,它是服务器 FTA(文件类型关联)重定向的一种类型。此 FTA 可将某些协议(如 http、https、rtsp 或 mms)重定向到客户端。例如,如果仅使用 http 打开嵌入式链接,这些链接将直接在客户端应用程序中打开。不支持 URL 黑名单或白名单。

启用本地应用程序访问时,对于作为本地运行应用程序、用户托管应用程序中的链接或作为桌面上的快捷方式显示给用户的 URL,将通过以下方式之一进行重定向:

  • 从用户的计算机重定向到托管的桌面
  • 从 XenApp 或 XenDesktop 服务器重定向到用户计算机
  • 在启动(而非重定向)它们的环境中呈现

要指定特定 Web 站点中内容的重定向路径,请在 Virtual Delivery Agent 上配置 URL 白名单和 URL 黑名单。这些名单包含多字符串注册表项,用于指定 URL 重定向策略设置;有关详细信息,请参阅“本地应用程序访问策略设置”。

URL 可在 VDA 上呈现,但存在以下例外情况:

  • 地理/区域设置信息 — 需要区域设置信息的 Web 站点,如 msn.com 或 news.google.com(根据地理信息打开特定于某个国家/地区的页面)。例如,如果从位于英国的数据中心置备 VDA,而客户端从印度进行连接,则用户将看到 in.msn.com,而不是 uk.msn.com。
  • 多媒体内容 — 在客户端设备上呈现包含富媒体内容的 Web 站点时,最终用户将获得本地体验,甚至还可以节省高延迟网络中的带宽。虽然存在 Flash 重定向功能,作为一种补充,带有其他媒体类型(例如,Silverlight)的站点也可以实现重定向。这是一个非常安全的环境。也就是说,管理员批准的 URL 在客户端上运行,而其余 URL 将重定向到 VDA。

除 URL 重定向外,还可以使用 FTA 重定向。FTA 在会话中遇到文件时会启动本地应用程序。如果启动本地应用程序,则该应用程序必须具有此文件的访问权限才能将其打开。因此,只能使用本地应用程序打开位于网络共享或客户端驱动器(使用客户端驱动器映射)上的文件。例如,当打开 PDF 文件时,如果 PDF 阅读器是本地应用程序,则文件使用 PDF 阅读器打开。由于本地应用程序可以直接访问文件,因此,无需通过 ICA 网络传输文件,即可打开此文件。

要求、注意事项和限制

本地应用程序访问在面向 VDA for Windows Server OS 和 VDA for Windows Desktop OS 的有效操作系统中受支持,需要 Citrix Receiver for Windows 4.1(最低版本)。支持以下浏览器:

  • Internet Explorer 11。您可以使用 Internet Explorer 8、9 或 10,但 Microsoft 支持版本 11,而 Citrix 也建议使用版本 11。
  • Firefox 3.5 至 21.0
  • Chrome 10

使用本地应用程序访问和 URL 重定向时请阅读以下注意事项和限制。

  • 本地应用程序访问专用于覆盖所有显示器的全屏虚拟桌面,如下所示:
    • 如果本地应用程序访问与在窗口模式下运行或未覆盖所有显示器的虚拟桌面结合使用,用户体验可能会非常混乱。
    • 对于多个显示器,如果最大化其中一个显示器,则该显示器将成为在该会话中启动的所有应用程序的默认桌面,即使随后的应用程序通常在其他显示器中启动也是如此。
    • 此功能支持一个 VDA;不存在与多个并发 VDA 的集成。
  • 有些应用程序可能会出现异常行为,对用户产生以下影响:
    • 用户可能对驱动器盘符感到困惑,例如是本地 C:,而不是虚拟桌面 C: 驱动器。
    • 在虚拟桌面中可用的打印机对本地应用程序不可用。
    • 需要提升权限的应用程序不能作为客户端托管应用程序启动。
    • 不会对单实例应用程序(例如 Windows Media Player)进行特殊处理。
    • 本地应用程序随本地计算机的 Windows 主题出现。
    • 不支持全屏应用程序。包括可打开至全屏的应用程序,例如 PowerPoint 幻灯片演示或覆盖整个桌面的照片查看器。
    • 本地应用程序访问复制 VDA 上本地应用程序的属性,例如客户端桌面上的快捷方式和“开始”菜单;但是,不会复制其他属性,例如快捷键和只读属性。
    • 自定义如何处理重叠窗口顺序的应用程序可能会存在不可预测的结果。例如,有些窗口可能会隐藏。
    • 不支持快捷方式,包括我的电脑、回收站、控制面板、网络驱动器快捷方式以及文件夹快捷方式。
    • 不支持以下文件类型和文件:自定义文件类型、没有关联程序的文件、zip 文件和隐藏文件。
    • 不支持对混合的 32 位和 64 位客户端托管应用程序或 VDA 应用程序进行任务栏分组,例如将 64 位 VDA 应用程序和 32 位本地应用程序组合在一起。
    • 不能使用 COM 启动应用程序。例如,如果从 Office 应用程序中单击嵌入式 Office 文档,则检测不到进程启动,且本地应用程序集成失败。
  • 用户从一个虚拟桌面会话内部启动另一个虚拟桌面的双跳场景不受支持。
  • URL 重定向仅支持显式 URL(即,出现在浏览器的地址栏中或使用浏览器内的导航找到的 URL,具体取决于浏览器)。
  • URL 重定向仅适用于桌面会话,不适用于应用程序会话。
  • VDA 会话中的本地桌面文件夹不允许用户创建新文件。
  • 对于本地运行的应用程序的多个实例而言,其行为方式取决于为虚拟桌面建立的任务栏设置。但是,本地运行应用程序的快捷方式不与这些应用程序的运行实例一起分组,也不与托管应用程序的运行实例或托管应用程序的固定快捷方式一起分组。用户只能从任务栏关闭本地运行的应用程序的窗口。尽管用户可以将本地应用程序窗口固定在桌面任务栏和“开始”菜单中,但使用这些快捷方式时,不一定总是可以启动这些应用程序。

与 Windows 交互

本地应用程序访问与 Windows 的交互包括以下行为:

  • Windows 8 和 Windows Server 2012 快捷方式行为
    • 客户端上安装的 Windows 应用商店应用程序并不随本地应用程序访问快捷方式进行枚举。
    • 默认情况下,通常使用 Windows 应用商店应用程序打开图像和视频文件。但是,本地应用程序访问会枚举 Windows 应用商店应用程序,并使用桌面应用程序打开快捷方式。
  • 本地程序
    • 对于 Windows 7,可从开始菜单中访问此文件夹。
    • 对于 Windows 8,仅当用户从“开始”屏幕中选择所有应用程序类别时,本地程序才可用。并非所有子文件夹均显示在本地程序中。
  • 针对应用程序的 Windows 8 图形功能
    • 桌面应用程序限制在桌面区域内,并被“开始”屏幕和 Windows 8 风格应用程序所覆盖。
    • 在多显示器模式下,本地应用程序访问应用程序与桌面应用程序的行为有所不同。在多显示器模式下,“开始”屏幕和桌面显示在不同的显示器中。
  • Windows 8 和本地应用程序访问 URL 重定向
    • 由于 Windows 8 Internet Explorer 未启用任何加载项,因此使用桌面 Internet Explorer 启用 URL 重定向。
    • 在 Windows Server 2012 中,Internet Explorer 默认情况下禁用加载项。要实现 URL 重定向,禁用 Internet Explorer 增强的配置。重置 Internet Explorer 选项并重新启动,以确保为标准用户启用加载项。

配置本地应用程序访问和 URL 重定向

要将本地应用程序访问和 URL 重定向用于 Citrix Receiver,请执行以下操作:

  • 在本地客户端计算机上安装 Citrix Receiver。可以在 Citrix Receiver 安装期间启用这两项功能,或者使用组策略编辑器启用本地应用程序访问模板。
  • 允许本地应用程序访问策略设置为启用。也可以为 URL 重定向配置 URL 白名单和黑名单策略。有关详细信息,请参阅“本地应用程序访问策略设置”。

在 Citrix Receiver 安装期间启用本地应用程序访问和 URL 重定向

为所有本地应用程序启用本地应用程序访问和 URL 重定向:

  1. 允许本地应用程序访问策略设置为启用。启用此设置时,VDA 让客户端决定在会话中是否启用管理员发布的应用程序快捷方式和本地应用程序访问快捷方式。(禁用此设置时,管理员发布的应用程序快捷方式和本地应用程序访问快捷方式不适用于 VDA。)此策略设置适用于整台计算机,URL 重定向策略也是如此。

  2. 在安装 Citrix Receiver 期间为计算机上的所有用户启用本地应用程序访问和 URL 重定向。此操作还会注册 URL 重定向所需的浏览器加载项。在命令提示窗口中,使用以下选项运行相应的命令以安装 Receiver:

    CitrixReceiver.exe /ALLOW_CLIENTHOSTEDAPPSURL = 1

    CitrixReceiverWeb.exe /ALLOW_CLIENTHOSTEDAPPSURL=1

使用组策略编辑器启用本地应用程序访问模板

  1. 运行 gpedit.msc
  2. 选择计算机配置。在管理模板上单击鼠标右键,然后依次选择添加/删除模板 > 添加
  3. 添加位于 Citrix Receiver Configuration 文件夹中的 icaclient.adm 模板(通常位于 c:\Program Files (x86)\Citrix\Online Plugin\Configuration)。(将 icaclient.adm 模板添加到计算机配置中以后,在用户配置中也可以使用此模板。)
  4. 依次展开管理模板 > 经典管理模板(ADM) > Citrix 组件 > Citrix Receiver > 用户体验
  5. 选择本地应用程序访问设置
  6. 选择启用,然后选择允许 URL 重定向。对于 URL 重定向,按照如下所述使用命令行注册浏览器加载项。

仅提供对已发布应用程序的访问

仅提供对已发布应用程序的访问:

  1. 在安装 Delivery Controller 的服务器上,运行 regedit.exe
    1. 导航到 HKLM\Software\Wow6432Node\Citrix\DesktopStudio。
    2. 添加 REG_DWORD 条目 ClientHostedAppsEnabled,值为 1。(值为 0 表示禁用本地应用程序访问。)
  2. 依次重新启动 Delivery Controller 服务器和 Studio。
  3. 发布本地应用程序访问应用程序。
    1. 在 Studio 导航窗格中选择交付组,然后选择“应用程序”选项卡。
    2. 在“操作”窗格中选择创建本地访问应用程序
    3. 选择桌面交付组。
    4. 在用户的本地计算机上输入应用程序的完整可执行路径。
    5. 指出虚拟桌面上的本地应用程序快捷方式是否显示在“开始”菜单、桌面或二者上。
    6. 接受名称页面上的默认值,然后检查设置。
  4. 在安装 Citrix Receiver 期间为计算机上的所有用户启用本地应用程序访问和 URL 重定向。此操作还会注册 URL 重定向所需的浏览器加载项。在命令提示窗口中,使用以下选项运行命令以安装 Citrix Receiver: CitrixReceiver.exe /ALLOW_CLIENTHOSTEDAPPSURL=1 CitrixReceiverWeb.exe /ALLOW_CLIENTHOSTEDAPPSURL=1
  5. 允许本地应用程序访问策略设置为启用。启用此设置时,VDA 让客户端决定在会话中是否启用管理员发布的应用程序快捷方式和本地应用程序访问快捷方式。(禁用此设置时,管理员发布的应用程序快捷方式和本地应用程序访问快捷方式不适用于 VDA。)

注册浏览器加载项

注意

:使用 /ALLOW_CLIENTHOSTEDAPPSURL=1 选项从命令行安装 Citrix Receiver 时,会自动注册 URL 重定向所需的浏览器加载项。

可以使用以下命令注册和取消注册一个或所有加载项:

  • 在客户端设备上注册加载项:<客户端安装文件夹>\redirector.exe /reg<浏览器>
  • 在客户端设备上取消注册加载项:<客户端安装文件夹>\redirector.exe /unreg<浏览器>
  • 在 VDA 上注册加载项:<VDA 安装文件夹>\VDARedirector.exe /reg<浏览器>
  • 在 VDA 上取消注册加载项:<VDA 安装文件夹>\VDARedirector.exe /unreg<浏览器>

其中,<浏览器> 可以是 IE、FF、Chrome 或 All。

例如,以下命令在运行 Citrix Receiver 的设备上注册 Internet Explorer 加载项。

C:\Program Files\Citrix\ICA Client\redirector.exe/regIE

以下命令在 Windows Server OS VDA 上注册所有加载项。

C:\Program Files (x86)\Citrix\System32\VDARedirector.exe /regAll

浏览器间的 URL 拦截

  • 默认情况下,Internet Explorer 重定向所输入的 URL。如果 URL 未列入黑名单中,但是通过浏览器或 Web 站点重定向到其他 URL,则即使最终 URL 在黑名单中,也不会重定向此 URL。

    为使 URL 重定向正常运行,请在浏览器提示时启用加载项。如果禁用使用 Internet 选项的加载项或提示中的加载项,URL 重定向将无法正常运行。

  • Firefox 加载项始终重定向 URL。

    安装加载项时,Firefox 在新的选项卡页面上提示是否允许/阻止安装加载项。必须允许加载项,才能正常使用此功能。

  • Chrome 加载项始终重定向导航到的最终 URL,而非输入的 URL。

    已在外部安装扩展。如果禁用扩展,URL 重定向功能在 Chrome 中将无法正常使用。如果在隐身模式中需要 URL 重定向,请在浏览器设置中允许扩展在该模式下运行。

配置在注销和断开连接时本地应用程序的行为

  1. 在托管的桌面上,运行 regedit.msc
  2. 导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\Client Hosted Apps\Policies\Session State。对于 64 位系统,导航到 HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Citrix\Client Hosted Apps\Policies\Session State。
  3. 添加 REG_DWORD 条目 Terminate,并采用以下其中一个值:
    • 1 - 当用户从虚拟桌面注销或断开连接时,本地应用程序继续运行。一旦重新建立连接,如果本地应用程序在虚拟桌面中可用,将重新集成。
    • 3 - 当用户从虚拟桌面注销或断开连接时,本地应用程序关闭。