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

Новый установщик 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.
