您的位置:首页 > 其它

客户端无法加载打印控件新问题

2009-02-23 11:59 543 查看
昨天突然碰到一个棘手的问题,所有用利用Reporting Service在客户端打印的功能都不可以用了,系统显示"Unable to load print control". 费了半天的劲,才找到原因,原来是微软在10月15号的更新惹的祸。当天很多用户都更新了KB956391,这个重要安全更新组织了Reporting Service的ActiveX控件在本地的运行。不过还好,不少老外也碰到同样的问题。看看这个论坛,很多人的后果比我更严重。

http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=4006172&SiteID=17

在卸载了这个更新KB956391的后,功能就恢复正常了。不过,这个也只能是临时措施,因为更新随时还是要打上去的。这个老外就尝试了一个不同的解决办法,就是把那个KB的Registry断掉,不过他本人也不认为这个是最终解决办法,这样的话系统的漏洞不久没法补了。看看:

http://www.technologystudio.net/blog/post/Microsoft-Update-KB956391-breaks-Reporting-Services-ReportViewer.aspx

不过,紧接着他又提供了一个Final 解决方案,更新SQL Server 2005 SP2,经过摸索发现安装以下更新(KB954607)在SQL Server 2005其作用了,用户在按打印按钮的时候,系统提示下载了一个新的ActiveX,名字叫"RSClientPrint 2005 Class"。这个东东不受KB956391影响。哈哈,看来世界上高手还是真多!心理暗自高兴;)
http://www.microsoft.com/downloads/details.aspx?familyid=5148B887-F323-4ADB-9721-61E1C0CFD213&displaylang=en

原以为问题就此解决了,可还没高兴多久,紧接着另一个又来了,我们的系统里面用到了ReportViewer,这个控件里面的打印按钮,没有用到上面新的ActiveX控件里面的客户端打印功能,错误依旧。这下可就麻烦了,难道为了微软的这个更新我要把相关的程序都改一遍吗?真是越来越郁闷!

还好,我同事又来了新的研究成果,我们的VS2008需要安装一个更新KB952241,安装后在VS2008的目录里面的ReportViewer子目录里面的文件版本就更新了。全变成了,9.0.30271.1,这样在本机调用这个功能OK了。所以,赶紧把它发布到服务器上去试试看。

可是服务器上面居然还是不行,好像VS2008的那个补丁,对服务器没有用。正在万般无奈之际,只好继续查找解决方案。功夫不负有心人,我们找到了下面这个东东,Microsoft Report Viewer Redistributable 2008 (KB952241),在安装过后,客户端可以通过ReportViewer控件在客户端进行打印了。
http://www.microsoft.com/downloads/details.aspx?familyid=CC96C246-61E5-4D9E-BB5F-416D75A1B9EF&displaylang=en

补充如下:
我的是VS2005,
首先SQL SERVER2005 SP2
其次Microsoft Report Viewer Redistributable 2005 Service Pack 1
http://www.microsoft.com/downloads/details.aspx?familyid=82833F27-081D-4B72-83EF-2836360A904D&displaylang=en
最后SQLServer2005-KB954606
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=4603c722-2468-4adb-b945-2ed0458b8f47
重启iis ok
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: