Crystal Reports导出时出现“Invalid export DLL or export format”(无效导出DLL或导出格式)错误

  • 问题概述:
采用Crystal Reports 2008 .Net SDK开发的.Net应用中,选择导出Excel或者RTF格式文件时出现“Invalid export DLL or export format”错误。
  • 问题具体描述:
  1. .Net应用中使用Crystal Reports 2008运行时(version 12.0)
  2. 导出Crystal Report到Excel或者RTF格式,出现“Invalid export DLL or export format”(无效导出DLL或导出格式)错误;
  3. 导出其他格式如Adobe PDF,Crystal Reports,doc或csv格式时没有错误;
  • 问题原因:
  1. .Net应用程序无法加载Crystal Reports运行时DLL,请将Crystal Reports安装路径下的动态链接库目录加入系统环境变量的path,如安装在C盘Program Files 下,就将“C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\win32_x86”,加入path变量最后。
  2. 如果上述方法无法解决,则与libpng10.dll版本有关,Crystal Reports版本SP0和SP1中的libpng10.dll的版本有更改,在SP0中版本为1.0.30.0,SP1中版本为1.0.30.1,请确保应用程序中加载的libpng10.dll版本与Crystal Reports运行时版本相同。应用程序加载DLL按照以下顺序:
a)应用加载的目录;
b)system目录;
c)16位系统目录;
d)Windows目录;
e)当前目录;
f)PATH变量中列出的目录;
                    依此检查以上目录,找出是否有libpng10.dll,并确保版本的一致性。
 
  • 一种问题的可能情况:
开发环境和运行环境的Crystal Reports版本不一致,并且在开发的应用中包含了libpng10.dll。
 
libpng10.dll依赖关系
Version 1.0.30.0
- zlib.dll
- msvcr71.dll
- kernel32.dll
 
Version 1.0.30.1
- boezlib.dll
- msvcr80.dll
- kernel32.dll
主要不同是对zlib.dll和boezlib.dll的引用。
 
  • 分析工具介绍:
Procmon Monitor是一款高级的Windows系统和应用程序监视工具,由优秀的 Sysinternals开发,并且目前已并入微软旗下,具有很高的可靠性。
Process Monitor 不仅结合了 Filemon(文件监视器) 和 Regmon(注册表监视器) 两个工具的功能,还具有以下一些增强:
  • 监视进程和线程的启动和退出,包括退出状态代码
  • 监视映像 (DLL 和内核模式驱动程序) 加载
  • 捕获更多输入输出参数操作
  • 非破坏性的过滤器允许你自行定义而不会丢失任何捕获的数据
  • 捕获每一个线程操作的堆栈,使得可以在许多情况下识别一个操作的根源
  • 可靠捕获进程详细信息,包括映像路径、命令行、完整性、用户和会话ID等等
  • 完全可以自定义任何事件的属性列
  • 过滤器可以设置为任何数据条件,包括未在当前视图中显示的
  • 高级的日志机制,可记录上千万的事件,数GB的日志数据
  • 进程树工具显示所有进程的关系
  • 原生的日志格式,可将所有数据信息保存,让另一个 Process Monitor 实例加载
  • 进程悬停提示,可方便的查看进程信息
  • 详细的悬停提示信息让你方便的查看列中不能完整显示的信息
  • 搜索可取消
        • 系统引导时记录所有操作
       在本次问题的分析中,利用该工具,有效分析出了应用中加载的动态链接库的情况,定位了问题所在。
 
  • 参考资料:
http://scn.sap.com/thread/1065075
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值