Автоматические обновления


Вместе с плагинами A>V>C> поставляется утилита автоматических обновлений AVC_Updater для загрузки новых версий прямо из базы данных A>V>C>. Вы можете включить автоматические обновления или загружать обновления по вашему желанию одним нажатием кнопки.

Важно понимать, что обновления и версии едины для всех программ, плагинов и команд A>V>C>. Если у вас установлены несколько плагинов A>V>C>, то обновятся они все сразу.

Настройка обновлений

Для настройки автоматических обновлений запустите программу AVC_Updater из пускового меню Windows или из папки плагина.

Тут вы сможете увидеть номер вашей версии плагинов, номер загруженной (но еще не установленной) версии и номер самой свежей версии плагинов, которая опубликована в базе данных A>V>C>. 

Достаточно просто нажать кнопку Установить около номера новой версии, чтоб началась процедура обновления. Если нет новой версии, то и кнопки не будет.

Здесь же вы можете выбрать режим автоматических обновлений.

Ниже вы увидите все последние версии за год. Вы можете заменить текущую версию плагинов на старую, переустановить вашу версию заново или установить одну из новых версий.

Если вы включите автоматические обновления, то программа AVC_Updater пропишет себя в автозагрузку и будет запускаться вместе с загрузкой системы.

Режимы обновлений

В этом режиме программа не проверяет обновления. Но если вы зайдете на страничку "Обновление программ", то можете самостоятельно выбрать и установить любую версию.

Если появилась новая версия, то вы увидите кнопку "Установить". Так же увидите в списке все пропущенные вами версии. Вы можете выбрать и установить не только последнюю версию, но и любую предыдущую, включая переустановку текущей версии или откат к более ранней версии. При переключения в этот режим программа самоудалиться из автозагрузки.

Когда программа обнаружит, что на сервере появилась новая версия, на экране появится окно запроса на установку новой версии. Если вы откажетесь от установки, то программа больше не будет спрашивать вас до тех пор пока не выйдет следующая версия. А если вы согласитесь - начнется закачка новой версии. В конце работы вы получите предупреждение о необходимости перезагрузки CAD.

Как только обновления будут найдены на сервере, программа запустит процесс обновления. Когда обновления будут скачены вы получите предупреждение о необходимости перезагрузки CAD.

Как только обновления будут найдены на сервере, программа запустит процесс обновления. Вы не увидите никаких признаков того, что происходит загрузка и распаковка. Предупреждения о необходимости перезагрузки CAD не будет. Но при следующем запуске CAD-программы, вы как обычно, увидите предупреждение, что запущена новая версия.

Бета-версии

Альфа-версиями программисты называют первые, самые ранние сборки программ с совершенно новыми функциями. Такие сборки не предназначенные для публикации. В них почти ничего нормально не работает. Но когда все явные ошибки исправлены можно опубликовать вторую (бета) версию. Бета-версия тоже может содержать скрытые ошибки и глюки. Но если вы хотите использовать новые возможности программ раньше всех -  то вам придется рискнуть и установить бету. Когда бета-тестирование завершено, создается окончательная версия (релиз). В ней уже нет никаких новых функций и она более-менее безопасна и стабильна. 

В настройках автоматических обновлений вы можете поставить галочку "Устанавливать Бета-версию" и программа будет вам предлагать установить бета-версии. Вы автоматически становитесь бета-тестером и сможете сообщить о найденных проблемах раньше других. За хорошие отчеты об ошибках вы получите небольшие бонусы - ваш баланс будет пополнен и возможно этого хватит на следующую готовую лицензию.

В списке версий все бета версии помечены словом beta после номера версии. Будьте с ними осторожны. 

Активация новых версий

Новые версии не требуют активации. Однако если вы купили "вечную" лицензию, то вы не можете бесплатно использовать новые версии вышедшие позже чем через год, после получения лицензии. В этом случае вам необходимо получить новую лицензию или пользоваться старой версией плагинов.

Как это работает

Понимание системы автоматических обновлений поможет вам разобраться со сложными проблемами запуска плагинов A>V>C>.

Проблема в том, что программа не может обновить сама себя. Пока программа (или плагин программе) запущена и работает - ее файл защищен от записи. Для обхода этой проблемы в состав всех плагинов A>V>C> добавлен маленький плагин AVC_Starter.dll 


AVC_Starter.dll

