阿泰的软件实用主义

水晶报表/BOE

博客园 首页 新随笔 联系 订阅 管理
  176 Posts :: 9 Stories :: 2046 Comments :: 38 Trackbacks

本文转自:如下地址(太长了,放在里面了). 原作者:轻舞飞扬



程序打包的时候,要把水晶报表的注册码也给打进去,还有一些必须的合并模块需要添加。

具体操作步骤:
 
(1)新建“安装和部署项目”-->“安装项目”
  
(2)选择项目类型(这里选“创建用于windows应用程序的安装程序”)-->下一步

(3)选择要包含的文件:
一是要部署的应用程序(包括项目主输出阿,内容文件阿,内嵌文件阿等等),
二是需要添加的合并模块(在该部署项目节点上点右键-->添加),主要是包括以下几个文件:
   Crystal_Database_Access2003.msm
   Crystal_Database_Access2003_enu.msm
   Crystal_Managed2003.msm
   Crystal_regwiz2003.msm
   VC_User_CRT71_RTL_X86_---.msm
   VC_User_STL71_RTL_X86_---.msm
   你可以在'C:\Program Files\Common Files\Merge Modules'文件夹下找到替换的合并模块。
  
  这些模块的具体功能如下:
  managed.msm、managed_chs.msm、(托管组件 MSM 处理所有托管组件的分发,其中包括Windows 窗体查看器、Web 窗体查看器和所有 Crystal Decisions 命名空间)
  database_access.msm、database_access_chs.msm、(对于使报表运行所需的所有其他文件,由数据库访问 MSM 处理其分发。其中包括数据库、导出和图表驱动程序。)
  regwiz.msm、(KeyCode MSM 处理 Crystal Decisions 密钥号码的安装)
  VC_CRT.msm、VC_STL.msm(这是vc的运行库,估计是Crystal Report或涉及到的某些程序是用vc写的,所以需要它--此处为某一网友观点)
  
(4)打开解决方案-->右键点击Crystal_regwiz2003.msm 的属性,在“MergeMouduleProperties”里的“License Key”填入:XXXXXX
(这个是你生成Crystal Report是用到的注册号的密码,不填不能编译)
  
(5)生成解决方案
--over--
  
刚开始使用水晶报表的朋友们基本上都是按照这个步骤来操作的。
但是,在程序执行的时候会出现一个异常:
 ************** 异常文本 **************
  System.TypeInitializationException: “CrystalDecisions.CrystalReports.Engine.ReportDocument”的类型初始值设定项引发异常。 ---> System.Runtime.InteropServices.COMException (0x80040154):
带有 CLSID {CF76A644-314B-404D-8D45-F08B51FF990B} 的 COM 对象无效或未注册。

解决这一问题的方法是,
首先到这里
http://support.businessobjects.com/downloads/merge_modules.asp#07下载
Merge Modules for Crystal Reports for Visual Studio .NET 2005 ,
然后把这个CrystalReportsRedist2005_x86.msm这个合并模块添加到部署项目中,编译,大功告成!

posted on 2008-02-20 14:57 阿泰 阅读(1306) 评论(13)  编辑 收藏 网摘 所属分类: CR部署

Feedback

#1楼  2008-03-14 09:14 tramp [未注册用户]
阿泰你好!
麻烦请你帮我以下问题:
1、水晶报表PULL模式和PUSH模式的区别?
2、Strongly-typed Report(强类型化)和Un-Typed Report(无类型化)的区别?
  回复  引用    

#2楼 [楼主] 2008-03-14 10:51 阿泰      
Pull和Push请参照我之前的文章
http://www.cnblogs.com/babyt/archive/2005/04/12/135849.html
第2个问题,
如果你问的是.Net的,很多教程上都有的,但是要说比较形象生动的,
我推荐你【仔细】看一下这篇文章
http://www.webwoo.net/bc/bencandy-17-10278-1.htm
  回复  引用  查看    

#3楼  2008-05-07 18:11 jimlee [未注册用户]
楼主你好,近日碰到一个问题,弄得我头都大了。我是用C#+水晶报表 进行开发的,其中水晶报表是单独安装的,近日我重装了一次系统,装完以后,又重装了VS2003 和Crystal Report ,当我再次打开项目进行调试的时候,竟然报错了,说是"查询引擎错误 + ..... +.rpt",不知道是因为什么原因,这样下去连开发都不行了,希望楼主解答!我都快被它弄疯了。。
  回复  引用    

