Crystal Reports Not Working in Web Application: COMException (0x8007007F) - asp.net

I am currently working on upgrading an ASP.NET web application to use Crystal Reports SP31. When running the web application on our web server, I get the following error:
System.Runtime.InteropServices.COMException (0x8007007F): Retrieving the COM class factory for component with CLSID {F734A321-8381-4FFD-A614-139E8906DC83} failed due to the following error: 8007007f The specified procedure could not be found. (Exception from HRESULT: 0x8007007F).
at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.CreateRptDoc()
at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper..ctor()
at CrystalDecisions.CrystalReports.Engine.ReportDocument.Initialize()
at CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()
at CrystalDecisions.CrystalReports.Engine.ReportClass..ctor()
The Crystal Reports runtime (32-bit) is installed on the web server, and its IIS is configured to allow 32-bit applications. I've run the same web application on my own local machine with no problems.
Any advice would be greatly appreciated.
Update - I've identified the cause of the issue. The server also has Shibboleth 3.3.0 installed on it, and apparently that "breaks" the Crystal Reports runtime. Unfortunately, the Shibboleth application is required, so I can't just uninstall it.
Does anyone have any suggestions on what to do here?

Related

SAP Business One DI API for ASP.NET Web Application

I developed one console application using DI API(x64). Now I am trying to develop a web application using the same code but getting the following error in the very first line
SAPbobsCOM.Company sboCompany = new SAPbobsCOM.Company(); //in this line
Retrieving the COM class factory for component with CLSID {632F4591-AA62-4219-8FB6-22BCF5F60090} failed due to the following error:
80040154 Class not registered (Exception from HRESULT: 0x80040154
(REGDB_E_CLASSNOTREG)).
I have tried changing Platform target (x84, any, x64) but no luck. I also have Enabled 32-Bit Applications on IIS.
I am using Visual studio 2017 community version and Windows 10(x64).
I have no idea why I am getting this error as its perfectly working for my console application. I have seen some are suggesting to use DI Server for web application but I am wondering if its possible to use DI API as I won't have much traffic.
Any help would be highly appreciated.

ASP.NET MVC application csc.exe The process was terminated due to an unhandled exception

Recently I deployed an ASP.NET MVC application from my local system to the Live server. The application works perfectly on my local system, but for some reason the application crashes on the Live server.
I checked the Event Viewer and found out the following error occurs whenever I access the applicaiton:
Application: csc.exe
Framework version: v4.0.30319
Explanation: The process was terminated due to an unhandled exception.
Exception information: System.MissingMethodException
stack:
Location Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main (System.String [])
Now what's weird is that the application I am deploying is just another version of the same application that was running fine previously. I only changed some routing info in the new version and as I said it works fine on my local system. Can you please let me know what's causing this issue. Thanks
As it turns out, it was due to an UPDATE of a Nuget Package. I got the idea from the link #Mindless shared (thanks for that). So what happened was I upgraded Microsoft.NET.Compilers from 1.3.2 to 2.0.1. And it nearly brought down the entire application. Not sure why because the correct versions were mentioned in the Web.Config files too.
So I downgraded the package back to 1.3.2 and the application works flawlessly.
Possibly Entity Framework and .Net versions on your host are not compatible with what you are publishing. More information about your local and production host environments would be helpful.

Is not a valid Win32 application error on IIS

I have an Asp.Net Web Api project that uses a 32 bit dll. I can deploy and use the application on IIS my own machine after changing Enable 32 bit Applications property of the application pool to true. Here are the properties of my windows and IIS:
But if I try to publish my project to a demo server using the same settings, I'm getting the following error:
Could not load file or assembly 'ManagerApi.DLL' or one of its
dependencies. is not a valid Win32 application. (Exception from
HRESULT: 0x800700C1)
Here is the versions of windows and IIS on the demo server:
How can I overcome this error?
Thanks in advance,

VB.NET (ASPX) Application Works in Visual Studio but Not in IIS

We have a legacy VB.NET (ASPX) application that we need to migrate to a new server after the old server crashed, unfortunately we keep running into a weird Oracle issue (possibly caused by a 32bit/64bit conflict issue). Here is the error message we receive on the new server when running under IIS 7.5:
The provider is not compatible with the version of Oracle client
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client
However, when running the exact same application on the exact same server in Visual Studio 2010, the application works without any issues.
Some of the things I've tried .... changing the Oracle.DataAccess.dll file from the current 32bit to 64bit file, same results (doesn't work in IIS, works in Visual Studio); deploying the application as a package or as a website (same result).
I always got stuck on this kind of migration from 32bit to 64bit problem in Windows Server and IIS.
First, you need to know that Visual Studio is 32bit-based. Although you use a 64-bit Oracle Client in 64-bit server, you will definitely fail. So the first thing to accomplish your connection is to use a 32-bit Oracle Client.
Now that you have installed your 32-bit Oracle Client, when you deploy your Web Application in your Server you will find that IIS can't connect to Oracle due to this problem:
The provider is not compatible with the version of Oracle client
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client
Because IIS is running into a 64-bit server, it won't run propperly. So, you must set your pool application to allow 32-bit application by clicking on Advance Settings and setting to True the 'Enable 32-bit Applications' option.

not able to deploy crystal report Visual Studio 2010 website at webserver

I have developed my application in vs10 using crystal report 13.0.2000.0, my Application works fine on development machine, but after deployment on webserver I m getting following error:
Retrieving the COM class factory for component with CLSID {4DB2E2BB-78E6-4AEA-BEFB-FDAAB610FD1B} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
the environment at server is Windows 2008 R2 in 32 bit.
I have installed following
http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_32bit_13_0_2.zip
pls help me on this issue.
Regards,
Maybe IIS user or ASP.NET user doesn't have the right to access Reports Folder, please check
My Issue was resolved after giving the IIS User access to the C:\Windows\Temp folder. Crystal uses this directory and if IIS user does not have access, you might get above error.

Resources