利用这些信息对 Workspace ONE Access 中的 ThinApp 配置进行故障排除。

ThinApp 软件包无法从用户门户启动

当用户尝试从用户门户启动某个 ThinApp 软件包时,可能会显示浏览器消息,提示用户下载并安装 Workspace ONE Access Desktop 应用程序,即使当该应用程序已经安装并运行时也是如此。

问题

安装 Workspace ONE Access Desktop 应用程序之后,当用户在该 Windows 系统中使用浏览器打开用户门户、登录并尝试启动 ThinApp 软件包时,可能会显示一条消息,提示系统中必须安装 Workspace ONE Access Desktop 应用程序,同时会阻止 ThinApp 软件包启动。即使当 Workspace ONE Access Desktop 应用程序进程正在 Windows 系统中运行时,也可能显示此消息。Workspace ONE Access Desktop 应用程序可能报告所有文件均处于最新状态。

原因

此问题的出现有多种原因。

原因 描述
Workspace ONE Access Desktop 浏览器插件未正确安装,或者用户尝试启动 ThinApp 软件包时所在的浏览器窗口未激活该插件。

因为需要安装 Workspace ONE Access Desktop 应用程序才能在 Windows 系统中运行 ThinApp 软件包,所以在从用户门户启动 ThinApp 软件包之前,用户门户会使用浏览器插件来验证是否安装了该应用程序。当用户在用户门户中单击 ThinApp 软件包图标时,Workspace ONE Access Desktop 浏览器插件会在启动软件包之前,先检查应用程序是否已安装。如果浏览器中未安装并激活该浏览器插件,将无法进行验证并会显示提示消息,同时软件包也不会启动。

在安装 Workspace ONE Access Desktop 过程中,如果有浏览器窗口处于打开状态,该浏览器可能无法正确安装浏览器插件。如果用户在浏览器的加载项或插件页面中取消选择了该浏览器插件,该插件可能会在浏览器中停用。

用于从浏览器启动 ThinApp 软件包的自定义协议处理程序已对用户尝试启动 ThinApp 软件包时所用的浏览器停用。

在用户门户中,ThinApp 软件包是使用具有 horizon:// 协议的链接表示的。安装 Workspace ONE Access Desktop 应用程序后,安装程序将为此 horizon:// 协议注册一个协议处理程序。该协议处理程序是名为 HorizonThinAppLauncher.exe 的可执行文件,注册表项 HKEY_CLASSES_ROOT\horizon\shell\open\command 将其注册为处理程序。在用户尝试通过用户门户中的相应图标启动 ThinApp 软件包时,将启动该 HorizonThinAppLauncher.exe 应用程序。

如果用户已在浏览器中停用所有协议处理程序,或者停用 horizon:// 协议的处理程序,则无法使用用户门户中的相应图标启动 ThinApp 软件包。某些浏览器会在协议处理程序启动时显示警告,并为用户提供一个选择执行该协议处理程序的选项。用户可能已停用 horizon:// 协议处理程序的一种方式如下:用户首次单击某个 ThinApp 软件包图标时,浏览器警告对话框出现并请求允许运行协议处理程序,此时用户选择了或类似的选项来阻止启动,此外还选择了记住我的选择或类似的选项来阻止启动所有此类链接。由于不允许运行协议处理程序并记住了此选择,因此不会从用户门户中启动任何 ThinApp 软件包。

解决方案

  1. 验证用户是否已使用其用户帐户登录到 Workspace ONE Access 桌面应用程序。

    用户使用 Windows 系统托盘中的 Workspace ONE Access 图标登录客户端。

  2. 如果在系统中安装应用程序后不久便出现此问题,请关闭所有打开的浏览器窗口,再重新打开浏览器,登录到用户门户,然后尝试启动 ThinApp 软件包。
  3. 如果关闭打开的浏览器窗口并重新打开浏览器后此问题仍然存在,请验证浏览器插件是否显示在浏览器的插件列表中,以及是否处于活动状态。
    浏览器 描述
    Internet Explorer 对于 Internet Explorer,将注册一个 COM 服务器来代替浏览器插件或加载项。要测试是否安装了该 COM 服务器,请创建具有以下内容的 HTML 测试文件,并在 Internet Explorer 中打开该文件。通过结果可以判断 COM 服务器是否已安装。
    <html>
    <script type="text/vbscript">
    On Error Resume Next
    
    dim objName
    objName = "HorizonAgentFinder.HorizonFinder"
    dim obj
    Set obj = CreateObject(objName)
    
    document.write(objName & " is ")
    if IsEmpty(obj) then
       document.write("not installed")
     else
       document.write("installed")
    end if
    </script>
    </html>
    Firefox 单击工具 > 加载项,打开 Firefox 的加载项管理器。在“插件”页面中,验证 VMware Horizon Agent Finder 浏览器插件是否已列出,并将其设置为始终激活。
    Chrome 在浏览器设置中,验证 VMware Horizon Agent Finder 浏览器插件是否已列出,并将其设置为始终激活。
    适用于 Windows 的 Safari 在浏览器设置中,验证 VMware Horizon Agent Finder 浏览器插件是否已列出,并为 Safari 激活该插件。
  4. 验证注册表项 HKEY_CLASSES_ROOT\horizon\shell\open\command 是否存在,其值是否是指向名为 HorizonThinAppLauncher.exe 的所需协议处理程序位置(即 Workspace ONE Access Desktop 应用程序在 Windows 系统上的安装位置)的路径。

    如果该注册表项不存在,或者没有指向 Workspace ONE Access Desktop 应用程序的安装位置的值,请卸载该应用程序并重新进行安装。

  5. 如果该注册表项存在且其值指向 HorizonThinAppLauncher.exe 可执行文件的位置,请验证该可执行文件是否存在于此位置且是否尚未移动或删除。

    如果该注册表项不存在,或者没有指向 Workspace ONE Access Desktop 应用程序的安装位置的值,请卸载该应用程序并重新进行安装。

  6. 如果该注册表项存在且其值指向 HorizonThinAppLauncher.exe 可执行文件的位置,请确认以下信息:注册表项 HKEY_CLASSES_ROOT\horizon(Default) 值的“数据”值为 URL:horizon Protocol,并且 HKEY_CLASSES_ROOT\horizon 项存在 URL Protocol 值。

    如果 HKEY_CLASSES_ROOT\horizon 注册表项的 (Default) 值的“数据”值未设置为 URL:horizon Protocol,请更新“数据”值以将其设置为 URL:horizon Protocol。如果 HKEY_CLASSES_ROOT\horizon 项不存在 URL Protocol 值,您可以使用值名称 URL Protocol 创建它但不提供值数据。

  7. 确定用户是否对浏览器停用了 horizon:// 协议或者停用了浏览器中的所有协议处理程序,如果已停用,则根据组织的需要对浏览器启用协议处理程序。

    在大多数情况下,浏览器依靠注册表中的设置获取有关此 Windows 系统中协议处理程序的信息。对于某些浏览器,当用户单击与协议处理程序关联的链接时,将出现一个对话框提示,询问用户Do you want to allow this website to open a program on your computer?之类的问题或This link needs to be opened with an application或者需要启动外部应用程序来处理链接的类似语句。通常,该对话框为用户提供相应的选项,以选择不启动外部应用程序并针对此类型的所有链接记住该选择。重新启用与协议处理程序关联的应用程序的启动功能所需的步骤通常因浏览器类型而有所不同。有关如何为用户的浏览器类型启用协议处理程序的信息,请参阅该类型浏览器的文档。