将Crystal Reports嵌入到WinForms应用程序中

时间:2013-05-27 11:43:29

标签: winforms crystal-reports

我有一个带有sql server数据库后端的winforms应用程序。我使用Crystal Reports设计了一些报告,并将这些报告嵌入到winforms应用程序中。它们在我的计算机上都运行良好(安装了水晶报告2011)。但是,当我将我的应用程序分发到客户端计算机时,尝试使用嵌入式水晶报表运行该表单会产生以下错误 -

The type initializer for 'CrystalDecisions.Shared.SharedUtils' threw an exception

我认为这可能是因为Crystal Reports未安装在客户端计算机上,因此我在客户端计算机上安装了Crystal Reports Runtime(显示为在控制面板中正确安装>程序等。但是错误仍然存​​在。

我真的希望没有必要为每台客户端机器购买许可证,因为有许多客户端机器,并且成本太高。我曾考虑过适当的运行时间,嵌入式水晶报告可以在我的分布式应用程序中运行。

具有嵌入式水晶报告的应用程序是否可以分发到未安装水晶报告的客户端计算机?如果是这样,可能会产生此错误消息?

以下是完整错误消息的屏幕截图

Error Message

1 个答案:

答案 0 :(得分:1)

经过大量的反复试验后,问题得到了解决 -

  1. 在开发人员的计算机上安装64位Visual Studio 2010 SP5 Crystal Reports
  2. 在客户端计算机上安装Crystal Reports Runtime MSI SP5 64位
  3. 在客户端计算机上安装Crystal Reports Runtime MSI SP5 32位
  4. 当客户端计算机具有64位操作系统时,我仍然不知道为什么第3步是必要的,但只有在安装了64位和32位运行时才能解决问题。

    现在,嵌入式Crystal Reports在客户端计算机上的Winforms应用程序中显示正常。希望能让别人有些头疼。