c# - ClickOnce 部署中的 Crystal Reports

标签 c# crystal-reports clickonce

我的应用程序需要打印 Crystal Reports 报表。它不显示预览,仅采用两个参数并显示用于设置打印机的打印对话框。它在安装了 Crystal Reports 的计算机上运行良好,但我没有办法强制客户端已经安装它。

我在多个地方读到,添加 ClickOnce 先决条件“SAP Crystal Reports Runtime Engine for .NET Framework”将允许在客户端上注册所需的 Crystal Reports 库。在客户端上安装应用程序时,它会下载运行时并安装运行时,但应用程序安装失败,指出必须在 GAC 中注册各种 CrystalDecisions 和 CrystalReports 程序集。

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

我错过了什么?我关注了this guide from the SAP website (压缩,2.2 MB,包含一个 Microsoft Compiled HTML Help 文件,crnet_dg_2010_en.chm)。

最佳答案

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

Download and install the MSIs (not the executable) from here

点击一次部署

除了使 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 位计算机上安装两个运行时。

关于c# - ClickOnce 部署中的 Crystal Reports,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16471492/

相关文章:

clickonce - 签名的 ClickOnce 应用程序提供 "Publisher could not be verified"

c# - 显示存储的位少于分配的位的 DICOM monochrome2

c# - 在 C# 中,如何防止列表框中的所有项目更改为上次设置的颜色?

c# - 无法在 C# 上设置 DataDefinition.FormulaFields.Item.Text (Crystal Reports 13)

c# - 不用 Crystal 报表设计器创建rpt文件

clickonce - 如何创建静默运行且无需用户交互的 ClickOnce 安装程序?

azure-devops - 在发布时配置 ClickOnce 包

c# - 在c#.net中将 'String'转换为MD5 'String'的Base64编码

c# - 如何在 C# 中验证值的集合是唯一的(不包含重复项)

c# - Crystal 报表 |打印 |默认打印机