Обновление ProjectDB в Windows: приложения и локальная app.so

3 мин чтения

Как Setup обновляет общую установку ProjectDB, какие приложения запускает снова и почему локальная app.so остаётся на месте.

ProjectDB Service Manager: карточка приложения DEMO, управление службой и локальной библиотекой

Новый установщик ProjectDB уже скачан, но на машине работают несколько приложений, а для одного из сценариев выбрана локальная app.so. Нужно ли всё удалять и регистрировать заново? При обычном обновлении через ProjectDB Service Manager — нет. Setup распознаёт установленную программу и переходит в Update. При этом полезно понимать, что он сохраняет и какие проверки остаются за администратором.

Что происходит во время Update

В руководстве описано сохранение зарегистрированных приложений и локальной библиотеки. В коде install-worker.ps1 эта последовательность видна подробнее: установщик собирает список активных служб ProjectDB, останавливает их, обновляет общие компоненты и запускает ранее работавшие службы снова.

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

Остановка на время обновления есть в самой процедуре. Поэтому её стоит выполнять в подходящий момент, особенно когда приложения обрабатывают очереди или общаются с лабораторными приборами. Сохранение регистрации не означает обновление без перерыва в работе.

Почему библиотека не изменилась вместе с ProjectDB

Выбранная через раздел ProjectDB library локальная app.so имеет приоритет над обычным выбором библиотеки. Setup специально сохраняет этот файл перед обновлением и возвращает его после замены файлов ProjectDB. Рядом может сохраняться и файл метаданных app.so.meta.json.

Такое поведение защищает локальную настройку от случайной потери. Но оно же объясняет ситуацию, когда ProjectDB обновлена, а приложение продолжает использовать прежнюю локальную библиотеку. Автоматическое сохранение не подтверждает совместимость app.so с новым окружением: это нужно проверять на задачах приложения.

Кнопка Remove в разделе библиотеки снимает локальное переопределение и возвращает стандартный выбор библиотеки. Она отличается от Remove на карточке приложения. Перед действием посмотрите, в каком разделе находится кнопка и какую настройку собираетесь изменить.

Что проверить после установки

Сначала сравните список приложений и их состояние с записью перед обновлением. Затем проверьте сведения о версии и источнике ProjectDB, доступные в карточках, и выбранную локальную библиотеку. Откройте журнал, если инициализация задерживается или появились новые сообщения.

Наконец, повторите короткую рабочую операцию: получите запись, сохраните тестовое изменение или проведите разрешённый обмен с внешней системой. Успешный запуск службы важен, но сам по себе не проверяет весь путь данных.

Перед обновлением сохраните нужные данные и информацию о конфигурации. Режим Update бережёт регистрации и локальный файл; это не резервная копия PostgreSQL и не универсальный механизм отката приложения. Полезно заранее знать, что именно потребуется восстановить, если проверка нового выпуска не пройдёт.

Документация и исходный код

Иллюстрация: скриншот из репозитория ProjectDB Service Manager.