这几天被一个问题所困扰,而且可称之为疑难杂症,今天得以解决,特此散分,并分享经验。
问题描述如下:
由于内部报表使用的是MS的Reporting Service进行报表打印服务,客户端第一次打印报表时需要下载一个名为
RSClientPrint.dll的控件,之前一直是好好的,只要有管理员的权限,在打印时IE就会提示安装该控件,成功安装后即可正常打印。
但。。。。。。,至从2009年10月15号之后就不是这么回事了,微软发布了一个所谓的
KB956391的补丁(这个万恶的根源啊,恨不得砸了微软)之后,Reporting Service的打印功能就不正常了,原先已安装控件的客户端都能正常打印,但那些没有安装打印控件的客户端就总是出错,
每次点打印按钮在IE的左小角都回提示js错误“对象不支持此属性和方法”,原先以为只是控件无法正常安装造成的(行,这难不倒我),于是我找到RSClientPrint.Cab的控件包,直接解压到c:\windows\system32下面,然后运行regsvr32 RSClientPrint.dll进行手动注册,系统提示注册成功,原本以为这下大功告成,结果一点打印按钮,错误依然“对象不支持此属性和方法”(那个郁闷,简直无法言语),直接上网搜索,发现有很多同胞都遇到过这样的问题,以下是搜索结果的引用:
第一种解决方案:
http://www.cnblogs.com/bingya/archive/2009/06/30/1514061.html
第二种解决方案:
http://topic.csdn.net/u/20090425/14/42953c4a-30c8-4200-9786-9f96fa9f2487.html
该试的都试遍,问题依然没有解决(那个郁闷涌上大脑,恨不得砸了电脑,还有微软,微软的补丁阻止微软的ActiveX控件进行安装),但这次搜索有了结果,就是把问题确定在那个所谓的KB956391补丁上面,于是乎按照以上方法卸载掉KB956391的补丁,还是不奏效(这下只能仰天长叹了),自己琢磨了一下,既然补丁出了问题,那就把那个安装上的补丁恢复回来不就可以了,说干就干,找啊找,终于在别的电脑上找到了那个KB956391补丁的备份,就在C:\WINDOWS\$NtUninstallKB956391$下的补丁备份文件夹里边,直接打开那个备份文件夹,研究了许久,于是乎冒着系统崩溃的危险(我不入地狱,谁入地狱啊!),运行了一下C:\WINDOWS\$NtUninstallKB956391$\spuninst\spuninst.exe里边唯一一个可执行文件,短暂的安装程序过后,抱着疑惑的心情,打开IE,进入报表页面,点击打印,倒。。。。。。还是出错(欲哭无泪啊),不对,想想每次补丁安装后都要重新启动,于是乎,嘻嘻,
重新启动一下电脑,怀着最后一丝希望,进入页面,点击打印(世界是多么的美好,空气多么清新),久违的ActiveX控件提示安装对话框终于出来了,点击安装,再点击打印,一切正常了,世界恢复清静了,奥特曼打倒小怪兽了。。。。。。(感动的泪流满面,稀哩哗啦的。。。)
至此,废话完毕,以上分享一下我解决这个疑难杂症的过程,顺便浮浮头,潜水太久,实在不好意思
顺便附上KB956391补丁的备份,以便那些找不到该补丁备份的兄弟:
http://download.csdn.net/source/1507639