C# вылетает ошибка при работе с Interop. Что делать?
На целевой машине нет Access нужной версии(стоит 2010) и я поставил туда Access 2016 Runtime.
При попытке выполнить программу получаю такую ошибку:
System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with CLSID {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9} failed due to the following error: 80080005 Ошибка при выполнении приложения-сервера (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 .Clasess.AccessProvider..ctor(String pathToDatabase) in ...
Подскажите, с чем может быть связана такая ошибка?
Использую либы версии 15.0.0.0.
Ошибка возникает в методе, который создает объект Application и пытается открыть БД Access...
Access 2016 Runtime не достаточно для создания объекта?
Подскажите, что с этим делать? Работать через Oledb не предлагать.
Если используется функциональность, которая присутствует в Access 2016 и в Access 2010, то можно написать ручками (без референсов) загрузку библиотеки Access через тот же System.Activator.CreateInstance с использованием Dynamic (я подозревая, что ваша версия .NET это уже поддерживает). На тостере есть пример, правда там используется Excel.