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