Не удалось получить фабрику класса COM для компонента с CLSID {00024500-0000-0000-C000-000000000046} - 80080005 - PullRequest
2 голосов
/ 23 января 2020

Я использую Interop, чтобы открыть экземпляр Excel, чтобы получить некоторые данные. Однако следующая строка:

Application xlApp = new Microsoft.Office.Interop.Excel.Application();

выдает эту ошибку:

System.Runtime.InteropServices.COMException
  HResult=0x80080005
  Message=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)).
  Source=mscorlib
  StackTrace:
   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)

Это работало до обновления Office до Office Pro Plus. На других машинах это было решено путем изменения удостоверения для интерактивного пользователя из конфигурации DCOM.

Однако я не смог заставить его работать, попробовал несколько других решений (изменили разрешения и т. Д. c.), Но ни одно из них не показалось Работа.

Кто-то сталкивался с этой проблемой и сумел разобраться, пожалуйста?

1 Ответ

1 голос
/ 27 января 2020

Проблема была решена. Кажется, у меня была странная проблема с моей лицензией Office.

Пришлось также выполнить следующие шаги:

  1. Конфигурация DCOM> Лицензирование Office COM-сервер 16. Щелкните правой кнопкой мыши> Свойства
  2. На вкладке Удостоверение обновите до Интерактивный пользователь
  3. На вкладке «Безопасность» укажите права локального запуска для пользователя, который используется в качестве удостоверения пула приложений, в разделе «Разрешения на запуск и активацию».
...