VS2008 水晶报表 打印对话框无法下载问题的解决办法(转)

我在公司(公司的机器是有连入互联网的)编好水晶报表代码,用的是ActiveX模式,在本机运行,第一次运行提示安装ActiveX控件,安装后,一切正常,能正常打印. 

但拿到客户那边运行,一闪而过,连提示安装ActiveX控件也没有,再点"打印图标"也是没反应.后来想想区别,也就是一个上互联网,一个不上,但代码在公司所有的机器运行都正常. 
为了验证区别,细心研究了公司里的机器,ActiveX控件到底产生了什么文件,而且是放在那,后来发现,在C分区的WINDOWS文件夹里的"Downloaded Program Files"存放着两个文件.就是"PrintControl.inf"和"PrintControl.dll".当我删了它们,运行报表,立刻提示我再安装ActiveX控件,我安装后,又能正常使用.而且"PrintControl.inf"和"PrintControl.dll".重新安装在里边.由此得知,这两个文件是控制我的报表打印的, 
为了还原客户的故障,我先将这两个文件删除,再拔下网线.得到的结果,就跟客户那边一样. 
问题的症结是找到了,但怎么解决,客户那边是无论如何也不能上网的。

解决方法是: 
1.先下载"PrintControl.cab" 
http://support.businessobjects.com/CRforVS2005/PrintControl.cab。 
2.然后配置好IIS. 
3.然后在IIS默认根目录下建一个文件夹.如:TEMP 
4.把"PrintControl.cab"放到"TEMP"里边去. 
5.然后到"C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/ASP.NETClientFiles/CrystalReportWebFormViewer4/html"这个地址里找到一个叫"crystalprinthost.html"文件. 
6.用记事本打开这个文件,找到"objectTag += window.dialogArguments.codebase;"然后将它注释掉. 
改为objectTag += "http://本机IP地址/temp/PrintControl.cab";最后保存. 
那么问题就会解决了!记得测试时,拔了网线,以验证成功.

 写一个html文件,自动安装ActiveX控件,这样报表就可以在本地打印了

把"PrintControl.cab"放到"TEMP"里边去.设置一下IIS

<html>
<object id="CrystalPrintControl" classid="CLSID:83A3D1E4-ADC6-434D-9B61-B8CBA6183441"
    codebase="http://127.0.01/temp/PrintControl.cab" version="10,5,1,2285"
    viewastext>
</object>
</html>

http://topic.csdn.net/u/20091103/15/a6cef2fc-922c-4831-83f9-085a41f69871.html
http://blog.csdn.net/jirigala/archive/2009/11/11/4800524.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值