我的应用程序需要打印Crystal Reports报告.它不显示预览,只需要两个参数并显示一个打印对话框来设置打印机.它在安装了Crystal Reports的计算机上运行良好,但我没有办法强制客户端已经安装了它.
我已经在各个地方读过,添加ClickOnce先决条件"SAP Crystal Reports Runtime Engine for .NET Framework"将允许在客户端上注册所需的Crystal Reports库.在客户端上安装应用程序时,它会下载运行时并安装运行时,但应用程序无法安装,说明必须在GAC中注册各种CrystalDecisions和CrystalReports程序集.
第一个是CrystalDecisions.ReportAppServer.CommonObjectModel.如果我在项目中添加对此的引用并重新部署,那么它只会给出另一个关于另一个程序集的消息.我确实这样做了15次,从未进行过无缝安装.
我错过了什么?我从SAP网站上按照本指南(压缩,2.2 MB,包含Microsoft编译的HTML帮助文件,crnet_dg_2010_en.chm).
我遇到了这个问题:对于Click-Once应用程序,无论客户端计算机的体系结构如何,都必须在客户端上下载并安装32位版本的Crystal Reports Runtime .我最终使用SAP网站上提供的MSI安装了32位和64位,以覆盖所有基础并使GAC错误消失.事后,一切顺利.
从这里下载并安装MSI(不是可执行文件)
点击部署
除了使SAP Crystal Reports Runtime成为先决条件之外,还需要修改开发计算机上的product.xml文件.该文件位于:{Program Files}\Microsoft SDKs\Windows\v*.0A\Bootstrapper\Packages\Crystal Reports for .NET Framework 4.0\
找到以下行并将其注释掉:
现在,重新发布您的解决方案,安装程序应该在64位计算机上安装两个运行时.