powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / поиск FBClient.DLL в реестре
11 сообщений из 36, страница 2 из 2
поиск FBClient.DLL в реестре
    #39136337
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochDBConstructor,

так ведь нужно ещё определиться, что писать

то есть аппликуха должна, желательно, видеть ещё до попытки ткнуться в файл, про каждую DLL

1) версию частичную x.y
2) версию частичную x.y.z или даже x.y.z.bbbbb
3) разрядность
4) наличие embed-движка внутри DLL

Вообще мне в этом плане импонирует симлинковая система хранения dll'ек разных версий в Линуксе, но в реестре симлинки делаются только на папки, не на значения

Если клиент грузит fbclient.dll через LoadLibrary (что обычно бывает в приложениях, писанных на C++ Builder и Delphi), то вообще никаких проблем. Если же приложение скомпоновано со статической линковкой "заглушки" (lib\fbclient_ms.lib) для fbclient.dll и есть желание подсовывать приложению правильную версию библиотеки, то надо смотреть в сторону winsxs (%SystemRoot%\winsxs).
Про работу подсистемы winsxs знаю крайне мало, к сожалению...

P.S. Хорошо бы в lib до кучи закинуть "заглушку" fbclient.a для ГНУСов.

P.P.S. Если все сборки Firebird по прежнему делаются на MS VC++ 2005 SP1, то в дистрибутив неплохо бы поместить vcredist:
https://www.microsoft.com/en-us/download/details.aspx?id=26347
который запускать в процессе развертывания дистрибутива с ключом "молчаливой" установки. Кстати, библиотеки из vcredist как раз разворачиваются в winsxs не перекрывая другие билды библиотек этих же версий.
...
Рейтинг: 0 / 0
поиск FBClient.DLL в реестре
    #39136484
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBConstructorПосле чего разрабы смогут спокойно находить fbclient.dll через реестр.
мутота, извини за выражение.
- приложение может быть 32битным, а установленный ФБ 64битным, или наоборот.
- фб может вообще не быть на этом компьютере
- ФБ может быть одной версии, а приложение должно работать с другой версией либы.
- ну и сам же Arioch упомянул про ембеддед.

Arioch написал какую-то лажу, а ты ему поддакиваешь.

Если нет практического опыта приложений под разные ФБ - то я могу сказать. Надо клиента таскать с приложением. Аминь.
...
Рейтинг: 0 / 0
поиск FBClient.DLL в реестре
    #39136491
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvНадо клиента таскать с приложением. Аминь.
Но в некоторых случаях лучше обойтись строчкой "требуется установленный (в системный
каталог) клиент Firebird версии не ниже чем..." в системных требованиях. Тут, правда,
CORE-4847 жизнь подгаживает...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
поиск FBClient.DLL в реестре
    #39136499
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv- приложение может быть 32битным, а установленный ФБ 64битным, или наоборот.
В таком случае 32-битное приложение полезет за путем к fbclient.dll в ветку реестра "HKLM\SOFTWARE\Wow6432Node\Firebird Project\Client", которую, естественно, не найдет.

kdv- фб может вообще не быть на этом компьютере
Поэтому был предложен выбор установки клиентских библиотек без установки сервера, как это "всю жизнь" делают в установщике MS SQL Server.

kdv- ФБ может быть одной версии, а приложение должно работать с другой версией либы.
Для этих целей Microsoft использует подсистему winsxs, которая может хранить все билды библиотек одной и той же версии и подсовывать программе нужную библиотеку.

kdvНадо клиента таскать с приложением. Аминь.
Еще там же "таскать" все необходимые fbclient.dll библиотеки из MS VC++ 2005 SP1 (vcredist).
я то не против... )
...
Рейтинг: 0 / 0
поиск FBClient.DLL в реестре
    #39136509
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBConstructorДля этих целей Microsoft использует подсистему winsxs, которая может
хранить все билды библиотек одной и той же версии и подсовывать программе нужную
библиотеку.
В отличии от библиотек MS, у fbclient.dll нет проблем с обратной и даже местами прямой
совместимостью.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
поиск FBClient.DLL в реестре
    #39136511
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, значит одной "проблемой" меньше. :)
...
Рейтинг: 0 / 0
поиск FBClient.DLL в реестре
    #39136512
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Лажу написали авторы опросника про инсталлятор. Я же просто их лажу попытался применить к реальности.
...
Рейтинг: 0 / 0
поиск FBClient.DLL в реестре
    #39136513
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дaже примериь, а не применить.
...
Рейтинг: 0 / 0
поиск FBClient.DLL в реестре
    #39136526
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochЛажу написали авторы опросника про инсталлятор. Я же просто их лажу попытался применить к реальности.
там был вопрос
Does your deployed applications checks the Firebird registry keys to find where the client library (fbclient.dll) is located, when loading it?

следовательно, вопрос был про штатную ветку реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Firebird Project\Firebird Server\Instances
DefaultInstance=...

Откуда ты взял, что инсталлер пишет что-то про клиентскую либу в реестр - неизвестно (тем более, что все вопросы инсталлятора ФБ уже давно известны).

Собственно, все это обсуждение - полная чешуя, потому что надо было сказать совсем другое. Например это:

- сейчас вот так, и с этим есть такие-то проблемы. А вот если сделать вот эдак, то по крайней мере у 10% приложений с этим не будет проблем.
А перед тем, как это сказать, неплохо бы подсобрать малость статистики. Хотя бы о том, что сейчас масса случаев, когда на одном компе приложения пытаются поставить разные ФБ в том или ином виде. Плюс совместимость протоколов fbclient/gds32. Плюс рассмотрение разных сценариев - от штучной установки, до массовой (на предприятии). И т.д.
...
Рейтинг: 0 / 0
поиск FBClient.DLL в реестре
    #39136529
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

я еще добавлю, что разумеется, некто может делать какие угодно ветки в реестре для своего приложения, и туда класть фбклиента при установке этого приложения. Никому другому и в голову не придет посягать ни на эту ветку, ни на папки с этим фбклиентом.
...
Рейтинг: 0 / 0
поиск FBClient.DLL в реестре
    #39136663
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvтам был вопрос
Does your deployed applications checks the Firebird registry keys to find where the client library (fbclient.dll) is located, when loading it?

следовательно, вопрос был про штатную ветку реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Firebird Project\Firebird Server\Instances
DefaultInstance=...

Откуда ты взял, что инсталлер пишет что-то про клиентскую либу в реестр - неизвестно (тем более, что все вопросы инсталлятора ФБ уже давно известны).

Максим Горький говаривал: «Да не о том думай, что спросили, а о том — для чего? Догадаешься — для чего, тогда и поймешь, как надо ответить.»
Мне кацца, Arioch понял "для чего".
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / поиск FBClient.DLL в реестре
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]