水晶报表发布问题

时间:2021-07-30 09:07:37
我采用的是.net  2003  集成的水晶报表,数据库采用oracle,纯ado.net,C/S结构,当发布程序后,运行到带水晶报表的模块(DLL)时,会提示出错(出错信息见下),但是在开发环境下没有任何问题,就是在曾经安装过开发环境的机器下运行也不会出错。  
我重新加载了水晶报表的for  .net  2003合并模块,没有用,  
ms.net使用的是正版软件,是不是里面有水晶报表的注册码
水晶报表没有注册!  
 
具体的错误提示是:  
 
 
有关调用实时(JIT)调试而不是此对话框的详细信息,  
请参阅此消息的结尾。  
 
**************  异常文本  **************  
CrystalDecisions.CrystalReports.Engine.InternalException:  Cannot  find  KeycodeV2.dll,  or  invalid  keycode.  
     at    .  F(String                ,  EngineExceptionErrorID      
)  
     at    .  B(String      ,  Int32      )  
     at  CrystalDecisions.CrystalReports.Engine.ReportDocument.  ;()  
     at  CrystalDecisions.CrystalReports.Engine.ReportDocument.InternalInit()  
     at  CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()  
     at  CrystalDecisions.CrystalReports.Engine.ReportClass..ctor()  
     at  sqy.cr1..ctor()  
     at  sqy.clsFormsqyckbtj..ctor(String  jgbh1,  String  conn1)  
     at  adbcgz.mainForm.menuItem22_Click(Object  sender,  EventArgs  e)  
     at  System.Windows.Forms.MenuItem.OnClick(EventArgs  e)  
     at  System.Windows.Forms.MenuItemData.Execute()  
     at  System.Windows.Forms.Command.Invoke()  
     at  System.Windows.Forms.Control.WmCommand(Message&  m)  
     at  System.Windows.Forms.Control.WndProc(Message&  m)  
     at  System.Windows.Forms.ScrollableControl.WndProc(Message&  m)  
     at  System.Windows.Forms.ContainerControl.WndProc(Message&  m)  
     at  System.Windows.Forms.Form.WndProc(Message&  m)  
     at  System.Windows.Forms.ControlNativeWindow.OnMessage(Message&  m)  
     at  System.Windows.Forms.ControlNativeWindow.WndProc(Message&  m)  
     at  System.Windows.Forms.NativeWindow.Callback(IntPtr  hWnd,  Int32  msg,  IntPtr  wparam,  IntPtr  lparam)  
 
 
**************  已加载的程序集  **************  
……………………………………………………..  
 
CrystalKeyCodeLib  
       程序集版本:  9.1.5000.0  
       Win32  版本:  9.1.9800.0  
       基本代码:  file:///c:/windows/assembly/gac/crystalkeycodelib/9.1.5000.0__692fbea5521e1304/crystalkeycodelib.dll  
----------------------------------------  
mscorlib.resources  
       程序集版本:  1.0.5000.0  
       Win32  版本:  1.1.4322.573  
       基本代码:  file:///c:/windows/assembly/gac/mscorlib.resources/1.0.5000.0_zh-chs_b77a5c561934e089/mscorlib.resources.dll  
----------------------------------------  
System.Windows.Forms.resources  
       程序集版本:  1.0.5000.0  
       Win32  版本:  1.1.4322.573  
       基本代码:  file:///c:/windows/assembly/gac/system.windows.forms.resources/1.0.5000.0_zh-chs_b77a5c561934e089/system.windows.forms.resources.dll  
----------------------------------------  
 
**************  JIT  调试  **************  
计算机的配置文件(machine.config)的    
 system.windows.forms  节中必须设置  jitDebugging  值。  
编译应用程序时还必须启用\r\n调试。\r\n\r\n例如:  \r\n\r\n<configuration>\r\n        <system.windows.forms  jitDebugging="true"  />\r\n</configuration>\r\n\r\n启用  JIT  调试后,任何未处理的异常\r\n都将被发送到此计算机上注册的  JIT  调试器,\r\n而不是由此对话框处理。\r\n

3 个解决方案

#1


是你在制作安装程序時忘选择聚合水明报表的安装程序了。

在制作安装程序时,选择聚合然后把水晶报表的所有聚合都选上,然后再一个聚合文件的属性中输入你的水晶报表的注册吗。就可以了。

因为我现在这个没有.net的环境,所以我记不住具体的聚合的文件名和需要在那个聚合文件输入注册吗了,但是你可以通过聚合文件的名字猜出来。

#2


需要注册的.
vs.net 正版不包含 cr 的注册码,需要另外购买.

#3


你没有把合并模块打包进去
Crystal Reports for Visual Studio .NET 提供合并模块以确保与应用程序一起安装的报表组件和组件版本的正确性。 

