Стандартный инсталятор при указании установки только клиента делает всё
аналогично инсталяции сервера, только не все файлы ставит.

В смысле? Чего он не ставит?

Файлы сервера.

В установке Firebird что клиента, что сервера так все просто, что написать свои три четыре команды в инсталляторе не представляет трудности.

Просто кинуть fbclient.dll в system32 нельзя ибо он не найдёт свои файлы
без ключа в реестре. Да и MS уже не рекомендует засирать сей каталог.
Кто не найдет?

fbclient.dll msg-файл.

msg-файл нужен для корректного отображения сообщений. Ложи по правилам в свою папку.

Ну а положить клиентскую библиотеку рядом с основным приложением что
мешает?

Этого способа хочется избежать.

Почему?

Потому что криво. Да и одного dll мало. Надо ещё рантайм и msg-файл.
Причём msg он ищет в каталоге на уровень выше.

Я не понимаю, чем не угодила папка приложения.

Если так то или встроенные сервера и тогда пофиг или один сервер, одной версии. Всякие глупости по портам и сервера запущенные как приложения лучше пропустить.

Несколько программ ходят к серверу через одну dll. Хочется клиент FB
видеть инсталированным в отдельном каталоге.

Даже не знаю, что сказать. Мне тоже хочется красивого и вечно, но жизнь так любит удивлять....

Тут два варианта.
1 Положить все в папку программы (на мой взгляд это лучший вариант, никто не затрет поверх то что важно) 2 Написать свой инсталлятор клиента (плохой вариант, это легко, но ты не один - вас легион)

Firebird популярный сервер. Многие его используют. Не мудрено, что пользователь может наставить не ведая от 1.0 до 2.5.
Увы, ты от этого не застрахован.
Как вариант, ложи все к себе в папку и никто каку тебе не подставит.
Чем не решение? Есть обновление версии никто не мешает проверить, что за dll у тебя лежит. так ведь? О чистой и не засоренной винде у рядового пользователя думаю стоит забыть. :-)))

Ну и на последок, скриптов на эту тему просто немерено. Если такой ленивый "блондин" как я, нашел под InnoSetup все что нужно за 20 мин., то у тебя точно трудностей не должно быть.

Дмитрий


Ответить