- 作者:zhaozj
- 发表时间:2020-12-23 10:58
- 来源:未知
1。水晶报表在。NET中打包
原理:用 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写的,所以需要它!)
选择要包含的文件:添加你的程序文件 + 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。-->完成这里的添加是在“解决方案资源管理器”里,安装项目,弹右键,选“合并模块”,来添加。
4)打开解决方案-->右键点击regwiz.msm的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(这个是你生成Crystal Report是用到的注册号的密码!)
5)生成解决方案(或直接按Ctrl+Shift+B)
已经解决了!原来要使用如下方法,看到许多人在提这问题,贴于下面 :
----------------------------------解决方案一:报表数据访问使用推模型