Метод не рекомендуется разработчиками СУБД Firebird (на базе которой крутится SupaSoft), но имеет место быть. Не рекомендуется потому, что в данном способе перестают работать блокировки при доступе нескольких пользователей к одной и той же записи и это может вызвать конфликт или даже повреждение БД. Все выполняется на свой страх и риск.
Никакого взлома или вмешательства в саму программу при этом нет.
Рецепт:
1. Устанавливаем серверную версию Firebird 2.5.9
2. С помощью утилиты gbak создаем резервную копию БД командой:
gbak -b base.fdb base.fbk
3. Удаляем Firebird 2.5.9 и устанавливаем Firebird 3
4. Выполняем восстановление базы в новую из бэкапа:
gbak -с base.fbk base.fdb
Получена копия БД, сконвертированная в версию 3
5. Копируем из папки установки Firebird 3 папку с программой:
- fbclient.dll и переименовываем в gds32.dll (старую dll в папке с программой предварительно удаляем)
- plugins/engine12.dll в созданную в каталоге прогаммы папку plugins.
- firebird.conf
6. В firebird.conf добавляем (или раскомментируем) строки:
RemoteFileOpenAbility = 1 #... ServerMode = ThreadedShared
7. Таким образом мы отключили блокировку совместного доступа к файлу БД и принудительно обучили Firebird-библиотеку "понимать" UNC-пути вида "\\Сетевая папка\SupaSoft\base.fdb"
8. Размещаем папку с программой на сетевом диске, вытаскиваем ярлыки на нужных компьютерах.
Желательно при этом иметь стабильную сеть 100Мб/с а в идеале - 1Гб/с.