Именно эту программу запускает AutoCAD из bundle-пакета. А для BricsCAD - она называется AVC_Starter_Br.dll и именно ее надо настроить на запуск в BricsCAD. Сразу после запуска CAD, программа Starter прочитает в реестре Windows какую именно версию вы устанавливали в последний раз. Это может быть и не самая свежая версия. Если записи в реестре нет, то программа начнет поиск. В папке %appdata%\AVC\Plugin будет выбрана самая свежая подпапка. Если на вашем компьютере еще нет такой папки - значит автоматические обновления не запускались ни разу и можно запускать плагин из его родной папки %appdata%\Autodesk\ApplicationPlugins\AVC_xxxx.bundle. Теперь, когда папка выбрана Starter запускает главный модуль всех плагинов A>V>C> - библиотеку AVC_Plugin_Ac.dll или . Ac в названии - это от AutoCAD. Для BricsCAD стартовый модуль называется AVC_Starter_Br.dll и запускает он библиотеку AVC_Plugin_Br.dll (или AVC_Plugin_Br21.dll для версии BricsCAD V21). Таким образом Starter осуществляет запуск нужной версии плагина из правильной папки, а не только из папки откуда он сам запущен. Если вы не пользуетесь автоматическими обновлениями, то у вас никогда не появятся папки версий в %appdata%\AVC\Plugin и значит вам нет никакого смысла запускать Starter. В этом случае вы можно подправить PackageContents.xml, так чтоб запускался сразу AVC_Plugin_Ac.dll и AutoCAD будет стартовать на пол секунды быстрее.


AVC_Plugin_XX.dll

Эта библиотека содержит сам код плагина, всех команд, функций и форм, добавляемых плагином в CAD. Для старых AutoCAD используется библиотека AVC_Plugin_Ac.dll. Для AutoCAD 2025 и новее - AVC_Plugin_Ac25.dll. Для старых BricsCAD - библиотека AVC_Plugin_Br.dll. Для версии BricsCAD V21 и новее - AVC_Plugin_Br21.dll. Каждый раз, при загрузке, плагин проверяет свою версию, сообщает о ней в командной строке. А если эта версия загружена впервые - то выдаст вам предупреждающее окно.

Во всех плагинах A>V>C> лежат одни и те же программные библиотеки dll. Когда CAD находит несколько плагинов, он запускает один (первый попавшийся) Starter и затем один AVC_Plugin_xx, а все остальные игнорирует, так как не может загрузить несколько библиотек с одинаковыми именами. Это нам и надо. Никаких лишних библиотек в памяти не будет. А все команды, всех плагинов содержатся в каждом AVC_Plugin_xx.dll. В разных архивах с плагинами A>V>C> отличаются только Cuix-файлы с меню и ленточными панелями, программный код один и тот же. Поэтому логично устанавливать сразу плагин AVC_Pro, а активировать только нужные вам команды.


Процесс обновления

Если авто-обновления включены, то каждые 4 часа программа будет подключаться к серверу A>V>C>. 

После подключения программа будет искать на сервере новую версию. Если вы не включили "Устанавливать Бета-версию", то Бета-версии игнорируются. Если найдена новая версия - программа дождется завершения текущей команды и выдаст вам запрос - обновлять или нет. Можно включить режим обновления без запроса. Однажды отказавшись от установки версии, вы заблокируете авто-обновления до выхода следующей версии.

Далее начинается закачка архива с сервера A>V>C> на ваш компьютер в папку %temp%. Потом запускается программа распаковки 7zip. Программа извлекает файлы в ту же самую временную папку %temp%. 

На этот момент новая версия считается скаченной. Ее номер сохраняется в реестре. И, при следующей загрузке CAD, Starter будет пытаться запустить именно ее. Но может и не запустить - ведь файлы еще лежат во временной папке.

Затем создается задание для копирования файлов. Сразу копировать файлы в правильные парки нельзя - ведь сейчас запущен CAD и программные библиотеки заблокированы от записи. Поэтому запускается отдельная программа AVC_FileCopy. Она будет работать и после закрытия CAD и найдет момент когда CAD не запущен и библиотеки можно обновить. 

Файлы будут постепенно скопированы в новую папку с номером версии в %appdata%\AVC\Plugin и во все папки плагинов A>V>C> в %appdata%\Autodesk\ApplicationPlugins. Везде появятся новые dll и меню cuix. То есть обновлены будут все плагины. 

При следующем запуске CAD, Starter найдет новую папку версии в %appdata%\AVC\Plugin и запустит плагин оттуда.