Проект "Агбис Сервисные работы"
Форма "Настройка Firebird" предназначена установки, удаления и настройки служб Firebird и их клиентов.

<alert info> Все необходимые модули, если они доступны, автоматически устанавливаются в процессе создания резервной копии. </alert> Дистрибутивы для установки Firebird берутся с сайта обновлений АГБИС.
<alert info> В настоящий момент доступны дистрибутивы версий:
* Firebird-2.5.7
* Firebird-3.0.12
* Firebird-4.0.1
* Firebird-5.0.1
</alert>
<alert info> При установке Firebird-2.5.7.27050 дополнительно устанавливается Embedded Firebird-2.5.9.27139
Для более старших версий Embedded Firebird не требуется, так как основной Firebird может работать в режиме Embedded
</alert>
<alert info> Ручная настройка служб требуется только в случае отката конвертации базы данных в ручную.
</alert>
Для проверки наличия дистрибутива
`http://agbis.co/download/firebird/firebird_2_client.zip
http://agbis.co/download/firebird/firebird_2_x32.zip
http://agbis.co/download/firebird/firebird_2_x64.zip
http://agbis.co/download/firebird/firebird_2_x32_embedded.zip
http://agbis.co/download/firebird/firebird_2_x64_embedded.zip_crc
http://agbis.co/download/firebird/firebird_2_x64_embedded.zip
http://agbis.co/download/firebird/firebird_3_client.zip
http://agbis.co/download/firebird/firebird_3_x32.zip
http://agbis.co/download/firebird/firebird_3_x64.zip
http://agbis.co/download/firebird/firebird_4_client.zip
http://agbis.co/download/firebird/firebird_4_x32.zip
http://agbis.co/download/firebird/firebird_4_x64.zip
http://agbis.co/download/firebird/firebird_5_client.zip
http://agbis.co/download/firebird/firebird_5_x32.zip
http://agbis.co/download/firebird/firebird_5_x64.zip
`
Для ручной установки нужно выбрать версию Firebird. Программа проверяет наличие установленных файлов, наличие дистрибутивов и после этого становятся активными кнопки
Сначала в папку C:\Program Files\Firebird\ папки с дистрибутивом Firebird копируется папка с дистрибутивом.
Например для Firebird 5 это будет папка C:\Program Files\Firebird\firebird_5_x64\.
Затем в реестре Windows прописывается служба.
Список установленных служб отображается ниже.
Если курсором выделить службу в таблице, то ниже в карточке службы Firebird отображаются ее параметры.
Кнопки Применить, Обновить, Запустить, Остановить, Деинсталляция Firebird позволяют изменить состояние службы.
* Кнопка Применить позволяет изменить Тип запуска службы и Порт Firebird.
* Кнопка Обновить считывает состояние службы - это полезно, если служба запущена или остановлена вручную.
* Кнопки Запустить и Остановить запускают или останавливают службу.
* Кнопка Деинсталляция Firebird останавливает службу, удаляет службу из реестра Windows, удаляет папку с фалами службы.
<alert info> Деинсталляция Firebird возможна только для служб установленных из этой программы.
</alert>
Из-за сложностей обновления системных клиентов Firebird, а также проблем с исползованием клиента Firebird не своей версии в случае работы нескольких служб Firebird решено ставить клиентов для каждого сервера Firebird в отдельную папку.
Папка для установки клиентов будет вычисляться по следующим правилам
* Находим DISK, с которого запущено приложение
* Находим папку DISK:\Agbis\Firebird\. Если папки нет, то создается.
* В этой папке будем размещать клиентов в папках типа firebird_X_client
* Клиенты будут автоматически загружаться с сервера http://agbis.co/download/firebird/
Например, для Firebird-5.0.1 будет загружаться файл http://agbis.co/download/firebird/firebird_5_client.zip и распаковываться в папку e:\Agbis\Firebird\firebird_5_client.
Таким образом папки с клиентами Firebird могут дублироваться на разных дисках.
Копируются файлы клиента Firebird в системные папки System32 и SysWOW64
Проблемы:
* Если на компьютере используется несколько серверов Firebird, то клиенты перетирают друг друга и нужно выбрать такого, который саботает со всеми версиями.
* Программа, которая ставит клиента, должна быть запущена от имени администратора.
* Если клиента использует несколько программ, то файл клиента невозможно заменить. Даже отключение отбазы данных не освобождает клиента. Нужно завершить работу программы полностью.
<alert info> Для работы программ АГБИС клиенты из системных папок не используются, поэтому их можно не устанавливать.
</alert>