Server error - Retrieving the COM class factory for component with CLSID failed due to the following error: 80070005 Access is denied

0

I've been search on this question for hours and I've come up against a brick wall ...

I have an application up and running on my localhost on a VM and actually, it's working but when I try and log in to the application I get the following server error message

Retrieving the COM class factory for component with CLSID {9A4246A3-5CF7-4CD5-A3FE-D19B69BA1C26} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

There's LOADS of similar questions like this on Stackoverflow but I can't find one similar to my problem.

Like this one for example

The issue seems to be with permissions in IIS - as far as I can tell my user has full permissions but as the other question above explained

  1. From the Start menu, click Run and type Dcomcnfg.exe.
  2. In Component Services, click Console root, expand Component Services, expand Computers, expand My computer,expand DCOMConfig.
  3. Search for your object. Click on it. ... steps continue (see other question) but this is where things differ for me ...

So I'm search for a file here named 9A4246A3-5CF7-4CD5-A3FE-D19B69BA1C26 from my error message - the only problem is that it doesn't seem to exist ... ?

So have I miss understood these answers or is there something strange going on here?

Any advice to push me in a new direction to get this issue resolved would be very much welcome!

N

asp.net
iis
asked on Stack Overflow Feb 7, 2017 by Neil Kelsey • edited May 23, 2017 by Community

1 Answer

4

Found the problem!

I never found out why that object never turned up in Component services but I did resolve the server error.

I followed on from the 'Access is denied' part of this error message - basically my IIS user didn't have sufficient permissions to access this area - the logged in area of my application.

  • In IIS I went to to my Application Pools
  • Found the site from the list and clicked on 'Advanced settings' in the right hand column
  • In this list under 'Process model' there is an option 'Identity'.
  • By default this was set to 'ApplicationPoolIdentity', click on this and then click on the '...' button to access a pop up
  • In the pop up select 'Custom account' then press the 'set' button.
  • Here you want to enter an existing user with sufficient admin permissions.

I used my Windows username which is an administrator that I logged in to the machine with - interestingly this was on a VM which by default sets up an administrator user which has no password so I had to go to user accounts, create a password then come back to IIS and enter the details accordingly then on a refresh my whole application sprung in to life! :-)

Hope that this might help you!

N

answered on Stack Overflow Feb 8, 2017 by Neil Kelsey

User contributions licensed under CC BY-SA 3.0