看这里给出的办法:http://groups.google.com/groups?hl=zh-CN&lr=&ie=UTF-8&oe=UTF-8&threadm=585b01c32624%24881b6240%24a401280a%40phx.gbl&rnum=3&prev=/groups%3Fq%3Dcannot%2Bfind%2Bkeycodev2.dll%2Bor%2Binvalid%2Bkeycode%26hl%3Dzh-CN%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26selm%3D585b01c32624%2524881b6240%2524a401280a%2540phx.gbl%26rnum%3D3

解决方案 »

  1.   

    下面文章有帮助了用 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)
    上面说得差不多了,但要注意一点,上面没说到的,
    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。-->完成
    这里的添加是在“解决方案资源管理器”里,安装项目,弹右键,选“合并模块”,来添加。