0

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

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

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

我真的希望没有必要为每台客户端机器购买许可证,因为有很多而且成本会令人望而却步。我曾认为通过适当的运行时,嵌入式水晶报表将在我的分布式应用程序中工作。

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

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

错误信息

4

1 回答 1

1

经过大量的试验和错误后,问题得到了解决 -

  1. 在开发者机器上安装 Crystal Reports for Visual Studio 2010 SP5 64 位
  2. 在客户端计算机上安装 Crystal Reports Runtime MSI SP5 64 位
  3. 在客户端计算机上安装 Crystal Reports Runtime MSI SP5 32 位

我仍然不知道为什么当客户端机器具有 64 位操作系统时需要执行第 3 步,但只有在安装 64 位和 32 位运行时才能解决问题。

现在,嵌入式 Crystal Reports 在客户端计算机上的 Winforms 应用程序中显示良好。希望这可以节省其他人的一些头疼。

于 2013-05-27T15:16:44.173 回答