Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)). : System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
at System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType)
at System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(RuntimeType serverType)
at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(RuntimeType serverType, Object[] props, Boolean bNewObj)
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at CALLING_METHOD_IN_MY_LIBRARY_HERE...
The problem is that this error occurs only on the staging server; on my local machine it works fine.
Things that I have tried on the staging server:
**1) Run dcomcnfg open Component Services
2) Expand Component Services "->" Computer "->" My Computer "->" the DCOM configuration "
3) Find the "Microsoft Excel application."
4) Right to open the Properties dialog box
5) Clicked on the "Security" tab,
6) "Launch and Activation Permissions, configure permissions, have added permissions - Identity run under Adminstrator user (This User), Interactive User and Launching Users
7). Launch and activation permissions + Access Permissions + Configuration Permissions => added IIS_IUSRS + Network Service with Full Controll**
Changed the build of the project that converts the .xls file from "Any CPU" to "x86" on my local machine and published this library on the server.
Did someone figured out how to fix this problem? I am struggling on fix this issue for 2 days now.
–
–
–
Using DCOMCNFG.exe. Open it and go to:
Component Services -> Computers -> My Computer -> DCOM Config -> Microsoft Excel Application.
Open the properties, select Identity tab and select the interactive user.
–
Using DCOMCNFG.exe. Open it and go to: Component Services -> Computers -> My Computer -> DCOM Config -> Microsoft Excel Application. Open the properties, select Identity tab and select the interactive user.
BUT - the problem came back every few minutes !
After hours of trying to figure out the cause, I noticed my server had hundreds of opened WINWORD.EXE processes. This caused a memory issue which leaded to the exception from hresult 0x80080005
error.
Well, stupidly enough, I forgot to write the code to close the interop application. Once I fixed that, the error was gone.
doc.Close(false);
Marshal.ReleaseComObject(doc);
word.Quit();
Marshal.ReleaseComObject(word);
I found this article which talks more about this issue in depth If this helps,
error “80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE))” could occur due to following reasons:
The machine has a high CPU load and the process takes a long time to
start and fails to execute the CoRegisterClassObjects() in less than
120 seconds.
The COM server doesn't register for the right class IDs.
The COM server is currently stopping and there is a race condition
between CoCreateInstance and the COM server stopping part.
There is a security problem in the way the COM server is started
(this page seems to suggest misspelled passwords or lacking the
"Login as Batch Job" privilege for "Run As.." COM servers, but
anyway I would suggest re-verifying this information for your
specific configuration)
https://blogs.msdn.microsoft.com/adioltean/2005/06/24/when-cocreateinstance-returns-0x80080005-co_e_server_exec_failure/
–
–
I fixed this issue with this solution:
right click on Component Services/Computers/DCOM Config/Microsoft Word97 - 2003 Document
properties/General Tab
set Authentication Level:None
The fix for me is to disable AutoRecover from File -> Options -> Save,
then discard all autorecovered files. It would appear it's the volume of autorecover files which is the root cause.
Background
I cycle through a lot open / close /compute cycles. Periodically the C# app fails to open a workbook with the below error.
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
The app repeatedly throws this error and is stuck in this state until the AutoRecovered files are cleared from Excel.
Another symptom follows; when I try to open Excel app (as if to create a new workbook, not open an existing one), it takes a long time spinning cpu cycles. It opens eventually and there are tons of files listed in the Recovered files pane on the left.
I Close
the pane using the button, all the files are then discarded. Re-opening Excel again after this procedure is near instant. The app runs fine again from hereon.
–
Type: dcomcnfg -32 (hit enter)
this should open Component Services
Expand Component Services, Computers, My Computer, DCOM Config
Scroll down to "Microsoft Excel Application"
Right Click, select properties, go to Security tab
Edit Access Permissions
Click Add
Type <Computer_Name>/IIS_IUSRS (or go to Locations, select computer name - if using domain, by default, it will search the domain and will not find IIS_IUSRS)
Make sure the check box for "Allow" is checked for "Local Access"
Click OK, Click OK again (no rebooting is necessary)
Windows Update will reset this ever single time
–
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.