#4楼 [楼主] 2008-05-07 18:23 阿泰      
@jimlee
不知道会不会是因为rpt文件的版本的问题
比如说你之前用了VS2003自带版本开发之类。

如果是单独版本的水晶报表,建议你重新安装一下。
首先保证VS自带的CR不被安装,如果已安装,修改一下VS的安装,去掉
然后再装独立版本的CR
装的时候不要选默认安装,选定制,然后把所有的组件都装上再看看。

2005下有时候也出现类似的问题,请看一下这篇
http://www.cnblogs.com/babyt/archive/2008/02/20/1075235.html
  回复  引用  查看    

#5楼  2008-05-07 18:48 jimlee [未注册用户]
回楼主,我之前用的VS2003安装了自带的CR,另外我又单独安装了CR,开发的时候我用的是单独版本的CR来做的报表,一切都很正常。可是系统重装过来以后就出了这个问题。
  回复  引用    

#6楼  2008-05-09 14:51 jimlee [未注册用户]
问题解决了,谢谢阿泰!
  回复  引用    

#7楼  2008-07-15 11:05 陈隆 [未注册用户]
泰哥` 又来麻烦你了` 呵呵 是关于水晶报表发布的问题的, 我用的是2005自带的CR 做好之后放到服务器上按照一般的 b/s程序 在IIS 里面创建 失败了 说 应用程序不可用` 后来自己又在服务器上装了CrystalReportsRedist2005_x86.msm 和 它的中文CRRedist2005_x86_chs 但是还是不能用 还是说 应用程序不可用 是什么原因呢?
  回复  引用    

#8楼  2008-08-15 13:43 力争 [未注册用户]
阿泰,你好 像你请教个问题,我用的是ASP.NET(C#) 2005(新建网站) + 水晶报表12 +SQL 2000开发的程序,但是打包时候按照你上边的流程发布,可是找不到那些合并模块的文件,添加合并模块时候出现的是:Microsoft_VC80_ATL_x86.msm,policy_8_0_Microsoft_VC80_ATL_x86.msm,policy_8_0_Microsoft_VC80_OpenMP_x86.msm,Microsoft_VC80_DebugCRT_x86.msm
这样的一些文件,水晶报表11以上的发布方式你那有么,还有就是非80端口默认发布方式,谢谢啊
  回复  引用    

#9楼 [楼主] 2008-08-15 16:52 阿泰      
@力争 (8楼)

CR2008我还没咋用过,msm可以在此处现在
https://smpdl.sap-ag.de/~sapidp/012002523100005985842008E/cr120_mm.zip
发布方式基本一样,仅对CR来说非80端口跟80端口没什么区别。
除非你用了BOE服务器

  回复  引用  查看    

#10楼  2008-08-20 11:17 力争 [未注册用户]
@阿泰
你好 谢谢啊 合并模块我之前发布了,安装后只能在默认站点下发布,2003下在其它站点指定路径也不行,水晶报表控件不显示,点击生成后页面有刷新但不变化,不显示报表,不知道是怎么回事啊
  回复  引用    

#11楼  2008-08-27 10:07 徐鸣 [未注册用户]
@阿泰
你好!我们公司以前用c#2003编写了一套软件,其中用了水晶报表。等我接手后我把原来的软件直接转换成c#2005进行修改。现在,修改好后进行安装部署。然后在别的机器上安装该程序,报表却不能打开,出现提示“System.IO.FileNotFoundException: Could not load file or assembly 'CrystalDecisions.Windows.Forms, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. 系统找不到指定的文件。"在C:\Program Files\Common Files\Merge Modules里面找不到你说的那些合并模块?
谢谢!

  回复  引用    

#12楼  2008-11-10 23:44 zhanybob [未注册用户]

我在自己机器上发布的水晶报表,能直接访问,但部署到生产环境就会出现“ 您请求的报表需要更多信息.”然后要输入数据库的口令。
我用的是啦模式,先做好的报表,然后用VS去调用,结果就出现了上述问题。
  回复  引用    

#13楼 [楼主] 2008-11-11 14:16 阿泰      
@zhanybob(12楼)
请参考下
http://www.cnblogs.com/babyt/archive/2008/10/09/1307346.html

  回复  引用  查看    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索


China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!

相关文章:

相关链接: