.NET 打包有水晶报表的程序

转载自:http://hi.baidu.com/%C4%B3%CD%C1/blog/item/1424ab03d730b28bd53f7c36.html

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

有水晶报表的程序在打包的时候,需要注意把sn一起打包进去,不然当程序安装到没有水晶报表的机器时会报错

具体步骤:

1)新建“安装和部署项目”-->“安装向导”
(2)选择项目类型(这里选“创建用于Windows应用程序的安装程序”)-->下一步
(3)选择要包含的文件:要部署使用 Crystal Reports for Visual Studio .NET 2003 的程序,需要添加合并模块(在解决方案资源管理器中tree的顶端节点右键-->添加).
Crystal_Database_Access2003.msm
Crystal_Database_Access2003_enu.msm
Crystal_Managed2003.msm
Crystal_regwiz2003.msm
VC_User_CRT71_RTL_X86_---.msm
VC_User_STL71_RTL_X86_---.msm
你可以 'C:\Program Files\Common Files\Merge Modules' 文件夹下找到替换的合并模块。
(4)打开解决方案-->右键点击Crystal_regwiz2003.msm 的属性,在“MergeMouduleProperties”里的“License Key”填入:***************************(这个是你生成Crystal Report是用到的注册号的密码!注意是比较长的那个,不是显示在一个textbox里的那个Registration Number
(5)生成解决方案

如果没有第四步,会产生在执行打印报表时提示keycodev2.dll或者无效密码的错误。

以上的步骤,如果你的“干净”的机器上装有水晶报表,那么到这里完全就可以了。

如果你不希望在“干净”的机器上装水晶报表,继续以下的步骤:

  1. 添加项目输出组中,选择主输出,然后单击确定

     

将自动添加所有依赖项,如 dotnetfxredist_x86_enu.msmdotnetcrystalreports.msm

 

 

 

 

 

    2.需要将dotnetcrystalreports.msm排除在项目之外,在解决方案资源管理器中右击这个模块的右键,选择排除

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

 

 

 

 

 

    4.在添加模块对话框中,选择下列要添加到安装项目的合并模块,然后单击打开

 

 

 

 

 

  • reportengine.msm,

     

  • crnetruntime.msm

     

  • license.msm

     

  • mapping.msm (可选,当在报表中使用了geographic maps时)

     

       5.在解决方案资源管理器中,右击 license.msm 文件,然后选择属性

    6.在属性窗口中,展开 MergeModuleProperties,然后在许可证密钥属性框中输入一个有效的许可证密钥。

    注意 :  每当部署 Crystal Reports 应用程序时,必须提供许可证密钥。

 

 

 

 

 

    7.从生成菜单中,选择生成解决方案以生成应用程序

    如果以上步骤没有的化,会提示“load crpe32.dll failed”的错误。

posted @ 2007-11-13 16:36  jenner  阅读(279)  评论(0编辑  收藏  举报