Дата публикации: 09.11.2008
Обновлено: 22.08.2018
Работа с Firebird и InterBase с ограниченными правами в системе.
Доступ к Firebird и InterBase без установки дополнительных компонентов в операционной системе актуален для:- WEB-приложений на внешнем хостинге.
- Portable-приложений в связке с Firebird Embedded.
- Приложений, работающих с базой данных на компьютере с ограниченными правами пользователя.
Манифест — альтернатива регистрации компонента в реестре
Манифест(manifest) — это файл XML, описывающий клиентское приложение и библиотеки, необходимые для его работы.Манифест может храниться как в ресурсах приложения, так и на диске, рядом с исполняемым модулем программы. Во втором случае для того, чтобы приложение обнаружило файл манифеста, он должен называться: ИМЯ_ПРОГРАММЫ.exe.manifest.
Возможность работы с манифестами доступна начиная с Windows XP.
Создание файлов манифеста для подключения к Firebird и InterBase
Чтобы клиентское приложение обнаружило незарегистрированный драйвер необходимо:- Создать файл манифеста клиентского приложения с именем ИМЯ_ПРОГРАММЫ.exe.manifest.
- В нем указать ссылку на файл манифеста IBProvider без расширения .manifest.
- Создать файл манифеста IBProvider (v1, v2 или v3).
- В манифесте IBProvider указать соответствующие CLSID и ProgID из таблицы 1.
Драйвер | Текущая версия | Имя файла драйвера | Имя файла манифеста | progID | clsID |
IBProvider v1 | 1.9.28.3295 | _IBProvider.dll | _IBProvider.dll.manifest | LCPI.IBProvider.1 | {1352C0F0-DED2-11D3-A7AC-00A0C907DB93} |
_IBProvider_i.dll | _IBProvider_i.dll.manifest | ||||
IBProvider v2 | 2.6.22.3295 | _IBProvider_v2.dll | _IBProvider_v2.dll.manifest | LCPI.IBProvider.2 | {3439B9D5-23B6-4661-9F0C-5CD74B1C66CB} |
_IBProvider_v2_i.dll | _IBProvider_v2_i.dll.manifest | ||||
IBProvider v3 | 3.23.1.17715 | _IBProvider_v3_i.dll | _IBProvider_x3_i.dll.manifest | LCPI.IBProvider.3 | {769A1280-04BF-11D8-AE8B-00A0C907DB93} |
_IBProvider_x3_w64_i.dll | _IBProvider_x3_w64_i.dll.manifest |
Пример файла манифеста клиентского приложения под .Net Framework ИМЯ_ПРОГРАММЫ.exe.manifest, использущего IBProvider v3 (32bit):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="ИМЯ_ПРОГРАММЫ_БЕЗ_РАСШИРЕНИЯ" version="1.0.0.0" processorArchitecture="msil"></assemblyIdentity> <dependency> <dependentAssembly> <assemblyIdentity name="_IBProvider_x3_i.dll" version="3.16.1.15012"></assemblyIdentity> </dependentAssembly> </dependency> </assembly>
Пример файла манифеста _IBProvider_x3_i.dll.manifest:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <file name = "_IBProvider_x3_i.dll"> <comClass progid="LCPI.IBProvider.3 " clsid="{769A1280-04BF-11D8-AE8B-00A0C907DB93}" threadingModel = "Apartment" /> </file> </assembly>
Дополнительные модули для работы провайдера IBProvider v3
Для работы IBProvider v3 требуется Microsoft Visual C++ 2005 SP1 Redistributable Package 32-х битной или 64-х битной версии, в зависимости от разрядности операционной системы.Microsoft Visual C++ 2005 SP1 Redistributable Package содержит три файла:
- msvcp80.dll
- msvcr80.dll
- Microsoft.VC80.CRT.manifest
Дополнительные модули для работы провайдеров IBProvider v2 и IBProvider v1
Для функционирования IBProvider v2 и IBProvider v1 на компьютер клиента необходимо скопировать библиотеку cc3250mt.dll. Её так же можно скачать с сайта ibprovider.Можно ли работать c IBProvider без регистрации на Windows Vista?
Предложенное решение не работает на Windows Vista. О том, как настроить свое приложение для работы с IBProvider без регистрации под Висту, рассказано на нашем форуме поддержки.
Полезные ссылки
Теги статьи: Firebird, InterBase, web, portable applications, firebird embedded, asp, .net, odbc driver, ole db provider, Firebird oledb provider, Firebird ODBC driver, InterBase ODBC driver, InterBase Delphi, Firebird Delphi
Дата публикации: 09.11.2008. Права на материал принадлежат: IBProvider. При перепечатке ссылка на сайт https://www.ibprovider.com/rus обязательна.