Crystal Reports Legacy SDKs Upgrade Options
With Crystal Reports 2011 not including any developer SDKs (see the blog So, what’s up with CR 2011 and .NET SDK – actually, any SDK?) a lot of legacy application care takers appear to be lost. The question being asked more and more; “Now what?”. In this blog, I will lay the landscape for all developers left in the dust of history. I will explain options for applications built using the Crystal Reports Print Engine SDK, the Crystal Reports VBX, the Crystal Reports OCX, the Crystal Reports VCL and the Crystal Reports Report Designer Component. I will even touch on Compiled Reports. Not that any of this information is not available on the SAP web pages, but at least it will be in one concise document. As a background, an interesting blog I wrote a while back is worth looking at; Short history and resources for Crystal Reports Software Developer Kits (SDK). A warning;
A lot of what is in this blog will be very bad news for many developers and very, very, very bad news for some…
To start, a little flow chart diagraming the SDK upgrade options through the ages:
VBX was the very first SDK released for Crystal Reports. A cool technology for the day (1993) and VB 2. The VBX was replaced by the OCX (in some circles referred to as ActiveX). If you are still with an application that uses the VBX, I have nothing but condolences for you. You must still be on WIN 3.1. (Did the VBX work on XP? I don’t remember.) In any case, only one option for you; delete and move on to current technologies; .NET or Java.
Pretty well everything said for the VBX applies to the OCX. Though at one time or another I actually found a blog on how to work with the Crystal Reports OCX in VS .NET 2003. Do I dare link to it here… well, just for the fun of it, here is the link; Using Crystal Reports OCX Control in VB.NET 2003 (). But promise you will never, ever even think of posting any questions on this in the SAP Crystal Reports, version for Visual Studio (link to the forum only given for reference purposes). The OCX came in 16 and 32 bit flavors and was the first 32 bit SDK shipped for Crystal Reports. Moving on, .NET or Java should be your options.
Print Engine SDK
The Print Engine SDK consisted of very powerful Windows APIs and extended the VBX and OCX to new levels. Not as easy to work with as the VBX or OCX APIs, but wow at the time, it was the CR SDK to play with. Since the header files for this SDK were last released in version 9 of Crystal Reports (well OK, version 10, but that was for OEM partners only) any further development with this technology is fraught with disappointment and frustration. If you are really, really good, you can take it to CR 10 using CR 9 header files, but that is it. And no, I don’t have the header files available anymore. Way too much water under that bridge. So, in a nut shell, the upgrade story is the same as with the VBX and OCX. Thus, in a nut shell, the upgrade story is the same as with the VBX and OCX; .NET, Java.
Compiled Reports were not really an SDK, but they were such a great technology I’d be remiss not to mention it here. In a nut shell, versions of Crystal Reports (v. 4 (?) to version 8.5) allowed you to compile a report into an executable file and distribute the file to any computer. Imagine! An application exe without the development work! You could filter data, log on to a database, print, export, view… Oh, the good old days. No successor as such to this technology – other than the Crystal Reports viewer.
The Automation Server SDK was the Report Designer Component’s precursor. When it released, I always had a feeling that it was really an experiment to see if this “new” COM technology would work. And it did – very well actually. The Server, having a lifetime of only two versions, was quickly replaced by the Report Designer Component (RDC). Once again, as far as upgrade, same story as for the above SDKs applies; .NET or Java.
Report Designer Component (RDC)
Report Designer Component was the successor of the Automation Server – A better, faster more robust SDK that for the first time included Report Creation APIs as well as the Embeddable Designer (first for OEM partners only, later on for anyone who wished to add the necessary licensing). The RDC is present in Crystal Reports from version 6 to version 11.5 spanning 8 versions of Crystal Reports. The most long lived Crystal Reports SDK, unless you include the VCL but I don’t due to the issues described under the “VCL for Delphi” heading below. By CR 8.5, with the Internet becoming main stream, you could even build the first reporting web applications using the RDC. Crystal Reports XI R2 is the last version of Crystal Reports to include the RDC… Now, a word of defense here. Don’t say you were not warned about the RDC going away;
The Statement of Direction regarding the future of the RDC was published in 02 March 2006
On October 20, 2008, I wrote and published the blog Report Designer Component – Past, Present & Future
What’s New in Crystal Reports 2008 also discusses the termination of the RDC in CR 2008 (12.x)
More bad news; CR XI R2 is no longer supported – not since June 30, 2011. Thus, there will be no new updates or fixes released. You can not obtain phone support either. You can however post your queries to the Legacy SDKs – SAP Crystal Reports forum (SAP Crystal Reports – Legacy SDKs). Do not forget to use the search box in the top right corner of this web page – preferably before you post to the forum. The search will deliver KBases, Articles, wikis, blogs, sample apps and more. If you are upgrading from a version of Crystal Reports earlier than version 9, look at the following “must see” resources:
CR XI R2 can still be downloaded as trial version as well as an upgrade from the FREE TRIALS website. Also see the blog Where did all the Where did all the Crystal Reports XI R1 and R2 fixes go? as you want to ensure that you are using the latest Service Packs – always a great idea. Now the big question; What are your options if you want to move beyond Crystal Reports XI R2? Same as for all of the other above SDKs and technologies; VS .NET or Java. No ifs, no buts. It is your only option.
.NET & Java upgrade port options resources
VS .NET option
More information on what versions of Crystal Reports support what version of VS .NET can be found in the wiki Which Crystal Reports assembly versions are supported in which versions of Visual Studio .NET.
See the reference page SAP Crystal Reports, version for Eclipse Unfortunately, that is about all I can offer re. Java as I simply don’t do Java. However, there is the SAP Crystal Reports, version for Eclipse forum monitored by a few excellent Java guys.
VCL for Delphi
The original VCL was actually developed by a contractor in version 4, or 4.5 of Crystal Reports. Unfortunately, during one of the many take overs and other changes, the source code was lost. So Frank Zimmerman ( a genius in his own right) who worked in CR technical support at the time, decided to rewrite the VCL from scratch. The technology is based on (wraps) the Print Engine APIs.
As a point of interest, the VCL was always purely a tech support technology and R&D never added a single line to it (not as far as I know anyhow). When you downloaded the VCL, you also got a “sample” application as well as all the source code (guess you can’t lose the source code if everyone has it…). The application was really a show case for the VCL. It was so good that many of us in tech support used it as a utility in every day troubleshooting of the OCX, the Print Engine APIs and even the early .NET SDK.
The news for VCL app upgrades is not as bleak as for the VBX, OCX, PE APIs or the RDC. The article Updating the Visual Component Library in Crystal Reports XI explains how to update the VCL so it will work with virtually any version of Crystal Reports. A word of caution here though. Remember I mentioned that R&D never touched the VCL? And that the Print Engine SDK was last seen in CR 9? The upshot of that is that features introduced in Crystal Reports after version 9 will not work with the VCL. An example would be dynamic and cascading parameters. And the further away from CR 9 you go, the more such issues you are bound to run into. You also have to be concerned with runtime deployment. After CR 8.5, it is pretty well impossible to deploy any CR runtime without using the appropriate MSM or MSI file(s). And since as far as R&D is concerned the VCL does not exist, there are no MSM or MSI files for the VCL. And tech support is not about to build these either. Solution? Use the appropriate version RDC MSM (see the wiki Crystal Reports Report Designer Component Runtime Distribution – Versions pre 8.0.x to 12.0) AND add the file CRPE32.DLL to your deployment project, ensuring the dll is installed into the appropriate Crystal Reports bin directory (e.g.; same directory as where all the other CR files are installed). OK, so that will take you to version 11.5 of Crystal Reports (CR XI R2). Since the RDC is not available after CR XI R2 there are no RDC MSM files either… One option; use the MSM files for .NET. Issue; you will have to ensure that the .NET framework is installed before trying to install the CR runtime. Probably not too much of an issue with any modern Operating Systems, but good to know.
Given the declining state of the VCL with each subsequent version of Crystal Reports, what is your option if you are using Delphi? Port the application to Delphi .NET. Trevor Dubinsky has written a series of blogs on Crystal Reports, Delphi and .NET. See the following:
Introduction to Delphi Prism applications development.
Delphi Prism, how to setup the environment for Delphi Prism, how to setup the environment for Crystal Reports 2008 and BOBJ Enterprise R3 development.
Delphi Prism Sample Applications
Delphi Prism 2011
Crystal Reports for Visual Studio 2010 and Delphi Prism
As tough as it sounds; It’s time to move on. Will it be an easy transition? Probably not, certainly not if you’re trying to update and application that uses version 5 OCX. But it has to be done. And remember, we are here to help, be it on the forums or phone support. BTW.; just in case you wonder what is the difference between the forums and phone support, see the blog What are these “support” forums good for anyhow?. Links to the forums and phone support:
SAP Crystal Reports, version for Visual Studio
This forum is dedicated to topics related to custom application development or deployment with Crystal Reports in .Net. This includes full versions of Crystal Reports as well as those versions of Crystal Reports bundled with Microsoft Visual Studio .Net.
SAP Crystal Reports, version for Eclipse ()
This forum is for topics related to custom application development or deployment with Crystal Reports in Java. This includes development using the Java Reporting Component (JRC) SDK and Java Bean data sources, as well as development using Crystal Reports for Eclipse.
SAP Crystal Reports – Legacy SDKs
This forum is dedicated to topics related to legacy SDKs, including the Report Designer Component (RDC), OCX, VCL, and Crystal Reports Print Engine (CRPE).
SAP BusinessObjects BI Legacy Products
This forum is dedicated to all other development-related questions which are not directly addressed by other forums. This includes Business Objects SDKs, products, or technologies which do not fall under BusinessObjects Enterprise, BusinessObjects Edge, Crystal Reports Server, or Crystal Reports (for example Desktop Intelligence SDK, Universe Designer SDK, Portal Integration Kits, Java User Function Libraries, and other third party technologies or development languages).
.NET SDK Application Development
This forum is dedicated to development and deployment of .Net applications that connect and interact with BusinessObjects Enterprise, BusinessObjects Edge, or Crystal Reports Server. This includes the development of applications using the BusinessObjects Enterprise, Report Application Server, Report Engine, and Web Services SDKs
Java SDK Application Development
This forum is dedicated to development and deployment of Java applications that connect and interact with BusinessObjects Enterprise, BusinessObjects Edge, and Crystal Reports Server. This includes but is not limited to the development of applications using the BusinessObjects Enterprise, Report Application Server, Report Engine, and Web Services SDKs.
If you are interested in phone support, see the On Line Store.