Trying to access Crystal Report through ASP.NET Web Forms application and get the following error when trying to run the report.
System.Runtime.InteropServices.COMException: Retrieving the COM class factory for component with CLSID {C0C99FA5-E1D3-494E-BE0C-73C19424F91C} failed due to the following error: 8007007f The specified procedure could not be found. (Exception from HRESULT: 0x8007007F).
I confirmed:
- SAP Crystal Report Application Server OEM 2020 is installed, licensed, and running - I can connect to the port, service is running in the Configuration Manager tool
- CR Runtime 64-bit components are installed on web server and match the version
- IIS web app is working fine, and is 64-bit (Enable 32-bit applications is False in the web application's Application Pool) - all pages and content works except for Crystal Reports integration
- ODBC connections are created for SQL Server as 64-bit (the rest of the ASP.NET Web app uses this connection just fine - gets data, confirmed correct DBMS and schema is used, etc.)
- Installed the VS Redist for this version, per the SAP PDF instructions on their website for 2020 OEM edition
I found the root cause, or at least part of it..
I had Shibboleth SP (version 3, if that matters) installed on the same server, and it added some components and IIS modules which seemed to cause a conflict with Crystal Reports OEM components.
I uninstalled Shibboleth SP and I no longer get the error.
I reinstalled Shibboleth SP and I once again get the Crystal COM error.
Crystal doesn't like Shibboleth, and this apparently is a known issue: https://shibboleth.net/pipermail/users/2021-January/048923.html
SysInternals Process Monitor is also helpful for confirming the problem, if this happens to you (and if you aren't using Shibboleth, i.e.: some other component is making Crystal choke.)