Как я могу разрешить исключение: «Получение фабрики COM-класса ... не удалось ... 80080005 Выполнение сервера не удалось» от Codesoft? - PullRequest
1 голос
/ 10 июля 2020

Пожалуйста, помогите советом или советами по устранению этой ошибки.

Я работаю в небольшой медицинской компании, занимающейся исследованиями и разработками, и у нас есть несколько установок Codesoft 2012, 2015 и 2018 на Windows 7 и Windows 10 станков. Codesoft устанавливается локально, и каждый экземпляр имеет собственную лицензию, а не запускается с сервера. У нас есть собственное приложение, разработанное кем-то, кого здесь уже нет (C#. NET VS2013), которое мы запускаем и которое использует Codesoft API для печати этикеток. Я внес несколько незначительных изменений в нашу программу (не связанных с Codesoft), построил и развернул ее (если это имеет значение, использует InstallShield single setup.exe). Раньше у нас не было этой проблемы, но в этой сборке на некоторых ПК при запуске Codesoft API возникает задержка в 120 секунд, и возвращается следующее исключение:

Ошибка инициализации приложения с исключением: исключение, возникшее во время инициализации: получение фабрики классов COM для компонента с CLSID {XXXX} завершилось неудачно из-за следующей ошибки: 80080005 Ошибка выполнения сервера (исключение из HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).

Это строка кода, которая возвращает исключение:

Codesoft = new Tkx.Lppa.Application();

Конечно, это просто запуск API, ничего особенного, и это первая точка использования Codesoft API. Lppa.exe (программа Codesoft) появляется в диспетчере задач на 2 минуты. РЕДАКТИРОВАТЬ (Это происходит на Windows 7 и 10, а также с Codesoft 2015 и 2018, но никогда с Codesoft 2012. На 32-разрядных машинах Windows 7 с Codesoft 2018 он некоторое время работал нормально, затем начал показывать ошибку также.) Запуск Codesoft вручную работает нормально. Я никогда не видел этой проблемы во время разработки, работая на машине Windows 10 с Codesoft 2012 (версия, на которую у нас есть лицензия разработчика). Я обратился в службу технической поддержки Codesoft (Teklynx), но они не помогли (отказ в поддержке по телефону для API, только электронная почта, ответа пока нет).

Некоторые попытки устранения неполадок, которые я предпринял:

Возможно, я что-то пропустил в приведенных выше ссылках, и я, вероятно, go вернусь к ним и попробую снова. ИЗМЕНИТЬ Следующий шаг: настройка среды разработки на машине Win 7 и перестройка.

1 Ответ

0 голосов
/ 14 июля 2020

Решено. В своей сборке я использовал версию API lpp anet .dll 2012 года. Вот почему он работал в 2012 году, а не в других версиях (хотя непоследовательная работа в 2018 году выглядит странно). Использование версии более высокого уровня работает. Я был сбит с толку тем, что имел лицензию на разработку только на 2012 год (думал, что это та версия, которая использовалась ранее, а когда ее не было), и не знал, что она была обновлена ​​и не совместима с прямой версией.

...