Files
Inv_web/INVENTERA_INSTALLER.md
2026-07-26 15:54:16 +03:00

7.6 KiB
Raw Blame History

Установщик Inventera для Windows

Итоговый файл установщика: dist\Inventera.exe.

Что входит в установщик

  • сервер Inventera, собранный в Inventera.Server.exe;
  • официальный 64-битный установщик PostgreSQL 18 от EDB;
  • мастер с автоматическим и ручным режимами;
  • проверка занятости портов;
  • создание базы, пользователя и конфигурации приложения;
  • правило брандмауэра Windows для выбранного порта Inventera;
  • ярлыки веб-приложения Inventera в меню «Пуск» и на рабочем столе;
  • автоматический запуск сервера Inventera при старте Windows.

Автоматический режим

  • PostgreSQL устанавливается без дополнительных вопросов;
  • логин администратора PostgreSQL: postgres;
  • пароль администратора генерируется установщиком и пользователю не показывается;
  • база: Inv_Web;
  • пользователь базы: invwebuser;
  • пароль базы: invwebpassword;
  • порт PostgreSQL по умолчанию: 5432;
  • порт веб-приложения по умолчанию: 5050.

Порты PostgreSQL и веб-приложения не могут совпадать. Если один из требуемых портов занят, мастер не позволит продолжить установку.

Перед запуском PostgreSQL установщик сохраняет его автоматически созданный пароль и выбранный порт в реестре Windows:

HKEY_LOCAL_MACHINE\Software\Inventera\Installer

Это позволяет корректно продолжить установку после ошибки или отмены без генерации нового пароля для уже созданного кластера.

Повторный запуск

Если служба InventeraPostgreSQL18 уже существует, установщик:

  • не запускает установщик PostgreSQL повторно;
  • читает фактический порт из postgresql.conf;
  • показывает этот порт в мастере и запрещает случайно изменить его;
  • использует сохранённый автоматический пароль;
  • повторяет создание базы и конфигурации Inventera.

Занятый порт обнаруженной службы PostgreSQL является нормальным состоянием и не считается ошибкой.

Старые сборки Inventera не сохраняли случайный пароль администратора PostgreSQL. Если найден такой PostgreSQL, автоматический режим остановится с пояснением. Нужно либо выбрать ручной режим и указать известный пароль администратора, либо удалить неудачную старую установку PostgreSQL вместе с её каталогом данных и выполнить чистую автоматическую установку. Каталог данных нельзя удалять, если в нём уже есть нужные базы.

Ручной режим

Мастер предлагает:

  1. установить PostgreSQL из комплекта или использовать существующую установку;
  2. ввести логин и пароль администратора PostgreSQL;
  3. указать порты PostgreSQL и Inventera;
  4. изменить имя базы, логин и пароль приложения;
  5. при использовании существующего PostgreSQL указать путь к psql.exe.

Поля базы заранее заполнены значениями Inv_Web, invwebuser, invwebpassword.

Конфигурация приложения

После успешного создания базы установщик записывает:

%ProgramData%\Inventera\config.json

При запуске Inventera.Server.exe читает из этого файла адрес и порт PostgreSQL, имя базы, логин, пароль и порт веб-приложения. Поэтому введённые в мастере значения автоматически используются кодом приложения.

Ярлык и автозапуск

Ярлык Inventera на рабочем столе открывает веб-приложение в браузере по адресу:

http://127.0.0.1:<порт Inventera>

Сервер регистрируется в Планировщике заданий Windows под именем Inventera Server. Он запускается от системной учётной записи при старте Windows, даже если пользователь ещё не вошёл в систему. При аварийном завершении Планировщик пытается запустить его повторно до пяти раз с интервалом в одну минуту.

При обновлении удаляется старый ярлык Inventera Server из общей папки «Автозагрузка», чтобы одновременно не запускались два экземпляра сервера. При удалении Inventera задание Планировщика также удаляется.

Сборка на Windows x64

Требования:

  • Python 3 с командой py;
  • Inno Setup 6 или 7;
  • заранее скачанный официальный установщик PostgreSQL для Windows x64.

Перед сборкой скачайте установщик PostgreSQL, переименуйте его в postgesql.exe и положите по адресу:

installer\prerequisites\postgesql.exe

Запустить:

build_inventera_installer_windows.bat

Скрипт:

  1. проверит наличие installer\prerequisites\postgesql.exe;
  2. соберёт сервер через PyInstaller;
  3. скомпилирует Inventera.iss;
  4. создаст dist\Inventera.exe.

Установщик PostgreSQL должен находиться здесь:

installer\prerequisites\postgesql.exe

Этот файл включается внутрь dist\Inventera.exe, поэтому готовый установщик работает без интернета.

Важно

  • Установщик требует права администратора Windows.
  • При удалении Inventera база PostgreSQL и файл конфигурации не удаляются автоматически, чтобы не потерять данные.
  • Служебные параметры автоматической установки также сохраняются после удаления Inventera, чтобы PostgreSQL оставался доступен при повторной установке приложения.
  • Если используется другая основная версия PostgreSQL, измените PostgreSqlMajor в Inventera.iss.