一组用户已获得对 SQL Server 2008 R2 报告服务实例的访问权限。由于一项政策,用户只能通过远程桌面实例访问服务。我们已将远程应用程序链接分发到 Internet Explorer 调用内部http://reporting/Reports
URL,该 URL 正在运行。用户可以使用 Reporting Server 功能,但他们无法通过点击相应的按钮来启动Report Builder :
Report Builder作为ClickOnce 应用程序提供,单击按钮似乎会导致加载引用 ( http://reporting/ReportServer/ReportBuilder/ReportBuilder_3_0_0_0.application
),但应用程序未启动。如果相同的用户登录到完整的远程桌面会话并在 Internet Explorer 中调用相同的 URI,则报表生成器可以正常启动。
问题是 ClickOnce 应用程序似乎需要Windows Explorer 作为 shell 运行。
作为一种快速解决方法,RemoteApp 定义可能只是调用
%SYSTEMROOT%\explorer.exe
而不是iexplore.exe
可执行文件。将 URI 作为参数提供给explorer.exe
调用将设置以 explorer.exe 作为 shell 的 RemoteApp 会话,并使用随后提供的 URI 运行默认浏览器 (IE):因此,Reporting Services ClickOnce 启动应该会成功。
作为替代方案,可以将Reporting Services 报表生成器的独立可执行文件安装在远程桌面会话主机上,并作为单独的远程应用程序部署给用户。