Дата публикации: 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 Professional или скачать с сайта ibprovider.

Дополнительные модули для работы провайдеров 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 обязательна.