本地应用程序访问和 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 Workspace 应用程序,请执行以下操作:
- 在本地客户端计算机上安装 Citrix Workspace 应用程序。可以在 Citrix Workspace 应用程序安装期间启用这两项功能,也可以使用组策略编辑器启用本地应用程序访问模板。
- 将允许本地应用程序访问策略设置为启用。还可以为 URL 重定向配置 URL 允许列表和阻止列表策略设置。有关详细信息,请参阅本地应用程序访问策略设置。
启用本地应用程序访问和 URL 重定向
要为所有本地应用程序启用本地应用程序访问,请执行以下步骤:
- 启动 Citrix Studio。
- 对于本地部署,请从开始菜单中打开Citrix Studio。
- 对于云服务部署,请转到Citrix Cloud > Virtual Apps and Desktops 服务 > 管理选项卡。
- 在 Studio 导航窗格中,单击策略。
- 在“操作”窗格中,单击创建策略。
- 在“创建策略”窗口中,在搜索框中键入“允许本地应用程序访问”,然后单击选择。
- 在“编辑设置”窗口中,选择允许。默认情况下,禁止允许本地应用程序访问策略。允许此设置时,VDA 允许最终用户决定是否在会话中启用已发布的应用程序和本地应用程序访问的快捷方式。(禁用此设置时,已发布的应用程序和本地应用程序访问的快捷方式不适用于 VDA。)此策略设置适用于整台计算机,URL 重定向策略也是如此。
- 在“创建策略”窗口中,在搜索框中键入“URL 重定向白名单”,然后单击选择。URL 重定向允许列表指定要在远程会话的默认浏览器中打开的 URL。
- 在“编辑设置”窗口中,单击添加以添加 URL,然后单击确定。
- 在“创建策略”窗口中,在搜索框中键入“URL 重定向黑名单”,然后单击选择。URL 重定向阻止列表指定重定向到端点上运行的默认浏览器的 URL。
- 在“编辑设置”窗口中,单击添加以添加 URL,然后单击确定。
- 在“设置”页面上,单击下一步。
- 在“用户和计算机”页面上,将策略分配给适用的交付组,然后单击下一步。
- 在“摘要”页面上,查看设置,然后单击完成。
要在 Citrix Workspace 应用程序安装过程中为所有本地应用程序启用 URL 重定向,请按以下步骤进行操作:
- 在安装 Citrix Workspace 应用程序时为计算机上的所有用户启用 URL 重定向。这样还会注册 URL 重定向所需的浏览器加载项。
- 在命令提示窗口中,使用以下选项之一运行相应的命令以安装 Citrix Workspace 应用程序:
- 对于 CitrixReceiver.exe,请使用
/ALLOW_CLIENTHOSTEDAPPSURL=1
。 - 对于 CitrixReceiverWeb.exe,请使用
/ALLOW_CLIENTHOSTEDAPPSURL=1
。
- 对于 CitrixReceiver.exe,请使用
使用组策略编辑器启用本地应用程序访问模板
注意:
- 在使用组策略编辑器启用本地应用程序访问模板之前,请将 receiver.admx/adml 模板文件添加到本地 GPO 中。有关详细信息,请参阅配置组策略对象管理模板。
- 仅当您将 CitrixBase.admx/CitrixBase.adml 添加到 %systemroot%\policyDefinitions 文件夹时,管理模板 > Citrix 组件 > Citrix Workspace文件夹中的本地 GPO 中才会有适用于 Windows 的 Citrix Workspace 应用程序模板文件。
要使用组策略编辑器启用本地应用程序访问模板,请执行以下步骤:
- 运行gpedit.msc。
- 转至计算机配置 > 管理模板 > 经典管理模板(ADM) > Citrix 组件 > Citrix Workspace > 用户体验。
- 单击本地应用程序访问设置。
- 选择启用,然后选择允许 URL 重定向。对于 URL 重定向,请使用本文结尾的注册浏览器加载项部分中所述的命令行注册浏览器加载项。
仅提供对已发布应用程序的访问
可以使用以下两种方式之一提供对已发布的应用程序的访问:
关闭注册表编辑器。
- 在安装了 Citrix Studio 的服务器上,运行 regedit.exe。
- 导航到
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\DesktopStudio
。 - 添加 REG_DWORD 条目
ClientHostedAppsEnabled
和值 1。(值为 0 表示禁用本地应用程序访问。)
使用 PowerShell SDK。
- 在运行 Delivery Controller 的计算机上打开 PowerShell。
- 输入以下命令:
set-configsitemetadata -name "studio_clientHostedAppsEnabled" -value "true"
。
要在云服务部署中访问添加本地应用程序访问应用程序,请使用 Citrix Virtual Apps and Desktops 远程 PowerShell SDK。有关详细信息,请参阅Citrix Virtual Apps and Desktops 远程 PowerShell SDK。
下载安装程序:
运行以下命令:
asnp citrix.*
Get-XdAuthentication
输入以下命令:
set-configsitemetadata -name “studio_clientHostedAppsEnabled” -value “true”
。
完成上述适用的步骤后,请按照以下步骤继续操作。
- 从开始菜单中打开Citrix Studio。
- 在 Studio 导航窗格中,单击应用程序。
- 在中上部的窗格中,右键单击空白区域,然后从上下文菜单中选择添加本地应用程序访问应用程序。还可以单击“操作”窗格中的添加本地应用程序访问应用程序。要在“操作”窗格中显示“添加本地应用程序访问应用程序”选项,请单击刷新。
发布本地应用程序访问应用程序。
此时将启动“添加应用程序”向导,并打开一个“简介”页面,您可以在将来启动此向导时不再显示该页面。
该向导将引导您访问“组”、“位置”、“标识”、“应用程序”和“摘要”页面,如下所述。完成每个页面之后,请单击下一步,直到到达“摘要”页面为止。
在“组”页面上,选择一个或多个要添加新应用程序的交付组,然后单击下一步。
在“位置”页面上,键入用户的本地计算机上的应用程序的完整可执行文件路径,然后键入应用程序所在的文件夹的路径。Citrix 建议您使用系统环境变量路径;例如,%ProgramFiles(x86)%\Internet Explorer\iexplore.exe。
在“标识”页面上,接受默认值或键入所需的信息,然后单击下一步。
在“交付”页面上,配置通过何种方式将此应用程序交付给用户,然后单击下一步。可以为所选应用程序指定图标。还可以指定虚拟桌面上的本地应用程序的快捷方式是否显示在“开始”菜单、桌面或二者上。
在“摘要”页面上,查看设置,然后单击完成以退出本地应用程序访问向导。
注册浏览器加载项
注意:
使用 /ALLOW_CLIENTHOSTEDAPPSURL=1 选项从命令行安装 Citrix Workspace 应用程序时,会自动注册 URL 重定向所需的浏览器加载项。
可以使用以下命令注册和取消注册一个或所有加载项:
- 在客户端设备上注册加载项:<客户端安装文件夹>\redirector.exe /reg<浏览器>
- 在客户端设备上取消注册加载项:<客户端安装文件夹>\redirector.exe /unreg<浏览器>
- 在 VDA 上注册加载项:<VDA 安装文件夹>\VDARedirector.exe /reg<浏览器>
- 在 VDA 上取消注册加载项:<VDA 安装文件夹>\VDARedirector.exe /unreg<浏览器>
其中,<browser> 为 Internet Explorer、Firefox、Chrome 或“全部”。
例如,以下命令在运行 Citrix Workspace 应用程序的设备上注册 Internet Explorer 加载项。
C:\Program Files\Citrix\ICA Client\redirector.exe/regIE
以下命令在 Windows 多会话操作系统 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 重定向,请在浏览器设置中允许扩展在该模式下运行。
配置在注销和断开连接时本地应用程序的行为
注意:
如果未执行以下步骤来配置这些设置,则默认情况下,当用户从虚拟桌面注销或断开连接时,本地应用程序将继续运行。重新连接后,如果本地应用程序在虚拟桌面中可用,则将重新集成。
- 在托管的桌面上,运行regedit.msc。
导航到
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\Client Hosted Apps\Policies\Session State
。对于 64 位系统,请导航到
HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Citrix\Client Hosted Apps\Policies\Session State
。- 添加 REG_DWORD 条目Terminate,并采用以下其中一个值:
- 1 - 当用户从虚拟桌面注销或断开连接时,本地应用程序继续运行。一旦重新建立连接,如果本地应用程序在虚拟桌面中可用,将重新集成。
- 3 - 当用户从虚拟桌面注销或断开连接时,本地应用程序关闭。