| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    想学好编程,学好外语很重要  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 应用开发 >> VB.NET >> 报表处理 >> 文章正文
Dotnet环境下的crystal report的部署           ★★★ 【字体:
Dotnet环境下的crystal report的部署
作者:-    文章来源:-    点击数:    更新时间:2007-1-25

安装Crystal Report 9 Advanced Edtion 中文版后,在vs.netMSDN中多了个Crystal Report 9文件夹,明显就是Crystal Report 9 Advanced Edtion 中文版带的帮助文档了。在其中找到了部署包含 Crystal Reports Windows 应用程序这个主题,这里给出的如何部署Crystal Reports Windows 应用程序说明跟vs.net本身带的crystal的部署说明基本一致,就是多了一点如果您部署的 Windows 应用程序使用 ADO.NET 数据集,则还需要包括 VC_CRT VC_STL 合并模块。这个说明,其实我的程序里就用了ADO.NET 数据集,就必须把VC_CRT VC_STL 合并模块打包进MSI,按照说明一步步的重新生成了一个MSI安装文件,安装到三台目标机器。

安装完毕,运行程序,显示报表又出问题了,报错:

 

load crpe32.dll failed

 

查遍了Crystal Report 9 Advanced Edtion 中文版的随机文档,帮助文件都查不出问题所在,无奈之下到crystal的官方网站support.crystaldecisions.com去查找有没有问题的答案,在上面找到关于Crystal Report 9的升级文档“Merge Modules for Simplified Chinese Crystal Reports 9 and .NET”的一个文件名为cr9netmergemodules_chs.zip的文件,是部署Crystal Report 9的合并包,加压这个文件,看其中的readme.txt文件,按其中的说明下载了这个合并包的详细说明文档cr9net_deployment.pdf

真是不看不知道,一看气死人。原来Crystal Report 9的部署跟随机的帮助文档说的完全不同,随机带的那个文档应该适用于Crystal Report for .net版本的,对Crystal Report 9的部署根本就不适用。

下面是cr9net_deployment.pdf说明中的部署Crystal Report 9的步骤:

  1. 打开 Windows 应用程序。
  2. 在解决方案资源管理器中,右击 Windows 应用程序解决方案,指向添加,然后单击新建项目
  3. 添加新项目对话框中,选择项目类型窗格中的安装和部署项目,然后选择模板窗格中的安装项目。单击确定按钮。
  4. 在解决方案资源管理中,右击安装项目,指向添加,然后单击项目输出
  5. 添加项目输出组中,选择主输出,然后单击确定

将自动添加所有依赖项,如 dotnetfxredist_x86_enu.msmdotnetcrystalreports.msm

  1. 需要将dotnetcrystalreports.msm排除在项目之外,在解决方案资源管理器中右击这个模块的右键,选择排除
  2. 在解决方案资源管理器中,右击安装项目,指向添加,然后单击合并模块
  3. 添加模块对话框中,选择下列要添加到安装项目的合并模块,然后单击打开
    • reportengine.msm,
    • crnetruntime.msm
    • license.msm
    • mapping.msm (可选,当在报表中使用了geographic maps时)
    • VC_CRT.msmVC_STL.msm 如果您部署的 Windows 应用程序使用 ADO.NET 数据集,则还需要包括 VC_CRT VC_STL 合并模块)
  4. 在解决方案资源管理器中,右击 license.msm 文件,然后选择属性
  5. 属性窗口中,展开 MergeModuleProperties,然后在许可证密钥属性框中输入一个有效的许可证密钥。
  6. 注意   每当部署 Crystal Reports 应用程序时,必须提供许可证密钥。
  7. 生成菜单中,选择生成解决方案以生成应用程序

OK,这回生成的MSI再到三个目标机器上安装后,结果如下:

1.      Win xp 的机器一切正常,显示,导出,导出的word文档都正常。

2.      Win2000的机器,还是那样,报表显示正常,可是一旦点击了报表显示器中的导出图标,整个程序就死掉了,在任务管理器显示未响应,只能强行关掉。

3.      win98第二版的机器,报表显示正常,但是一旦点击了报表显示器中的导出图标,出现一下错误:

文件内c:\windows\temp\temp_3bbd1e66-a59b-4001-a8e4-3ebfd436ab2d.rpt出错无效导出dll或导出格式。”

到此的结果就是这样,我不知道为什么在Win2000的机器两个版本的导出都会造成程序死掉(实际上我安装了两台win2000的机器,结果都是这样),也不知道为什么在win98第二版上面,crystal for .net的版本就一切正常,而Crystal Report 9版本就会在导出时出错。有哪位知道的请一定要告诉我,我的QQ362682emailchnking@163.net

文章录入:fengyun    责任编辑:fengyun 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • 在 Visual Studio .NET中使用…

  • 在 Visual Studio .NET中使用…

  • 老问题 load crpe32.dll fai…

  • vb.net发布水晶报表程序

  • CrystalReports 登录失败

  • 在web上用js实现水晶报表的打…

  • vb.net 水晶报表

  • 用.NET调用oracle的存储过程…

  • 如何向水晶报表数据源中的存…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |