vs2005水晶报表打包部署

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

vs2005水晶报表打包部署

vs2005中的crystalReport客户端分发

C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports

CRRedist2005_x86.msi

在客户端运行上面的文件即可

1)新建“安装和部署项目”-->“安装项目”,确定后在我们的解决方案中多了个安装和部署的项目

2)右键点击刚建的安装项目-->添加--->项目输出-->从列表中选择主输出-->选择输出的项目

3)右键点击刚建的安装项目-->添加--->合并模块-->把我们下载到的10 net 部署的合并模块全部添加进去

4)注意有个CrystalReports10_NET_EmbeddedReporting.msm的模块,我们查看它的属性,把AV860-01CS00G-U7000NC填写到keycode属性值中,要不编译不通过的.

5)最后我们来编译生成我们项目的安装文件,setup.exe在客户端就可以安装正常使用了

下载合并模块

简体中文(cr10_net_merge_modules_chs.zip)

/communityCS/FilesAndUpdates/cr10_net_merge_modules_chs.zip.asp

cr10_net_merge_modules_chs.zip

解压后有四个合并模块分别为:

CrystalReports10_maps.msm ;

CrystalReports10_NET_EmbeddedReporting.msm;

CrystalReports10_NET_RemoteReporting.msm;

CrystalReports10_NET_WebServiceReporting.msm

前几天用VS2005做了个简单的医务系统的演示程序,B/S模式的,里面用到了水晶报表,说实话,这还是我第一次用水晶报表,看了看帮助就开始做,还算是顺利吧,以为是演示用,要求不太高.做完了就发布,然后就把程序给人家了,结果到了人家那水晶报表那块不能看!他说水晶报表发布的时候需要考几个库,VS发布的时候不能自己把dll文件打包放到里面去,我就把那两个文件(CRDesigner.dll,crvspackage.dll,放在VS安装目录的Crystal Reports文件夹里)给人家考了过去,结果还是不行,后来上网查说需要Crystal Reports 合并模块,从网上down了一个,做一个了安装程序把它装上了也行不通,没办法回来了。

今天参看以下帮助文件,说合并模块可以到/products/dev_zone/net/2005.asp去下载,地址是假的,转到msdn上了。我想合并模块可能不行了,我就开始找Crystal Reports for .NET Framework 2.0 Windows 安装程序,结果发现VS2005的安装目录里已经有这些东西了,Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages这个文件夹里有好多东西,不光是水晶报表,还有框架,中文包,MDAC2.8以前不知道部署的时候还得从网上down这些东西,现在不用了!

从CrystalReports里把水晶报表装上就可以了!CRRedist2005_x86.msi/CRREdist2005_x86_chs.msi 这两个文件在MSDN里也有描述,下面是摘自MSDN

"如果添加的合并模块多于方案中指定的数目,可能会引起部署问题。将合并模块文件保存在计算机上的C:\Program Files\Common Files\Merge Modules "

2005需要的合并模块式CrystalReportsRedist2005_X86.msm这个文件夹里没有!

还好问题解决了!

2008

-------------------------------

在安装有vs2008的电脑中,找到以下文件夹:

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5。

将该文件夹下的CRRedist2008_x86.msi,安装到在要部署的机器上即可。

这次Crystal Reports 2008在界面上做了很大的改动,有点OFFICE的感觉,对于普通用户,使用起来也会觉得很贴切。我最看重其中的一项改进:实现了对图片文件的动态加载。不过这在MS的ACCESS中是早已实现了的,就这一点而言,CR算是落后了。

以前在使用VS和CR9或VS自带的CR时,部署是比较麻烦的,有好几个模块都需要添加,并且还要对他的合并模块文件进行注册。而现在CR2008则发布了可分发的报表运行库CRRuntime_12_0_mlb.msi,如同.NET的框架一样,在目标计算机上提前安装即可保证程序的运行。同时,也发布了合并模块CRRuntime_12_0.msm(及相应语言包CRRuntime_12_0_zh_CN.msm)。

以合并模块的方式在对项目进行打包时,VS的安装项目会自动检测到许多依赖项——CR的DLL文件(不知VS2005或VS2008中是否也会检测到这些依赖项),此时,将这些DLL文件全部排除在外,然后添加合并模块文件,再进行打包(如果只将这些自动检测出的依赖项打包,不添加合并模块,程序在目标计算机上运行时会无法加载CR)。不过,最终的安装包会很大,在测试中,我仅用了一个最简单的窗体,加载一个只有一个静态文件框的报表,以合并模块的方式打包,打包花了几分钟的时间,最终的包有四十多兆。其实CRRuntime_12_0.msm文件本身就有四十多兆,为了保证你的程序能正常运行,这个MSM不管你需要不需要,全给你包进去了。在目标计算机上对程序进行安装测试时,出现了某个文件无法注册的情况,我选择了忽略,继续安装,直至完成。最后运行程序,加载报表,都非常正常。

当然,直接安装可分发的运行库可能是最好的,但对于用户来说,为了使用一个程序,要自己先安装.NET框架和CR的运行库,是比较麻烦的,所以当采用合并模块打包的方式简化用户的安装过程。

注:普通个人用户已经无法在官网上下载到以上提及的部署相关的文件了。除非你是企业用户,并有Business Objects 提供的服务。

项目做完了,要打包安装,打包的的过程很简单,按照VS2008安装向导一步步来就行了。完成后运行安装程序,发现报表模块不正常,显示许可证号非法或水晶报表运行期错误,下面就一步步来解决这个问题。

首先,确保在制作安装向导中选择了必须组件中的Framework(是不同版本自己定),然后选择了水晶报表依赖组件,也就是那个Crystal report vb for ……;

然后,最重要的一步就是找到水晶报表安装部署的合并模块,把它们增加到安装项目中:

对于Crystal Reports for Visual Studio .NET 2003 的,可以在C:\Program Files\Common Files\Merge Modules 中找到

Crystal_Database_Access2003.msm

Crystal_Database_Access2003_chs.msm

Crystal_Managed2003.msm

Crystal_Managed2003_chs.msm

Crystal_regwiz2003.msm

VC_User_CRT71_RTL_X86_---.msm

VC_User_STL71_RTL_X86_---.msm

在解决方案资源管理器中,右击安装项目,指向“添加”,然后单击“合并模块”。

在“添加模块”对话框中,选择上面的7个要添加到安装项目的合并模块,右键点击Crystal_regwiz2003.msm 的属性,在“MergeM ouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(水晶报表的序列号)。

可是对于Crystal report 2008却没有这样的文件夹,只能去官网上下载(本人今天倒霉,死活没有在官网上找到,google中搜到的链接都转向一个sap产品的网页),最后在快照中找到个链接,居然让我给下下来了,Crystal report 2008的合并模块为cr12 0_merge_modules.zip,其中有所需文件和语言包。

解压后把其中后缀名为msm的文件按照上述方法都加入到安装项目中,然后单击CRRuntime_12_0,在属性列表框中有个类似property的(第一个)属性,里面有KeyCode(好像是,最后一个),输入序列号,生成安装项目,然后安装,运行,发现报表都能用了吧?祝大家顺利!

水晶报表2008合并模块下载:/support/communitycs/FilesAndUpdates/cr12 0_merge_modules.zip?recDnlReq=Record&dnlPath=cr120_merge_modules.zip

相关文档
最新文档