Crystal Reports 合并模块必须包含在安装项目中才能用来部署报表。这些合并模块位于以下默认位置:C:\Program Files\Common Files\Merge Modules。

合并模块 说明 
Crystal_Managed2003_chs.msm Crystal_Managed2003_chs.msm 合并模块安装所有 Crystal Reports for Visual Studio .NET 托管组件,如: 
CrystalDecisions.CrystalReports.Engine.dll 
CrystalDecisions.Web.dll 
CrystalDecisions.Windows.Forms.dll 
 
Crystal_Database_Access2003_chs.msm Crystal_Database_Access2003_chs.msm 合并模块安装报表连接到各种数据源时使用的所有数据库驱动程序。此合并模块还安装导出目标和格式驱动程序,以便将报表保存为不同的文件格式(如 RTF 和 HTML)。 
此合并模块还用于安装包括图表组件在内的所有 Crystal Reports for Visual Studio .NET 非托管运行时组件。
 
Crystal_Database_Access2003_enu.msm Crystal_Database_Access2003_enu.msm 安装特定于语言(本地化)的组件。此合并模块安装一些本地化图表和导出组件。每种产品发布时所用的语言都有该合并模块的相应版本。 
Crystal_regwiz2003.msm Crystal_regwiz2003.msm 在部署计算机(服务器或客户端)上配置注册信息以跟踪许可信息。 
将 Crystal_regwiz2003.msm 添加到安装项目后,它将公开 LicenseKey 属性,该属性必须在安装项目生成前设置。

产品注册后,许可证密钥将以电子邮件的形式发送给您。此密钥还可从“帮助”菜单的“关于 Microsoft Visual Studio .NET”对话框中获得。将此许可证密钥输入到 Crystal_regwiz2003.msm 合并模块的 LicenseKey 属性中。

注意   如果不为 Crystal_regwiz2003.msm 合并模块设置许可证密钥,则会在生成项目时出错。如果在目标计算机上安装上述安装项目时未指定合并模块的许可证密钥,则将发生各种 keycodedev2.dll 错误。 

#1


是你在制作安装程序時忘选择聚合水明报表的安装程序了。

在制作安装程序时,选择聚合然后把水晶报表的所有聚合都选上,然后再一个聚合文件的属性中输入你的水晶报表的注册吗。就可以了。

因为我现在这个没有.net的环境,所以我记不住具体的聚合的文件名和需要在那个聚合文件输入注册吗了,但是你可以通过聚合文件的名字猜出来。

#2


需要注册的.
vs.net 正版不包含 cr 的注册码,需要另外购买.

#3


你没有把合并模块打包进去
Crystal Reports for Visual Studio .NET 提供合并模块以确保与应用程序一起安装的报表组件和组件版本的正确性。 

Crystal Reports 合并模块必须包含在安装项目中才能用来部署报表。这些合并模块位于以下默认位置:C:\Program Files\Common Files\Merge Modules。

合并模块 说明 
Crystal_Managed2003_chs.msm Crystal_Managed2003_chs.msm 合并模块安装所有 Crystal Reports for Visual Studio .NET 托管组件,如: 
CrystalDecisions.CrystalReports.Engine.dll 
CrystalDecisions.Web.dll 
CrystalDecisions.Windows.Forms.dll 
 
Crystal_Database_Access2003_chs.msm Crystal_Database_Access2003_chs.msm 合并模块安装报表连接到各种数据源时使用的所有数据库驱动程序。此合并模块还安装导出目标和格式驱动程序,以便将报表保存为不同的文件格式(如 RTF 和 HTML)。 
此合并模块还用于安装包括图表组件在内的所有 Crystal Reports for Visual Studio .NET 非托管运行时组件。
 
Crystal_Database_Access2003_enu.msm Crystal_Database_Access2003_enu.msm 安装特定于语言(本地化)的组件。此合并模块安装一些本地化图表和导出组件。每种产品发布时所用的语言都有该合并模块的相应版本。 
Crystal_regwiz2003.msm Crystal_regwiz2003.msm 在部署计算机(服务器或客户端)上配置注册信息以跟踪许可信息。 
将 Crystal_regwiz2003.msm 添加到安装项目后,它将公开 LicenseKey 属性,该属性必须在安装项目生成前设置。

产品注册后,许可证密钥将以电子邮件的形式发送给您。此密钥还可从“帮助”菜单的“关于 Microsoft Visual Studio .NET”对话框中获得。将此许可证密钥输入到 Crystal_regwiz2003.msm 合并模块的 LicenseKey 属性中。

注意   如果不为 Crystal_regwiz2003.msm 合并模块设置许可证密钥,则会在生成项目时出错。如果在目标计算机上安装上述安装项目时未指定合并模块的许可证密钥,则将发生各种 keycodedev2.dll 错误。