Создание ошибки Com 80004005

Я пытаюсь запустить FoxPro в Windows 2012,

Я зарегистрировал dll с помощью regsvr32

Когда я пытаюсь запустить приложение с помощью dll, я получаю это

Ошибка: создание экземпляра COM-компонента с CLSID {F6C4F46E-58A4-4774-802F-1CF9E64376B0} из IClassFactory не удалось из-за следующей ошибки: 80004005. Трассировка: в Lib.FoxProWrapper..ctor (String ODBC, String Acct, String Pswd) в App.Processor..ctor (String SrvType, String ServiceName) в App.App.startApp ()


person ConfusedUser    schedule 07.05.2015    source источник
comment
Все еще выдает ту же ошибку ...   -  person ConfusedUser    schedule 08.05.2015
comment
@MattMcNabb Нет, 0x80004005 - это E_FAIL Неуказанная ошибка. Вы думаете о 0x80070005 E_ACCESSDENIED   -  person Igor Tandetnik    schedule 08.05.2015
comment
@IgorTandetnik о да. IIRC 80040005 - это то, что вы получаете, когда во время создания COM-объекта происходит сбой (что может быть связано с невозможностью загрузить зависимость)   -  person M.M    schedule 08.05.2015


Ответы (1)


Я предполагаю, что здесь вы говорите о COM-DLL, созданной с помощью Visual FoxPro, и, судя по всему, вы пытаетесь создать ее экземпляр на C #.

Убедитесь, что у вас правильно установлены среды выполнения. Вы можете скачать их здесь.

person Alan B    schedule 08.05.2015
comment
Среда выполнения устранила проблему, я исправил ее, запустив установщик prereq от foxpro. - person ConfusedUser; 08.05.2015
comment
Алан, расскажи, как все взаимосвязано? Я пытаюсь понять это под капотом - person ConfusedUser; 08.05.2015
comment
Что ж, вы можете взглянуть на эту Wiki: fox.wikis.com/wc .dll? Wiki ~ VFP9RuntimeFiles ~ VFP Предполагая, что VFP9, есть аналогичные страницы для более ранних версий. Вы можете увидеть там соответствующие библиотеки DLL VFP и их зависимости. Я полагаю, вам не хватало одного из них. - person Alan B; 08.05.2015