关于水晶报表的问题!菜鸟级的问题!急!! 做安装程序的时候得加上几个其他的文件。具体在msdn中报表发布有详述。根据你使用数据库的不同添加不同的文件。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://218.56.11.178:8009/Browers.aspx?FID=920 打包水晶报表时向客户端计算机分发 Crystal 运行时文件:ms-help://MS.VSCC/MS.MSDNVS.2052/crystlmn/html/crcondistributingcrystalruntimefilestoaclientcomputer.htm这些分发作用是否用你的C:\Program Files\Common Files\Merge Modules\DotNETCrystalReports.msm就可以,即是客户机就不用装水晶报表就可以运行。 Crystal Support 之最高阅览量文章:怎样部署使用 Crystal Reports 和 VS.NET 的程序?(翻译:海波.NET)大纲怎样部署使用 Crystal Reports 和 VS.NET 的程序?==================== 注意: 在部署使用 Crystal Reports 和 Visual Studio .NET 的程序之前,你必须确认下列信息:与 Visual Studio .NET 一起使用的 Crystal Reports 版本。可能的版本为:- Crystal Reports for Visual Studio .NET 2002 - Crystal Reports for Visual Studio .NET 2003 - Crystal Reports 9 - Crystal Reports 9.2 Crystal Reports 管理组件的“程序集版本”。要检查 Crystal Reports 管理组件的“程序集版本”,查看 Visual Studio .NET 里的 “项目” > “引用”。Crystal Reports 管理组件包括:- CrystalDecisions.CrystalReports.Engine - CrystalDecisions.Shared - CrystalDecisions.Reportsource - CrystalDecisions.Web - CrystalDecisions.Windows.Forms. 所有 Crystal Reports 管理组件的“程序集版本”必须相同。====================解决方案:要部署使用 Crystal Reports for Visual Studio .NET 2002 的程序------------------------------------------------ 1. 确保 Crystal Reports 管理组件的“程序集版本”为 9.1.3300。2. 下载完整的 crnet 部署指南:http://support.crystaldecisions.com/communityCS/TechnicalPapers/crnet_deployment.pdf.asp?recDnlReq=Record&dnlPath=crnet_deployment.pdf要部署使用 Crystal Reports for Visual Studio .NET 2003 的程序------------------------------------------------ 1. 确保 Crystal Reports 管理组件的“程序集版本”为 9.1.5000.0。2. 下载完整的 crnet 部署指南:http://support.crystaldecisions.com/communityCS/TechnicalPapers/crnet_deployment.pdf.asp?recDnlReq=Record&dnlPath=crnet_deployment.pdf3. 使用下列合并模块替换'crnet_deployment.pdf'里的合并模块:Crystal_Database_Access2003.msm Crystal_Database_Access2003_enu.msm Crystal_Managed2003.msm Crystal_regwiz2003.msm VC_User_CRT71_RTL_X86_---.msm (被基于 ADO.NET 的报表使用) VC_User_STL71_RTL_X86_---.msm (被基于 ADO.NET 的报表使用) 要部署使用 Crystal Reports 9 的程序(仅限于 Visual Studio 2002) ------------------------------------------------ 1. 确保 Crystal Reports 管理组件的“文件版本”为 9.2.9466.x。通过查看"\Program Files\Common Files\Crystal Decisions\2.0\Managed\" 文件夹里的、任何管理组件 CrystalDecisions.xxx.dll 的属性,获得“文件版本”;或者通过查看全局访问缓存 (\winnt\assembly)里的相应程序集。要查看全局访问缓存里的“文件版本”,找到任何一个“程序集版本”为 9.2.3300.0 的 Crystal Decisions 管理组件程序集(例如 CrystalDecisions.CrystalReports.Engine),在文件上右击并选择“属性”。选择“版本”选项卡,并检查“文件版本”。2.下载完整的 cr9net 部署指南:http://support.crystaldecisions.com/communityCS/TechnicalPapers/cr9net_deployment.pdf.asp?recDnlReq=Record&dnlPath=cr9net_deployment.pdf3. 下载 Crystal Reports 9 合并模块。这些合并模块可能组成一个基于 Microsoft Installer (MSI) 安装包,以包含相应的运行时文件。http://support.crystaldecisions.com/communityCS/FilesAndUpdates/cr9netmergemodules.zip.asp?recDnlReq=Record&dnlPath=cr9netmergemodules.zip4. 如果你要部署到一个 Web 服务器,你可以安装预编译 MSI installer 包,已提供下载,用作一次性部署。这个分发包安装 .NET 程序需要的所有 Crystal 运行时文件。下载预编译 MSI installer 包:http://support.crystaldecisions.com/communityCS/FilesAndUpdates/cr9netredist.zip.asp?recDnlReq=Record&dnlPath=cr9netredist.zip要部署使用 Crystal Reports 9.2 的程序(与 Visual Studio 2002 和 2003) ------------------------------------------------ 1. 确保 Crystal Reports 管理组件的“文件版本”为 9.2.9500.x。通过查看"\Program Files\Common Files\Crystal Decisions\2.0\Managed\" 文件夹里的,任何管理组件 CrystalDecisions.xxx.dll 的属性,获得“文件版本”;或者通过查看全局访问缓存 (\winnt\assembly)里的程序集。要查看全局访问缓存里的“文件版本”,找到任何一个“程序集版本”为 9.2.3300.0 的 Crystal Decisions 程序集(例如 CrystalDecisions.CrystalReports.Engine),在文件上右击并选择“属性”。选择“版本”选项卡,并检查“文件版本”。2.下载完整的 cr9net 部署指南:http://support.crystaldecisions.com/communityCS/TechnicalPapers/cr9net_deployment.pdf.asp?recDnlReq=Record&dnlPath=cr9net_deployment.pdf3. 使用合并模块'dotnetruntime.msm'替换'cr9net_deployment.pdf'里的'crnetruntime.msm'你可以在 Crystal Reports 9.2 光盘的 '\redist\dotnet\msm' 文件夹里找到所需的合并模块。4. 如果你要部署到一个 Web 服务器,你可以安装光盘里的、用作一次性部署的预编译 MSI installer 包。这个分发包安装 .NET 程序需要的所有 Crystal 运行时文件。预编译 installer 包在光盘的 "\redist\netsvr.msi" 文件夹里。==================== 注意:当与 Visual Studio 2003 里的 ADO.NET 一起使用 Crystal Reports 9.2 时,进行下列合并模块的替换:Vc_crt.msm - 被 VC_User_CRT71_RTL_X86_--- .msm 替换Vc_stl.msm - 被 VC_User_STL71_RTL_X86_-- -.msm 替换你可以 'C:\Program Files\Common Files\Merge Modules' 文件夹下找到替换的合并模块。==================== 其他资源------------------- 要查找下面的部署白皮书,访问:http://support.crystaldecisions.com/search Crystal Reports 9 应用程序部署白皮书 - cr9net_deployment.pdf Crystal Reports 9 for Visual Studio .NET 应用程序部署白皮书 - crnet_deployment.pdf 如何部署包含水晶报表的程序(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 部署水晶报表时的常见问题及解决(搜集:海波.NET,2003-10-18)------------------------------------------------目录:1、载入报表时报错2、部署到 Windows 98 / ME 时,出错:"Load Report Failed" 3、在Win98的客户端运行提示"该字段名未知"4、分发到客户机时“查询引擎出错”5、load crpe32.dll failed6、在 ASP.NET 程序中加载报表时,出错:"Load Report Failed" 7、部署 .NET 9.1 程序到 Windows 98 时,出错:"Load Report Failed" ------------------------------------------------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 注册信息模块,非常重要,必需在这个模块输入水晶报表的注册序列号,如果不填,编译的时候就无法通过(3)运行库(*.msm)如果报表文件使用了 ADO.NET 的 dataset 数据集对象,那么 VC_CRT.msm 和 VC_STL.msm 模块也必须包含在安装工程中。而且这两个模块的文件安装属性的"Module Retargetable Folder"项必须修改成为系统目录在VS.NET安装工程中,系统检测出来的依赖项只有 dotNETFXRedist_x86_chs.msm 和 Managed.msm这两个模块,其他的模块我们需要手动加入。(1)在解决方案资源管理器里,右键单击安装项目选择"添加"-〉"合并模块(M)"(2)在"添加模块"对话窗体,选择 Managed_chs.msm 、Database_Access, Database_Access_chs, regwiz、VC_CRT.msm 和 VC_STL.msm 模块(3)重新生成安装项目,没问题,只是生成的安装程序一下子大了七、八兆。-------------------------2、部署到 Windows 98 / ME 时,出错:"Load Report Failed" 是因为查询引擎 DLL(CRQE.dll)在客户计算机上没有正确注册。要解决这个问题,可以在客户计算机上手动注册 CRQE.dll,使用下面的命令:regsvr32 "C:\program files\common files\Crystal Decisions\1.0\bin\CRQE.dll"如果 CRQE.dll 没有成功注册,并且问题继续存在,在客户计算机上检查 ATL.dll 的版本。ATL.dll for Windows 98/ME 正确的版本是 3.0.8449。通过使用下面三种方法中的任意一种方法,可以找到并注册正确版本的 ATL.dll。(1)在客户计算机上装 IE6.0。(2)在客户计算机上,手动复制和注册 ATL.dll,然后运行用于 Crystal Reports 分发的安装包。(2)将 ATL.msm 合并模块添加到安装工程,ATL.msm 是 Visual Studio installer 1.1 的一部分,可以去微软的网站http://msdn.microsoft.com/vstudio/downloads/tools/vsi11/download.aspx下载, 添加办法同上。-------------------------3、在Win98的客户端运行提示"该字段名未知"报表在Win2000的客户端一切正常,在Win98的客户端运行提示"该字段名未知"?是因为报表使用到的 sql server 数据库中的字段名为中文的缘故,将其字段名改名为英文字段名。-------------------------4、分发到客户机时“查询引擎出错”答:那是因为没有安装VC的运行库:VC_CRT.msm、VC_STL.msm-------------------------5、load crpe32.dll failed下面是cr9net_deployment.pdf说明中的部署Crystal Report 9的步骤:打开 Windows 应用程序。 在解决方案资源管理器中,右击 Windows 应用程序解决方案,指向“添加”,然后单击“新建项目”。 在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。单击“确定”按钮。 在解决方案资源管理中,右击安装项目,指向“添加”,然后单击“项目输出”。 在“添加项目输出组”中,选择“主输出”,然后单击“确定”。 将自动添加所有依赖项,如 dotnetfxredist_x86_enu.msm和dotnetcrystalreports.msm。需要将dotnetcrystalreports.msm排除在项目之外,在解决方案资源管理器中右击这个模块的右键,选择“排除”。 在解决方案资源管理器中,右击安装项目,指向“添加”,然后单击“合并模块”。 在“添加模块”对话框中,选择下列要添加到安装项目的合并模块,然后单击“打开”: reportengine.msm, crnetruntime.msm, license.msmmapping.msm (可选,当在报表中使用了geographic maps时) VC_CRT.msm、VC_STL.msm( 如果您部署的 Windows 应用程序使用 ADO.NET 数据集,则还需要包括 VC_CRT 和 VC_STL 合并模块)在解决方案资源管理器中,右击 license.msm 文件,然后选择“属性”。 在“属性”窗口中,展开 MergeModuleProperties,然后在“许可证密钥”属性框中输入一个有效的许可证密钥。 注意 每当部署 Crystal Reports 应用程序时,必须提供许可证密钥。 从“生成”菜单中,选择“生成解决方案”以生成应用程序。-------------------------6、在 ASP.NET 程序中加载报表时,出错:"Load Report Failed" 确保 ASPNET 本地用户对报表所在的文件夹有“完全控制”的权限。-------------------------7、部署 .NET 9.1 程序到 Windows 98 时,出错:"Load Report Failed" 是因为查询引擎 DLL(CRQE.dll)在客户计算机上没有正确注册。要解决这个问题,从开发计算机复制 Dbghelp.dll 到客户计算机的"C:Windows\system32" 文件夹。 一条查询语句 System.DateTime请教 如何固定MDI窗体中的工具栏 大侠帮我看看这句话什么意思。 各位高手,我想实现一个文本编辑控件的实际值与显示值不同,应该怎么办? 用c#读写.rtf文件遇到问题(100分提问) c#调用API时的参数问题 文件传输怎么穿过防火墙? 散分,顺带一小Question!!! 时间分秒毫秒化成2个字节正确的写法是怎样的? .NET怎么发邮件? 水晶报表的问题:一指定.rpt文件的数据源为项目中创建的数据集(添加的.xsd数据集文件)==》ado.net==>使用visual studio数据类就出现下
ms-help://MS.VSCC/MS.MSDNVS.2052/crystlmn/html/crcondistributingcrystalruntimefilestoaclientcomputer.htm
这些分发作用是否用你的
C:\Program Files\Common Files\Merge Modules\DotNETCrystalReports.msm
就可以,即是客户机就不用装水晶报表就可以运行。
注意: 在部署使用 Crystal Reports 和 Visual Studio .NET 的程序之前,你必须确认下列信息:与 Visual Studio .NET 一起使用的 Crystal Reports 版本。可能的版本为:- Crystal Reports for Visual Studio .NET 2002
- Crystal Reports for Visual Studio .NET 2003
- Crystal Reports 9
- Crystal Reports 9.2 Crystal Reports 管理组件的“程序集版本”。要检查 Crystal Reports 管理组件的“程序集版本”,查看 Visual Studio .NET 里的 “项目” > “引用”。
Crystal Reports 管理组件包括:- CrystalDecisions.CrystalReports.Engine
- CrystalDecisions.Shared
- CrystalDecisions.Reportsource
- CrystalDecisions.Web
- CrystalDecisions.Windows.Forms. 所有 Crystal Reports 管理组件的“程序集版本”必须相同。====================
解决方案:要部署使用 Crystal Reports for Visual Studio .NET 2002 的程序
------------------------------------------------ 1. 确保 Crystal Reports 管理组件的“程序集版本”为 9.1.3300。2. 下载完整的 crnet 部署指南:
http://support.crystaldecisions.com/communityCS/TechnicalPapers/crnet_deployment.pdf.asp?recDnlReq=Record&dnlPath=crnet_deployment.pdf
要部署使用 Crystal Reports for Visual Studio .NET 2003 的程序
------------------------------------------------ 1. 确保 Crystal Reports 管理组件的“程序集版本”为 9.1.5000.0。2. 下载完整的 crnet 部署指南:
http://support.crystaldecisions.com/communityCS/TechnicalPapers/crnet_deployment.pdf.asp?recDnlReq=Record&dnlPath=crnet_deployment.pdf3. 使用下列合并模块替换'crnet_deployment.pdf'里的合并模块:Crystal_Database_Access2003.msm
Crystal_Database_Access2003_enu.msm
Crystal_Managed2003.msm
Crystal_regwiz2003.msm
VC_User_CRT71_RTL_X86_---.msm (被基于 ADO.NET 的报表使用)
VC_User_STL71_RTL_X86_---.msm (被基于 ADO.NET 的报表使用)
要部署使用 Crystal Reports 9 的程序(仅限于 Visual Studio 2002)
------------------------------------------------ 1. 确保 Crystal Reports 管理组件的“文件版本”为 9.2.9466.x。通过查看"\Program Files\Common Files\Crystal Decisions\2.0\Managed\" 文件夹里的、任何管理组件 CrystalDecisions.xxx.dll 的属性,获得“文件版本”;或者通过查看全局访问缓存 (\winnt\assembly)里的相应程序集。要查看全局访问缓存里的“文件版本”,找到任何一个“程序集版本”为 9.2.3300.0 的 Crystal Decisions 管理组件程序集(例如 CrystalDecisions.CrystalReports.Engine),在文件上右击并选择“属性”。选择“版本”选项卡,并检查“文件版本”。2.下载完整的 cr9net 部署指南:
http://support.crystaldecisions.com/communityCS/TechnicalPapers/cr9net_deployment.pdf.asp?recDnlReq=Record&dnlPath=cr9net_deployment.pdf3. 下载 Crystal Reports 9 合并模块。这些合并模块可能组成一个基于 Microsoft Installer (MSI) 安装包,以包含相应的运行时文件。
http://support.crystaldecisions.com/communityCS/FilesAndUpdates/cr9netmergemodules.zip.asp?recDnlReq=Record&dnlPath=cr9netmergemodules.zip4. 如果你要部署到一个 Web 服务器,你可以安装预编译 MSI installer 包,已提供下载,用作一次性部署。这个分发包安装 .NET 程序需要的所有 Crystal 运行时文件。下载预编译 MSI installer 包:
http://support.crystaldecisions.com/communityCS/FilesAndUpdates/cr9netredist.zip.asp?recDnlReq=Record&dnlPath=cr9netredist.zip
要部署使用 Crystal Reports 9.2 的程序(与 Visual Studio 2002 和 2003)
------------------------------------------------ 1. 确保 Crystal Reports 管理组件的“文件版本”为 9.2.9500.x。通过查看"\Program Files\Common Files\Crystal Decisions\2.0\Managed\" 文件夹里的,任何管理组件 CrystalDecisions.xxx.dll 的属性,获得“文件版本”;或者通过查看全局访问缓存 (\winnt\assembly)里的程序集。要查看全局访问缓存里的“文件版本”,找到任何一个“程序集版本”为 9.2.3300.0 的 Crystal Decisions 程序集(例如 CrystalDecisions.CrystalReports.Engine),在文件上右击并选择“属性”。选择“版本”选项卡,并检查“文件版本”。2.下载完整的 cr9net 部署指南:
http://support.crystaldecisions.com/communityCS/TechnicalPapers/cr9net_deployment.pdf.asp?recDnlReq=Record&dnlPath=cr9net_deployment.pdf3. 使用合并模块'dotnetruntime.msm'替换'cr9net_deployment.pdf'里的'crnetruntime.msm'你可以在 Crystal Reports 9.2 光盘的 '\redist\dotnet\msm' 文件夹里找到所需的合并模块。4. 如果你要部署到一个 Web 服务器,你可以安装光盘里的、用作一次性部署的预编译 MSI installer 包。这个分发包安装 .NET 程序需要的所有 Crystal 运行时文件。预编译 installer 包在光盘的 "\redist\netsvr.msi" 文件夹里。====================
注意:当与 Visual Studio 2003 里的 ADO.NET 一起使用 Crystal Reports 9.2 时,进行下列合并模块的替换:Vc_crt.msm - 被 VC_User_CRT71_RTL_X86_--- .msm 替换
Vc_stl.msm - 被 VC_User_STL71_RTL_X86_-- -.msm 替换你可以 'C:\Program Files\Common Files\Merge Modules' 文件夹下找到替换的合并模块。
==================== 其他资源
------------------- 要查找下面的部署白皮书,访问:http://support.crystaldecisions.com/search Crystal Reports 9 应用程序部署白皮书 - cr9net_deployment.pdf Crystal Reports 9 for Visual Studio .NET 应用程序部署白皮书 - crnet_deployment.pdf
------------------------------------------------
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
------------------------------------------------
目录:
1、载入报表时报错
2、部署到 Windows 98 / ME 时,出错:"Load Report Failed"
3、在Win98的客户端运行提示"该字段名未知"
4、分发到客户机时“查询引擎出错”
5、load crpe32.dll failed
6、在 ASP.NET 程序中加载报表时,出错:"Load Report Failed"
7、部署 .NET 9.1 程序到 Windows 98 时,出错:"Load Report Failed"
------------------------------------------------
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 注册信息模块,非常重要,必需在这个模块输入水晶报表的注册序列号,如果不填,编译的时候就无法通过
(3)运行库(*.msm)
如果报表文件使用了 ADO.NET 的 dataset 数据集对象,那么 VC_CRT.msm 和 VC_STL.msm 模块也必须包含在安装工程中。而且这两个模块的文件安装属性的"Module Retargetable Folder"项必须修改成为系统目录
在VS.NET安装工程中,系统检测出来的依赖项只有 dotNETFXRedist_x86_chs.msm 和 Managed.msm这两个模块,其他的模块我们需要手动加入。
(1)在解决方案资源管理器里,右键单击安装项目选择"添加"-〉"合并模块(M)"
(2)在"添加模块"对话窗体,选择 Managed_chs.msm 、Database_Access, Database_Access_chs, regwiz、VC_CRT.msm 和 VC_STL.msm 模块
(3)重新生成安装项目,没问题,只是生成的安装程序一下子大了七、八兆。
-------------------------
2、部署到 Windows 98 / ME 时,出错:"Load Report Failed"
是因为查询引擎 DLL(CRQE.dll)在客户计算机上没有正确注册。
要解决这个问题,可以在客户计算机上手动注册 CRQE.dll,使用下面的命令:
regsvr32 "C:\program files\common files\Crystal Decisions\1.0\bin\CRQE.dll"
如果 CRQE.dll 没有成功注册,并且问题继续存在,在客户计算机上检查 ATL.dll 的版本。ATL.dll for Windows 98/ME 正确的版本是 3.0.8449。
通过使用下面三种方法中的任意一种方法,可以找到并注册正确版本的 ATL.dll。
(1)在客户计算机上装 IE6.0。
(2)在客户计算机上,手动复制和注册 ATL.dll,然后运行用于 Crystal Reports 分发的安装包。
(2)将 ATL.msm 合并模块添加到安装工程,ATL.msm 是 Visual Studio installer 1.1 的一部分,可以去微软的网站http://msdn.microsoft.com/vstudio/downloads/tools/vsi11/download.aspx下载, 添加办法同上。
-------------------------
3、在Win98的客户端运行提示"该字段名未知"
报表在Win2000的客户端一切正常,在Win98的客户端运行提示"该字段名未知"?
是因为报表使用到的 sql server 数据库中的字段名为中文的缘故,将其字段名改名为英文字段名。
-------------------------
4、分发到客户机时“查询引擎出错”
答:那是因为没有安装VC的运行库:VC_CRT.msm、VC_STL.msm
-------------------------
5、load crpe32.dll failed
下面是cr9net_deployment.pdf说明中的部署Crystal Report 9的步骤:
打开 Windows 应用程序。
在解决方案资源管理器中,右击 Windows 应用程序解决方案,指向“添加”,然后单击“新建项目”。
在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。单击“确定”按钮。
在解决方案资源管理中,右击安装项目,指向“添加”,然后单击“项目输出”。
在“添加项目输出组”中,选择“主输出”,然后单击“确定”。
将自动添加所有依赖项,如 dotnetfxredist_x86_enu.msm和dotnetcrystalreports.msm。
需要将dotnetcrystalreports.msm排除在项目之外,在解决方案资源管理器中右击这个模块的右键,选择“排除”。
在解决方案资源管理器中,右击安装项目,指向“添加”,然后单击“合并模块”。
在“添加模块”对话框中,选择下列要添加到安装项目的合并模块,然后单击“打开”:
reportengine.msm, crnetruntime.msm, license.msm
mapping.msm (可选,当在报表中使用了geographic maps时)
VC_CRT.msm、VC_STL.msm( 如果您部署的 Windows 应用程序使用 ADO.NET 数据集,则还需要包括 VC_CRT 和 VC_STL 合并模块)
在解决方案资源管理器中,右击 license.msm 文件,然后选择“属性”。
在“属性”窗口中,展开 MergeModuleProperties,然后在“许可证密钥”属性框中输入一个有效的许可证密钥。
注意 每当部署 Crystal Reports 应用程序时,必须提供许可证密钥。
从“生成”菜单中,选择“生成解决方案”以生成应用程序。
-------------------------
6、在 ASP.NET 程序中加载报表时,出错:"Load Report Failed"
确保 ASPNET 本地用户对报表所在的文件夹有“完全控制”的权限。
-------------------------
7、部署 .NET 9.1 程序到 Windows 98 时,出错:"Load Report Failed"
是因为查询引擎 DLL(CRQE.dll)在客户计算机上没有正确注册。
要解决这个问题,从开发计算机复制 Dbghelp.dll 到客户计算机的"C:Windows\system32" 文件夹。