【问题标题】:Reporting services printing crashes IE报告服务打印崩溃 IE
【发布时间】:2013-03-11 03:09:26
【问题描述】:

我们已经使用 SSRS 2008 R2 一年多了,打印效果很好。由于 Windows 7 上的客户端浏览器升级到 IE10,当用户单击打印图标时,我们会遇到一些浏览器崩溃。故障模块是 rsclientprint64.dll

为了尝试解决这个问题,我手动将 dll 和相关文件复制到 C:\Windows\Downloaded Program Files 并使用 regsvr32 注册了 dll。 我注册了 rsclientprint64.dll 而不是 rsclientprint.dll,因为这是 ssrs 在我们的案例中下载的文件。我也尝试注册32位版本,但仍然没有成功。

我将报表服务器的 url 添加到受信任的站点并设置安全性以允许下载签名的 activex 控件。它确实会下载它们,但仍然会崩溃。

有人有其他想法吗?

【问题讨论】:

  • 我认为问题在于,当您使用 64 位浏览器时,会下载 rsclientprint64.dll,如果使用 32 位浏览器,则会下载 rsclientprint.dll。到目前为止,我们只能使用 32 位浏览器中的 32 位 dll 进行打印。我想让这个 dll 的 64 位版本与 ssrs 一起使用。我们正在运行 RTM 版本的 SQL,所以您认为安装 SP2 会解决这个问题吗?
  • OT 我知道,但我对遇到问题和阅读其他人在 32 位和 64 位上遇到的问题感到厌烦。微软把这个 IMO 搞得一团糟。

标签: internet-explorer reporting-services internet-explorer-10


【解决方案1】:

这是一个常见的 IE10 问题,在尝试从浏览器打印 PDF 文档时会影响 x32 和 x64 版本。

解决方法是打开 Adob​​e Reader 或 Acrobat(以您的默认设置为准),转到编辑 > 首选项 > Internet,然后取消选中“在浏览器中显示 PDF”。

Internet PDF 现在将默认在 Adob​​e 中打开,而不是搞砸的 IE10。

【讨论】:

    【解决方案2】:

    尝试以管理员身份运行 Internet Explorer 要么 将您的报表服务器 URL 添加到 Internet Explorer 受信任的站点。

    【讨论】:

      【解决方案3】:

      让我猜猜,您正在运行没有 SP2 的 SQL Server R2。我必须升级到 SQL Server 2008 R2 SERVICE PACK 2。

      您使用 R2/SP2 获得的 RsClientPrint 版本是 10.50.4000,而 我的 RTM 版本是 10.50.1600。

      要查看您拥有的 SQL Server 版本,请在 SSMS 中运行 Select @@version 作为查询。

      您可以在此处阅读更多内容。 ReportViewer's Print Button Incompatible with IE 10?

      【讨论】:

        【解决方案4】:

        解决IE11崩溃问题

        如果您从 2008 R2 “C:\Program Files (x86)\Microsoft SQL Server\MSRS10.GENERAL\Reporting Services\ReportServer\bin” 获取 RSClientPrint.cab 并将其解压缩到所需的客户端计算机。使用这些文件创建您自己的 bat 文件并运行它,或者将它们复制到您的“C:\windows\Downloaded Program Files”。

        将文件复制到“C:\windows\Downloaded Program Files”后,您需要注册 .dll:CMD 类型 - regsvr32 "c:\Windows\Downloaded Program Files\RSClientPrint.dll"

        问题1:“C:\windows\Downloaded Program Files”通常被锁定

        解决方案:在 CMD 类型中 - attrib "C:\windows\Downloaded Program Files" -S

        问题 2:注册 dll 文件时发现错误消息

        解决方法:以管理员身份运行 CMD

        本地运行的bat文件

         @echo off
        
            set srcpath= c:\pathname
        
            attrib "C:\windows\Downloaded Program Files" -S
        
            xcopy %srcpath%\*.* "c:\Windows\Downloaded Program Files" /Y
        
            regsvr32 "c:\Windows\Downloaded Program Files\RSClientPrint.dll"
        

        从服务器到客户端机器:

        @echo off
        
        
        attrib "C:\windows\Downloaded Program Files" -S
        
        robocopy "\\dc01\packages\rsclientprint" "c:\Windows\Downloaded Program Files"
        
        regsvr32 "c:\Windows\Downloaded Program Files\RSClientPrint.dll"
        

        【讨论】:

        • 请注意,使用 regsvr32 将从您指定的位置运行 dll(它不一定必须从“C:\Windows\Downloaded Program Files”运行)并且您需要“.rll”文件与“.dll”文件位于同一位置,否则您将收到类似“找不到资源”的错误。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多