Borland C++ Builder

Можно посмотреть на эту проблему с другой стороны. Как избежать потери работоспособности вашего приложения, если другой программист установит свой файл конфигурации BDE поверх установленного вами? Возможное решение этой проблемы - создавать псевдонимы динамически во время работы приложения или анализировать их существование при запуске и создавать их, если по каким-то причинам они исчезли. Многие разработчики хранят информацию о них в локальных ini-файлах вне IDAPI32.CFG.

Вторая проблема может быть связана с несовпадением версий BDE. Если с момента выхода используемой вами версии BDE прошло какое-то время (а на данный момент после C++ Builder появились такие продукты, как Delphi и IntraBuilder 1.5, содержащие более новую версию BDE, чем С++ Builder), есть риск заменить старой версией BDE более новую, если на компьютере пользователя установлены эти средства разработки или созданные с их помощью приложения, что может нарушить их работоспособность.

Чтобы избежать подобных неприятностей, можно воспользоваться одной недокументированной особенностью BDE. Дело в том, что время создания файлов этой библиотеки совпадает с номером версии BDE, чем и можно воспользоваться. Путь к файлам BDE следует искать в реестре Windows (ключ HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine, параметры CONFIGFILE01 и DLLPATH).

Обязательно следует убедиться, что эти каталоги и файлы действительно существуют. К сожалению, не все пользователи грамотно деинсталлируют приложения. Часто бывает, что ставший ненужным каталог просто стирается, при этом каталог с BDE может быть как удален, а может быть, и нет. При этом, скорее всего (исключения бывают очень редко) соответствующий ключ реестра сохранится, "сбивая с толку" инсталляционное приложение.

Отметим, что следует также установить на компьютер пользователя необходимые драйверы SQL Links для доступа к серверным СУБД, если они используются, а также клиентское программное обеспечение для работы с соответствующей серверной СУБД (например, SQL*Net для Oracle). Кроме того, пользователь должен обладать необходимыми привилегиями для доступа к используемым вашим приложением объектам базы данных - таблицам, хранимым процедурам и др. Если вы готовите и серверную часть приложения, следует предоставить администратору базы данных так называемый DDL-сценарий серверной части (DDL - Data Definition Language), представляющий собой сценарий создания объектов базы данных, написанный на SQL либо на его процедурном расширении, характерном для данного сервера баз данных. Подобный сценарий может быть создан вручную либо с помощью какого-либо CASE-средства типа ERwin компании Logic Works (CASE, что расшифровывается как Computer-Aided Software/System Engineering, представляет собой технологию проектирования БД, основанную на графическом описании сущностей, атрибутов и связей между ними).

Если ваше приложение использует ODBC, следует установить соответствующий ODBC-драйвер и, возможно, 32-разрядный ODBC-администратор - он в общем случае не обязан присутствовать на компьютере пользователя.

Установка дополнительных компонентов приложения

Если ваше приложение использует ActiveX-компоненты, следует установить в каталог Windows\System соответствующий файл *.OCX и внести в реестр соответствующие ветви (HKEY_CLASS_ROOT\CLSID\ ) для регистрации соответствующих OLE-серверов.

Если ваше приложение использует какие-либо продукты третьих фирм (например, Run-time-версии генераторов отчетов сторонних производителей, например, Crystal Reports), следует установить их на компьютер пользователя в соответствии с инструкциями по поставке, предоставленными компанией-производителем.

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

Самый простой способ - не использовать экзотических шрифтов. Шрифты типа Arial, Courier и Times New Roman, как правило, есть на всех компьютерах. Если же такой уверенности нет, можно либо предложить пользователю выбирать шрифты для приложения при его запуске и сохранять настройки в файлах (это неудобно, так как при этом надписи могут не уместиться на кнопках, метки могут "наехать" друг на друга и т.д.), либо инсталлировать нужные шрифты вместе с приложением. В случае Windows 95 достаточно скопировать их в каталог Fonts. Можно также присвоить "своим" шрифтам уникальные нестандартные имена, чтобы случайно не заменить ими шрифты, используемые другими приложениями (заменив в англоязычной версии Windows шрифт Arial его русскоязычной версией, вы в некоторых случаях можете лишить вашего пользователя возможности писать в текстовых процессорах по-французски или по-немецки этим шрифтом).

Способы создания дистрибутивов

Прежде чем описать процесс создания дистрибутива, рассмотрим, что именно делает инсталляционное приложение.

Во-первых, оно, как следует из вышеизложенного, копирует файлы (*.exe, *.ocx, *.dll, *.hlp, шрифты, данные и др.) в соответствующие каталоги.

Во-вторых, оно может модифицировать реестр.

В- третьих, оно может модифицировать переменную окружения PATH.

В-четвертых, оно создает программную группу и пиктограммы, а также модифицирует меню Windows-95 или Windows NT.

В-пятых, согласно общепринятым стандартам, оно должно предоставлять пользователю возможность выбора параметров установки (каталог, выбор устанавливаемых частей приложения), чтения лицензионного соглашения и файла readme, содержащего последнюю информацию о продукте.

В-шестых, оно может при необходимости перезапустить Windows.

Как создать инсталляционное приложение? Существует несколько вариантов решения этой проблемы. Во-первых, его можно написать на C++ Builder или Delphi, используя функции Windows API для модификации реестра согласно алгоритму, изложенному выше. Во-вторых, такое приложение можно создать с использованием генераторов дистрибутивов (InstallShield, Wise и др.). Отметим, что использование этих средств обычно подразумевает написание специализированного скрипта на языке, напоминающем С (в случае InstalShield) или Basic (в случае Wise).

Однако самый простой способ создать инсталляционное приложение - использовать входящий в комплект поставки версий Borland C++ Builder версий Professional и Client/Server Suite упрощенный генератор дистрибутивов Install Shield Express, позволяющий предоставить пользователю возможность выбора варианта инсталляции, добавить деинсталлятор (точнее, файл с расширением *.isu, используемый утилитой установки и удаления программ Windows 95), установить BDE, добавить псевдонимы баз данных, редактировать диалоги инсталляционного приложения, создавать программные группы, создавать дистрибутивные дискеты.

Сразу же отметим недостатки дистрибутивов, созданных с помощью этого продукта. Во-первых, этот продукт предполагает, что устанавливаемая (то есть имеющаяся на компьютере, где создается дистрибутив) версия BDE - самая новая, что может привести к замене имеющейся на компьютере пользователя версии BDE на более раннюю. Во-вторых, некоторые диалоги инсталляционного приложения оказываются англоязычными.


Страница: