如果报表文件使用了 ADO.NET 的 dataset 数据集对象,那么 VC_CRT.msm 和 VC_STL.msm 模块也必须包含在安装工程中。而且这两个模块的文件安装属性的"Module Retargetable Folder"项必须修改成为系统目录

解决方案 »

  1.   

    如何部署包含水晶报表的程序(VS.NET 2002)
    ------------------------------------------------
    1、原理:
    发布使用水晶报表的项目需要包含三种组件:报表(*.rpt)、模块(*.msm)、运行库(*.msm),这些模块文件是在 C:\Program Files\Common Files\Merge Modules\ 目录里面。
    (1)报表(*.rpt)
    用户编程时创建的水晶报表文件。
    (2)模块(*.msm)
    Managed.msm
    该模块包含了CR for VS .NET 的管理模块,如 CrystalDecisions、CrystalReports.Engine.DLL、CrystalDecisions.Web.DLL, 和 CrystalDecisions.Windows.Forms.DLL……
    Managed_chs.msm
    是该模块的中文版语言支持。
    Database_Access.msm
    该模块包含了数据库的驱动、与不同数据库的联结、报表导出为 RTF 和 HTML 格式的文档和图表组件。 
    Database_Access_chs.msm
    是此模块的中文版语言支持。
    Regwiz.msm
    注册信息模块,非常重要,必需在这个模块输入水晶报表的注册序列号,如果不填,编译的时候就无法通过。
    KeyCode MSM 处理 Crystal Decisions 密钥号码的安装,这样您的用户在查看报表时,就不会被要求注册他们的 Crystal版本。
    (3)运行库(*.msm)
    如果报表文件使用了 ADO.NET 的 dataset 数据集对象,那么 VC_CRT.msm 和 VC_STL.msm 模块也必须包含在安装工程中。而且这两个模块的文件安装属性的"Module Retargetable Folder"项必须修改成为系统目录
    在VS.NET安装工程中,系统检测出来的依赖项只有 dotNETFXRedist_x86_chs.msm 和 Managed.msm这两个模块,其他的模块我们需要手动加入。
    -------------------------
    2、具体操作步骤:
    (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。-->完成
    (4)打开解决方案-->右键点击regwiz.msm的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(这个是你生成Crystal Report是用到的注册号的密码!)
    (5)生成解决方案(或直接按Ctrl+Shift+B)图示介绍:http://www.yesky.com/20030327/1659638.shtml
      

  2.   

    我的意思就是我的Program Files\Common Files\Merge Modules  下没有
    VC_User_CRT71_RTL_X86_---.msm VC_User_STL71_RTL_X86_---.msm 
    文件,奇怪的是我有
    vb_control_mschart_rtl_x86_---.msm
    vb_control_mschart_rtl_x86_chs.msm我的vs.net 2003 装了 vb.net和 vc#.net ,这个项目用的是c#.一开始我在合并中 没有加入,
    vb_control_mschart_rtl_x86_---.msm
    vb_control_mschart_rtl_x86_chs.msm出现错误就是 Cannot find KeycodeV2.dll, or invalid keycode. 后来我把vb_* 加进去后,不报错,但是出不了图。