博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
crystal的部署步骤
阅读量:2125 次
发布时间:2019-04-30

本文共 2280 字,大约阅读时间需要 7 分钟。

有水晶报表的应用程序在部署安装时需要做一些特别的处理处理方法为:msdn资料

ms-help://MS.MSDNQTR.2003FEB.2052/crystlmn/html/crconreportdeploymentscenarios.htm
论坛上一些前辈的做法:
1、注册码
注册号: 6707437608
密码: AAP5GKS0000GDE100DS

2、分发到win98、win2K、winXP机器上:

原理:
用 Microsoft Installer (MSI)在您的安装包中包括的合并模块 (MSM) 分发。
MSI 合并模块(MSM)可在“C:\Program Files\Common Files\Merge Modules”目录中找到。
合并模块(MSM)分为三类:托管组件、数据库访问和密钥号码。
托管组件 MSM 处理所有托管组件的分发,其中包括 Windows 窗体查看器、Web 窗体查看器和所有 Crystal Decisions 命名空间。对于使报表运行所需的所有其他文件,由数据库访问 MSM 处理其分发。其中包括数据库、导出和图表驱动程序。KeyCode MSM 处理 Crystal Decisions 密钥号码的安装,这样您的用户在查看报表时,就不会被要求注册他们的 Crystal版本。

 

具体操作步骤:

1)新建“安装和部署项目”-->“安装向导”
2)选择项目类型(这里选“创建用于windows应用程序的安装程序”)-->下一步
3)选择要包含的文件:添加你的程序文件 + C:\Program Files\Common Files\Merge Modules下的managed.msm、managed_chs.msm、database_access.msm、database_access_chs.msm、regwiz.msm、VC_CRT.msm、VC_STL.msm。-->完成

具体功能如下:

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(这个在msdn上绝对没提起,是vc的运行库,估计是Crystal Report或涉及到的某些程序是用vc写的,所以需要它!)

4)打开解决方案-->右键点击regwiz.msm的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(这个是你生成Crystal Report是用到的注册号的密码!)

5)生成解决方案(或直接按Ctrl+Shift+B)

至此CrystalReport的整个分发程序已经做好,所要做的是先在Win98装上dotNetFramework和MDAC27(在更新盘里有),再把刚才做的那个安装程序双击一下……

如果没有意外的话,你的程序在windows平台上已经可以运行了,下面对大家平常做Crystal Report时会碰到的一些问题做一下总结:

1、什么是拉和推模型
答:简单的说拉就是直接从数据库中提取记录(静态),推则是用ADO.NET、ADO、DAO、CDO、RDO……等动态地从数据库中提取记录。
2、license key是几位数的?
答:len("AAP5GKS0000GDE100DS")
3、分发到客户机时“查询引擎出错”
答:那是因为没有安装VC的运行库:VC_CRT.msm、VC_STL.msm
4、如何动态生成报表
答:献上代码一段,希望对大家有帮助。
  private void btnPreview_Click(object sender, System.EventArgs e)
  {   
   CrystalReport crpt = new CrystalReport();
   crpt.SetDataSource(DataSet);
   //
   //开始生成打印预览窗体
   //   
   Form rptForm = new Form();
   rptForm.Text = "预览";
   rptForm.FormBorderStyle = FormBorderStyle.FixedToolWindow;
   rptForm.WindowState = System.Windows.Forms.FormWindowState.Maximized;
   CrystalDecisions.Windows.Forms.CrystalReportViewer rptView = new CrystalDecisions.Windows.Forms.CrystalReportViewer();
   rptView.ReportSource = crpt;
   rptForm.Controls.Add(rptView);
   rptView.Dock = System.Windows.Forms.DockStyle.Fill;
   rptForm.Show();
  }

转载地址:http://nairf.baihongyu.com/

你可能感兴趣的文章
AndroidStudio 导入三方库使用
查看>>
Ubuntu解决gcc编译报错/usr/bin/ld: cannot find -lstdc++
查看>>
解决Ubuntu14.04 - 16.10版本 cheese摄像头灯亮却黑屏问题
查看>>
解决Ubuntu 64bit下使用交叉编译链提示error while loading shared libraries: libz.so.1
查看>>
VS生成DLL文件供第三方调用
查看>>
Android Studio color和font设置
查看>>
Python 格式化打印json数据(展开状态)
查看>>
Centos7 安装curl(openssl)和libxml2
查看>>
Centos7 离线安装RabbitMQ,并配置集群
查看>>
Centos7 or Other Linux RPM包查询下载
查看>>
运行springboot项目出现:Type javax.xml.bind.JAXBContext not present
查看>>
Java中多线程向mysql插入同一条数据冲突问题
查看>>
Idea Maven项目使用jar包,添加到本地库使用
查看>>
FastDFS集群架构配置搭建(转载)
查看>>
HTM+CSS实现立方体图片旋转展示效果
查看>>
FFmpeg 命令操作音视频
查看>>
问题:Opencv(3.1.0/3.4)找不到 /opencv2/gpu/gpu.hpp 问题
查看>>
目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU设备
查看>>
问题:Mysql中字段类型为text的值, java使用selectByExample查询为null
查看>>
程序员--学习之路--技巧
查看>>