|
поиск FBClient.DLL в реестре
|
|||
---|---|---|---|
#18+
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 не перекрывая другие билды библиотек этих же версий. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 17:21 |
|
поиск FBClient.DLL в реестре
|
|||
---|---|---|---|
#18+
DBConstructorПосле чего разрабы смогут спокойно находить fbclient.dll через реестр. мутота, извини за выражение. - приложение может быть 32битным, а установленный ФБ 64битным, или наоборот. - фб может вообще не быть на этом компьютере - ФБ может быть одной версии, а приложение должно работать с другой версией либы. - ну и сам же Arioch упомянул про ембеддед. Arioch написал какую-то лажу, а ты ему поддакиваешь. Если нет практического опыта приложений под разные ФБ - то я могу сказать. Надо клиента таскать с приложением. Аминь. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 19:16 |
|
поиск FBClient.DLL в реестре
|
|||
---|---|---|---|
#18+
kdvНадо клиента таскать с приложением. Аминь. Но в некоторых случаях лучше обойтись строчкой "требуется установленный (в системный каталог) клиент Firebird версии не ниже чем..." в системных требованиях. Тут, правда, CORE-4847 жизнь подгаживает... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 19:22 |
|
поиск FBClient.DLL в реестре
|
|||
---|---|---|---|
#18+
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). я то не против... ) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 19:32 |
|
поиск FBClient.DLL в реестре
|
|||
---|---|---|---|
#18+
DBConstructorДля этих целей Microsoft использует подсистему winsxs, которая может хранить все билды библиотек одной и той же версии и подсовывать программе нужную библиотеку. В отличии от библиотек MS, у fbclient.dll нет проблем с обратной и даже местами прямой совместимостью. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 19:42 |
|
поиск FBClient.DLL в реестре
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, значит одной "проблемой" меньше. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 19:46 |
|
поиск FBClient.DLL в реестре
|
|||
---|---|---|---|
#18+
kdv, Лажу написали авторы опросника про инсталлятор. Я же просто их лажу попытался применить к реальности. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 19:47 |
|
поиск FBClient.DLL в реестре
|
|||
---|---|---|---|
#18+
Дaже примериь, а не применить. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 19:47 |
|
поиск FBClient.DLL в реестре
|
|||
---|---|---|---|
#18+
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. Плюс рассмотрение разных сценариев - от штучной установки, до массовой (на предприятии). И т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 20:08 |
|
поиск FBClient.DLL в реестре
|
|||
---|---|---|---|
#18+
Arioch, я еще добавлю, что разумеется, некто может делать какие угодно ветки в реестре для своего приложения, и туда класть фбклиента при установке этого приложения. Никому другому и в голову не придет посягать ни на эту ветку, ни на папки с этим фбклиентом. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 20:10 |
|
поиск FBClient.DLL в реестре
|
|||
---|---|---|---|
#18+
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 понял "для чего". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 03:31 |
|
|
start [/forum/topic.php?fid=40&msg=39136499&tid=1562434]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 263ms |
total: | 391ms |
0 / 0 |