Ошибка активации iLogic

Автор Тема: Ошибка активации iLogic  (Прочитано 6561 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн OwnWayАвтор темы

  • ADN OPEN
  • Сообщений: 17
  • Карма: 0
Ошибка активации iLogic
« : 05-02-2020, 20:31:54 »
Добрейшего. Подключаю Dll в уже запущенный Inventor, вылетает ошибка.
Код - C# [Выбрать]
  1.         public void Activate(Inventor.ApplicationAddInSite addInSiteObject, bool firstTime)
  2.         {
  3.             m_inventorApplication = addInSiteObject.Application;
  4.             ApplicationAddIns appAddins = m_inventorApplication.ApplicationAddIns;
  5.  
  6.             //Код добавления Dll в необходимую директорию ...
  7.  
  8.             appAddins.UpdateAddInList();//Обновление списка dll. < = Скорее всего проблема в этом
  9.         }

Пробовал подключать через VBA, такая же ошибка.
Код - Visual Basic [Выбрать]
  1. Public Sub ListDrawingResources()
  2.    Dim aDoc As ApplicationAddIns
  3.    Set aDoc = ThisApplication.ApplicationAddIns
  4.    aDoc.UpdateAddInList
  5.  End Sub

Забавно то, что какое-то время все прекрасно работало.
Как справиться с ошибкой?

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Ошибка активации iLogic
« Ответ #1 : 05-02-2020, 20:40:24 »
Ну другом компе пробовали действия повторить?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ошибка активации iLogic
« Ответ #2 : 05-02-2020, 21:42:10 »
Забавно то, что какое-то время все прекрасно работало.
А что за это время произошло? Обновления Windows? Обновления Inventor?
Нашел аналогичную тему: https://forums.autodesk.com/t5/inventor-customization/ilogic-activation-error/td-p/8997418
Может что-то с этой dll не так?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн OwnWayАвтор темы

  • ADN OPEN
  • Сообщений: 17
  • Карма: 0
Re: Ошибка активации iLogic
« Ответ #3 : 05-02-2020, 23:24:19 »
mikazakov, Да, пробовал, результат тот же.

Александр Ривилис, Ничего не менялось.
Я тоже её находил, но там нет ответов на вопрос.
С dll все так. Они в отдельности все работают нормально, но подгружаться в уже запущенный Inventor не хотят.

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Ошибка активации iLogic
« Ответ #4 : 06-02-2020, 05:44:38 »
Они в отдельности все работают нормально, но подгружаться в уже запущенный Inventor не хотят.
CLSID у эддинов случаем не совпадает?

Оффлайн OwnWayАвтор темы

  • ADN OPEN
  • Сообщений: 17
  • Карма: 0
Re: Ошибка активации iLogic
« Ответ #5 : 06-02-2020, 09:49:05 »
mikazakov, нет, не совпадает.

Я так понимаю, используя UpdateAddInList, в Inventor заново подключаются уже подключённые dll. От этого и ошибка. Вопрос в том, как подключить новую dll в запущенный Inventor?

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Ошибка активации iLogic
« Ответ #6 : 06-02-2020, 13:14:13 »
Я так понимаю, используя UpdateAddInList, в Inventor заново подключаются уже подключённые dll.
В хэлпе написано, поиск новых надстроек, про перезагрузку старых не говорится. Но вопрос: зачем это делать? Обычно, для работы все надстройки загружаются во время запуска самого инвентора пользователем. Зачем что то потом пытаться копировать в папки с манифестами эддинов после загрузки инвентора а затем это все подключать?
Если в данном случае Эддин не нужен или мешает то можно просто его деактивировать, а при необходимости снова активировать
ApplicationAddIn.Activate
ApplicationAddIn.Deactivate

Оффлайн OwnWayАвтор темы

  • ADN OPEN
  • Сообщений: 17
  • Карма: 0
Re: Ошибка активации iLogic
« Ответ #7 : 07-02-2020, 13:44:44 »
mikazakov, деактивация не освобождает dll из процесса Inventor. И при повторном включении он снова подхватывает её. А я бы сначала хотел проверить актуальность версии этой dll.

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Ошибка активации iLogic
« Ответ #8 : 07-02-2020, 19:39:37 »
А я бы сначала хотел проверить актуальность версии этой dll.
У ApplicationAddIn есть некоторые свойства типа
ApplicationAddIn.DataVersion
ApplicationAddIn.ProgId
ApplicationAddIn.ClientId
может что то поможет.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ошибка активации iLogic
« Ответ #9 : 07-02-2020, 20:23:11 »
А я бы сначала хотел проверить актуальность версии этой dll.
Что имеется в виду под актуальностью? Версию dll-файла? Например так:
https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.fileversioninfo.fileversion
или так:
https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assemblyname.version
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн OwnWayАвтор темы

  • ADN OPEN
  • Сообщений: 17
  • Карма: 0
Re: Ошибка активации iLogic
« Ответ #10 : 09-02-2020, 21:42:29 »
Александр Ривилис, так, проверю я версию. А как обновить то? Inventor сразу подвязывает dll, что не дает обновить её. Или делать сторонний код для контроля актуальности версии?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ошибка активации iLogic
« Ответ #11 : 09-02-2020, 22:32:56 »
Или делать сторонний код для контроля актуальности версии?
Конечно. IMHO это неправильно из под запущенного Inventor обновлять его плагины. .NET-приложение, загруженное в AppDomain выгрузить из него нельзя. Только выгрузив AppDomain: https://docs.microsoft.com/en-us/dotnet/standard/assembly/load-unload
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ошибка активации iLogic
« Ответ #12 : 09-02-2020, 23:38:07 »
А вот и подтверждение о невозможности выгрузить .NET addin из Inventor: https://adndevblog.typepad.com/manufacturing/2013/10/unload-net-addin-without-closing-inventor.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Ошибка активации iLogic
« Ответ #13 : 10-02-2020, 08:31:59 »
так, проверю я версию. А как обновить то?
при установке эддина можно посмотреть манифесты нужного эдиина, все манифесты лежат в определенном месте.
вот выдержка из хэлпа про местоположение манифестов:


Where to Put Your Files
Now that you have your add-in dll and have created your .addin file you need to know where to place those files so that Inventor can find and load your add-in.

The following four locations are supported. You can choose any one of the four depending on the needs of your add-in. Your .addin file can exist in any one of the following four locations or any subdirectory. The "%XXXX%" portion of each of the paths is an operating system defined variable. When using Explorer you can enter it as part of the path and Explorer will evaluate it to use the actual path defined by the variable.

All Users, Version Independent

Windows 7/8.1/10 - %ALLUSERSPROFILE%\Autodesk\Inventor Addins\

All Users, Version Dependent

Windows 7/8.1/10 - %ALLUSERSPROFILE%\Autodesk\Inventor 20xx\Addins\

Per User, Version Dependent

In Window 7/8.1/10 - %APPDATA%\Autodesk\Inventor 20xx\Addins\
Per User, Version Independent

In Window 7/8.1/10 - %APPDATA%\Autodesk\ApplicationPlugins