ClickOnce部署中的水晶报告

本文关键字:水晶 报告 部署 ClickOnce | 更新日期: 2023-09-27 18:12:50

我的应用程序需要打印一个Crystal Reports报告。它不显示预览,只是接受两个参数并显示打印对话框来设置打印机。它在安装了Crystal Reports的计算机上工作得很好,但我没有办法强制客户端已经安装了它。

我在不同的地方读到,添加ClickOnce先决条件"SAP水晶报告运行时引擎为。net框架"将允许所需的水晶报告库注册在客户端。当在客户端上安装应用程序时,它会下载运行时,并安装运行时,但是应用程序安装失败,说明各种CrystalDecisions和CrystalReports程序集必须在GAC中注册。

第一个是CrystalDecisions.ReportAppServer.CommonObjectModel。如果我在项目中添加对此的引用并重新部署,那么它只是给出另一个关于另一个程序集的消息。我确实这样做了15次,但从来没有得到一个无缝安装。

我错过了什么?我从SAP网站(压缩,2.2 MB,包含Microsoft编译的HTML帮助文件,crnet_dg_2010_en.chm)遵循了这个指南。

ClickOnce部署中的水晶报告

我遇到了这个问题:对于Click-Once应用程序,无论客户端计算机的体系结构如何,您必须下载并安装32位版本的Crystal Reports Runtime在客户端上。我最终使用SAP网站上提供的msi安装了32位和64位,以覆盖所有基础并使GAC错误消失。之后,一切都很顺利。

从这里下载并安装msi(不是可执行文件)

FOR CLICK ONCE DEPLOYMENT

除了使SAP Crystal Reports Runtime成为先决条件之外,您还需要修改开发机器上的product.xml文件。该文件位于:{Program Files}'Microsoft SDKs'Windows'v*.0A'Bootstrapper'Packages'Crystal Reports for .NET Framework 4.0'

找到下面这行并注释掉:<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel"/>

现在,重新发布您的解决方案,安装程序应该在64位机器上安装两个运行时。

如果上述解决方案不起作用,请尝试以下方法,

  • 进入你的项目属性。
  • 进入Publish选项卡。
  • 点击应用程序文件按钮
  • 将发布状态从先决条件(自动)更改为排除名称中包含CrystalDecisions或BusinessObjects的任何文件。
  • 单击OK
  • 重新构建您的应用程序,然后将其重新发布到您的站点或文件共享中,以便您的客户端安装。

我发现它在这个位置:

C:'Program Files (x86)'SAP BusinessObjects'BootStrapper'Packages'Crystal Reports for .NET Framework 4.0

C:'Program Files (x86)'Microsoft Visual Studio 14.0'SDK'Bootstrapper'Packages