Most Crystal Reports applications have never been audited .
Crystal Reports has a confirmed future through at least 2031 — which makes now a sensible time to confirm your own applications are keeping pace with it. Some are still running versions built years ago, on technical foundations (what’s formally called the runtime) that have since moved on. A Crystal Reports Audit checks exactly that — version by version, application by application — the same routine due diligence most organizations have simply never gotten around to.
Four versions, four very different situations.
The audit starts by finding out which one of these describes your applications today.
Crystal Reports has a long future. That’s exactly why an audit is worth doing.
Because the platform itself has a confirmed roadmap through 2031, keeping your own applications current is a genuinely worthwhile investment — not a scramble. Most organizations running Crystal Reports have simply never had that confirmed. One quick note first: when we say “report” here, we mean the same document you already know — the PDF, the printed statement. That document isn’t changing. What an audit checks is the version and technical foundation producing it.
What an audit actually confirms
- + Which version of Crystal Reports each of your applications is actually running — most organizations don’t know this offhand.
- + Whether that version is still receiving support, and for how long.
- + Whether the technical foundation underneath a version — formally, the runtime — needs updating alongside it.
- + A short list of easy wins worth bundling in while we’re already checking — reports to retire, reports worth automating, reports worth a cosmetic refresh.
What this isn’t
- – A sign that Crystal Reports is in trouble. It has a confirmed future through at least 2031.
- – A big project on day one. It starts as a short inventory, and everything after that is scoped per application.
- – A reason to worry about your report designs. The .rpt files are almost always fine — it’s the version and technical foundation around them worth confirming.
A few plain explanations before the details.
Your version
Crystal Reports 2016, 2020, and 2025 each sit in a very different situation — 2016 is unsupported, 2020 is aging out in about a year, 2025 is current through at least 2031. Knowing which version each of your applications runs is the first thing an audit establishes.
The technical foundation underneath
Alongside the version, some applications also depend on an older technical foundation — formally called the runtime — that needs updating separately. Support for the older one ended in December 2025.
What “recompile” means
Think of it like re-saving an old document in a format current software can actually open. The report itself usually doesn’t change — we update the application around it to work with the current version, then confirm the output still matches exactly.
Updating the database connection
Some individual reports also need their database connection method updated inside the file — a separate, smaller step from the version update. Most reports take seconds; a handful with more complexity can take longer.
Getting an inventory
Most organizations don’t know offhand which applications use Crystal Reports or which version. That’s fine — building that list is Stage 1 of the audit, and it’s on us, not you.
For context: 32-bit computing has been gradually giving way to 64-bit for about two decades — most software made that shift years ago. Crystal Reports applications are simply some of the last things still quietly depending on the older path, which is exactly why this tends to go unnoticed until it’s checked.
Your report, your application, and your server carry three different risks.
Almost nobody separates them, which is often why a runtime question gets mistaken for a reporting problem.
The report file (.rpt)
Usually fine. Portable, and rarely the source of a compatibility issue.
Rarely the issueThe application around it
Where the runtime dependency actually lives — an embedded 32-bit reference, an older project targeting a retired API. This is what a recompile addresses.
Usually the focusThe server it runs on
Often the least visible layer. A 32-bit dependency can tie a web server to an older OS or complicate a cloud migration your IT team is planning.
Sometimes the real blockerWorth five minutes before that project gets scoped. A 32-bit Crystal Reports dependency is a common, easy-to-miss reason a routine migration turns into a blocked one.
You probably came here with one of these in mind.
You don’t need to know the right terminology. Tell us what’s actually happening and we’ll work out what it means.
“Our IT vendor mentioned a runtime and we weren’t quite sure what it meant for us.”
Completely normal. It’s an application-level detail almost nobody’s had reason to look at before.
“We just moved to a new server and now some reports fail every so often.”
A common symptom of an older runtime meeting infrastructure it was never tested against. Worth a look.
“Nobody here has opened this application’s source in years.”
Also completely normal — and exactly why a quick inventory is worth doing.
“We didn’t even know Crystal Reports had a 32-bit and 64-bit version.”
Most people don’t. That’s the whole reason a short audit is worth the time.
Four ways an older runtime tends to surface — usually looking like something else’s fault.
Compatibility hiccups
Reports that work today and occasionally fail after an OS, .NET, or server update.
Fewer security updates
An unsupported runtime simply stops receiving new patches going forward.
Deployment friction
New infrastructure that doesn’t cleanly support a 32-bit dependency, forcing a workaround instead of a straightforward fix.
Cloud migration friction
A 32-bit dependency can be the quiet reason a “simple” server upgrade or cloud move turns out not to be simple.
Some of you are. There’s nothing to do here, and we’ll say so plainly during the first look.
Not ready for a full audit? Start smaller.
Unlike a desktop application, the Crystal Reports component on your web server doesn’t have a “Help → About” screen — but checking the version installed only takes a couple of minutes if you’re comfortable in your web server’s control panel. Here’s how, plus a way to skip it entirely if you’d rather we just confirm it for you.
Already a BKY client? We can typically log in and confirm this directly on our end — no extra steps needed from you.
Check it yourself
- On the web server, open Control Panel → Uninstall a program (previously called “Add/Remove Programs”).
- Look for SAP Crystal Reports runtime engine for .NET Framework in the list.
- Note the version number shown to the right — it’ll look something like 13.0.25.3158.
Want a quick read on what that version means? Paste this into your favourite AI tool, with your own version number in place of the example:
“I am looking at a Crystal Reports runtime engine installed on my web server. The version is 13.0.25.3158. Can you tell me what generation (Crystal Reports version) this release relates to, and if it’s far enough behind that I should be concerned and plan for an upgrade?”
Most AI tools will give you a frank, useful answer. If you’d rather skip all of the above, tell us what you found — or give us a way to check it ourselves — and we’ll confirm it for you, in writing, at no charge.
Six stages, in order, with a clear line between what’s yours and what’s ours.
Every application is scoped and priced on its own. Here’s the sequence we follow for each one.
Discovery
We find out what’s actually running, and whether your environment can support the current version.
- Inventory every .rpt file connected to your applications — typically 1 to 3 hours of our time, depending on how many applications you have.
- Confirm the age of your operating system and web server software against what the current Crystal Reports server requires, so any larger compatibility question surfaces now.
- Point us to the applications that use Crystal Reports.
- Let us know if your own team maintains any Crystal Reports directly — this applies to a few organizations, but worth mentioning up front.
Review Together
You tell us what matters about each report before anything changes.
- Share the full list of what we found — the Crystal Report Audit.
- Schedule a short walkthrough for any report you’d like enhanced — usually the fastest way to actually understand a change, rather than trading emails about it.
- Review the list and flag anything worth noting: is this report still needed, does it need enhancing, does it run in a reasonable amount of time.
A few things worth considering while you’re reviewing: reports nobody uses anymore are worth retiring rather than carrying forward. A report that’s manually run and emailed to the same people every month might be worth scheduling instead. And anything that goes out to your own customers is worth a look with fresh eyes, cosmetically.
Scope & Estimate
We turn your feedback into a plan and a price.
- Work out what each report actually needs — most take seconds, a few take longer depending on complexity.
- Roll that into a single estimate for the whole project.
- Confirm what moves forward, what gets retired, and which enhancements you’d like bundled in while we’re already in there.
Schedule
Pick a date, and we build the plan around it.
- Lock it in and prepare everything ahead of that day.
- Choose a migration date that works for your team.
Deployment Day
Typically 30 minutes to 2 hours, depending on scope — for the Crystal Reports work specifically.
- Recompile the applications, update database connections where a report needs one, and apply the changes you approved.
- Stay reachable during the agreed window in case anything needs a quick decision.
If your IT team determines the web server itself needs an upgrade, that’s a separate project we’d scope on its own — see the section above on why your server can be part of this too.
Reversing a runtime change, if it were ever needed, typically isn’t as simple — it can mean multiple server reboots and real downtime. That’s exactly why we test and verify beforehand rather than finding out in production.
Validation
Two sets of eyes, before anyone calls it finished.
- Spot-check a sample of reports ourselves to confirm things look right.
- Check as many of your own reports as you can to confirm everything runs the way you expect.
One of our longest client relationships is already fully current. This page exists so the rest of that conversation happens on a calm timeline, on purpose — not during an outage.