Search code examples
c++c#-4.0iis-7interopweb-deployment

80040111 ClassFactory cannot supply requested class (Exception from HRESULT: 0x80040111 (CLASS_E_CLASSNOTAVAILABLE))


Retrieving the COM class factory for component with CLSID {0A80A563-28AE-11D3-9CD6-00C04F8B8EF1} failed due to the following error: 80040111 ClassFactory cannot supply requested class (Exception from HRESULT: 0x80040111 (CLASS_E_CLASSNOTAVAILABLE))

I've Searched for the entry in Registry I can Find Assembly with {0A80A563-28AE-11D3-9CD6-00C04F8B8EF1} at HKLM\Software\Classes\Wow6432Node\CLSID{0A80A563-28AE-11D3-9CD6-00C04F8B8EF1}\InProcServer32

I've Created Application By using embedded interop types it is working fine in the Local Machine but when i deploy it to another Server it gives the mentioned Error.

i am getting an mentioned error at following line of code

XYZ.IApplication Sr = new Application();

i have added reference to XYZ.tlb which is in C++ to my C# project.

here is the stack trace

   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)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at System.Activator.CreateInstance(Type type)

Solution

  • It was an Issue due to Permission. IIS_User was not having permission to Access to Create Instance.

    Updated Administrator Credential to App Pool and Problem was resolved.