     29 ГЛАВА 

    Совершенствование приложения 

    Важность правильной установки приложения трудно переоценить. Некорректная 
установка самых потрясающих программ перечеркивает весь затраченный на них 
труд. Установка похожа на рукопожатие: благодаря ей заказчики составляют 
мнение о вас и ваших программах. К счастью, в Delphi есть хорошая утилита для 
создания программы установки. 
    В комплект поставки Delphi входит специальная версия популярного средства 
создания программ установки InstallShield — InstallShield Express. Как вы, 
вероятно, догадались, InstallShield используется для создания программ 
установки приложений, созданных с помощью Delphi. Вам придется определить 
несколько параметров, в зависимости от типа программы установки, а об 
остальном позаботится InstallShield — вплоть до копирования используемых при 
установке заставок на дискету или компакт-диск. Хотя InstallShield берет на 
себя львиную долю работы, все же перед началом создания программы установки 
необходимо кое-что сделать. 

    Семь раз отмерь, один - отрежь 

    Итак, вы решили, что готовы познакомить мир с вашим творением. Первое, что 
сейчас нужно сделать, — это тщательно все обдумать. Определите, из каких 
файлов состоит ваше приложение и расположите их в логическом порядке. 
Разделите их на основные и неосновные. Выделите вспомогательные файлы, которые 
пользователи могут не устанавливать, если им этого не захочется. 
Предварительное планирование сэкономит вам много времени в будущем, когда вы 
приступите к созданию дистрибутивных дисков. 

    Определите требования к сети 

    Определив количество и порядок расположения файлов, необходимо уточнить 
требования к сети, в которой будет работать ваше приложение. Потребуется ли 
протокол TCP/IP? Установлен ли он на компьютерах пользователей вашего 
приложения? Нужен ли доступ к совместно используемому сетевому каталогу? 
Обладают ли пользователи соответствующими правами доступа к этому каталогу? 
Прежде, чем создавать программу установки, необходимо ответить на эти и 
некоторые другие вопросы. 

    Определите требования к драйверам баз данных 

    Если все остальные элементы сети работают нормально, нужен ли приложению 
какой-то определенный драйвер баз данных? Например, если приложение работает с 
таблицами, расположенными на сервере Sybase, то на компьютере, который будет 
использоваться в качестве клиента, нужно установить драйвер Sybase Open 
Client. Если для работы приложения нужен драйвер ODBC, установлен ли он на 
компьютерах пользователей? Эти вопросы касаются только приложений 
клиент/сервер и ODBC-приложений, но они должны быть рассмотрены до создания 
программы установки. 

    612 Часть IV. Темы повышенной сложности 

    Оцените требования к серверу баз данных 

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

    Определите предварительные требования к базе данных 

    Необходимо заранее определить все, что касается подготовки базы данных к 
работе с ней пользователя. Если это система удаленного доступа, то прежде 
всего следует выяснить, нужно ли связаться с администратором базы данных для 
создания объектов, необходимых для приложения баз данных, или вы должны 
сделать это сами? Какие инструменты вам потребуются, если вы будете создавать 
эти объекты самостоятельно? Будет ли это Database Desktop, сценарии SQL или 
что-то другое? 
    Если таблицы будут локальными, нужно подготовить заготовки таблиц и 
снабдить ею программу установки. Возможно, придется сделать копии всех таблиц 
и удалить из них тестовую информацию. 
    Получить ответы на эти и другие вопросы необходимо до начала создания 
мастер-дисков. Сейчас вашим девизом должно стать: "Планировать, планировать и 
еще раз планировать". Вообразите, что вас выбросили в джунгли с самолета, и 
кроме парашюта и экипировки десантника у вас ничего нет. Распространение 
приложений баз данных, особенно приложений архитектуры клиент/сервер, очень 
похоже на выживание в джунглях. Важно заранее подготовиться наилучшим образом. 
    Мы рассмотрим процесс создания программ установки двух типов — обычной и 
расширенной. В первом случае нужно определить только параметры, необходимые 
InstallShield для создания программы установки. Во втором случае создается 
более сложная программа установки с использованием некоторых дополнительных 
возможностей InstallShield. 
    Вы получите также представление о создании объектов баз данных в СУБД с 
помощью сценариев SQL. Если эти объекты должны создаваться до начала работы 
приложения, для их создания потребуется некоторое понимание принципов 
использования сценариев SQL. 

    Обычная установка 

    Чтобы установить специальную версию InstallShield, которая входит в 
комплект поставки Delphi, нужно запустить с компакт-диска Delphi программу 
установки InstallShield. Это можно сделать из основного окна установки Delphi, 
автоматически открывающегося, если поместить компакт-диск Delphi в дисковод. 
Установив программу InstallShield, можно запустить ее исполняемый файл 
ISX.EXE, по умолчанию расположенный в каталоге \Program Files\InstallShield\IS 
Express Delphi Edition. Сделайте это. 
    При первом запуске InstallShield спросит вас, хотите ли вы открыть 
существующий проект установки или создать новый. Щелкните на кнопке Create a 
New Setup Project, чтобы приступить к созданию нового проекта. 
    В результате появится диалоговое окно New Project. В нем нужно ввести имя 
каталога, имя и тип проекта, а также указать, предусматривается ли режим 
выборочной установки Custom. Выборочная установка позволяет пользователям 
осуществлять установку в соответствии с собственными потребностями. При этом 
можно установить только необходимые компоненты, не проводя полной установки. 
    Вначале необходимо выполнить привычный ритуал, указав имя проекта в строке 
ввода Project Name, затем щелкнуть на кнопке Create, чтобы начать создание 
нового проекта (см. рис. 29.1). 
    После этого откроется главное окно программы InstallShield (рис. 29.2). В 
нем перечислены девять основных задач, которые необходимо решить при создании 
программы установки. Каждая задача разбивается на последовательность более 
мелких этапов. InstallShield подскажет вам, в какой последовательности нужно 
их решать, отмечая пройденные этапы. Первый этап в создании нового проекта 
называется Application Information и является составной частью задачи Set the 
Visual Design. 

    Глава 29. Совершенствование приложения	613 

    Рис. 29.1. Ввод параметров  нового проекта в диалоговом окне New Project 

    Внешнее оформление 

    Первая из девяти задач — это ввод основных сведений о приложении и 
установка различных парамет-1 ров, определяющих внешний вид программы 
установки. Для ввода информации, характерной для данного! приложения (имени 
основного исполняемого файла, его текущей версии и т.д) щелкните на кнопке 
Appli-J cation Information. 

    Рис. 29.2. Главное окно программы InstallShield 

    Сведения о приложении 

    На вкладке Арр Info диалогового окна Set the Visual Design (рис. 29.3) 
необходимо ввести имя приложения, основного выполняемого файла, номер версии, 
а также название вашей компании, если оно отличается от указанного при 
установке InstallShield. 

    614 Часть IV. Темы повышенной сложности 

    По умолчанию в строке ввода Application Name выводится имя проекта, 
указанное в диалоговом окне New Project. Максимальная длина имени приложения — 
80 символов. Надеюсь, вам этого хватит. 
    В строке Application Executable вводится имя основного выполняемого файла 
приложения. Это имя автоматически появится в группе Program Files диалогового 
окна Groups and Files. Однако его можно ввести и позже, в окне Groups and 
Files. Пиктограмму можно создать не только здесь, но и в диалоговом окне 
General Icon Settings. Поэтому, если вы пока не готовы, можете сделать это 
позже. Если не хотите вводить вручную путь к выполняемому файлу, щелкните на 
кнопке рядом со строкой Application Executable. 
    Скорее всего, вам не понадобится изменять содержимое строк Version или 
Company. Если так, то ввод сведений о приложении можно считать законченным. 
    Обратите внимание на наличие в диалоговом окне Visual Design вкладок Main 
Window и Features. Благодаря этому не нужно возвращаться в основное окно для 
ввода соответствующей информации. Это касается всех девяти основных задач: у 
каждой из них есть свое диалоговое окно, из которого доступны все ее подразделы. 

    Вкладка Main Window 

    Откройте вкладку Main Window диалогового окна Set the Visual Design (рис. 
29.4). Здесь нужно ввести заголовок главного окна программы установки 
приложения. На этой вкладке можно также определить растровое изображение 
логотипа (logo bitmap) и выбрать цвет фона программы установки. По умолчанию в 
строке Main Title выводится определенное ранее на странице Арр Info имя 
приложения. Можете заменить его на что-то более информативное, чем просто имя 
проекта, — например, на растровое изображение. Не следует вводить слишком 
длинный текст, так как при работе программы установки он будет отображаться 
гораздо более крупным шрифтом, чем здесь. Отведенное для заголовка место 
ограничено по горизонтали, поэтому длинное название может не поместиться. 

    Рис. 29.3. Ввод сведений о приложении на странице Арр Info. 

    Рис. 29.4. Вкладка Main Window программы InstallShield 

    При выборе логотипа нужно указать имя соответствующего файла растрового 
отображения. Найти этот файл на диске можно с помощью кнопки Browse. 
    По умолчанию выбирается цвет фона (Background Color) Dithered Blue 
(полутоновой синий). При желании можете выбрать и другой цвет. Пока что нет 
необходимости что-либо менять на этой странице. Оставьте используемые по 
умолчанию значения и перейдите к следующей вкладке. 

    Глава 29. Совершенствование приложения 615 

    Вкладка Features 

    Щелкните на вкладке Features (рис. 29.5). Единственным элементом этой 
вкладки является переключатель, определяющий, будет ли создаваться программа 
удаления приложения. Возможность автоматического удаления — одно из требований 
Windows 95, поэтому лучше включить этот режим. Программа автоматического 
удаления приложения не только удаляет все файлы, установленные программой 
установки, но и удаляет из системного реестра Windows все записи, внесенные 
туда по умолчанию программой InstallShield. Обратите внимание, что будут 
удалены только стандартные записи, автоматически поддерживаемые InstallShield. 
Ко всем записям, которые вы внесли самостоятельно, нужно добавлять отдельные 
ключи удаления. 
    Для сохранения параметров, введенных в диалоговом окне Visual Design, 
щелкните на кнопке ОК. 

    Рис. 29.5. Включение режима создания программы автоматического удаления на 
вкладке Features 


    Выбор параметров InstallShield для Delphi 

    Следующая задача заключается в выборе необходимых параметров, характерных 
для приложений, созданных с помощью Delphi. Бели приложение работает с базами 
данных, то, скорее всего, ему понадобится система Borland Database Engine: 
Если предполагается его подключение к удаленным серверам с помощью драйверов 
Borland SQL Links, они, безусловно, также понадобятся. 

    Общие параметры 

    Чтобы указать, какие компоненты Borland потребуются для работы приложения, 
щелкните на кнопке General Options. Откроется диалоговое окно General Options 
(рис. 29.6). Не забудьте, что SQL Links также требует подключения Borland 
Database Engine. 

    Рис. 29.6. Подключение компонентов Borland в диалоговом окне General Options 

    616 Часть IV. Темы повышенной сложности 

    Подключение BDE 

    Если подключить этот компонент, на экране сразу же появится второе 
диалоговое окно, где нужно указать тип установки BDE — полная или частичная. 
Пока оставьте значение, принятое по умолчанию, — Full и щелкните на кнопке ОК. 

    Подключение псевдонимов BDE 

    Следующие четыре диалоговых окна предназначены для настройки псевдонимов 
BDE, которые будут созданы программой установки. Возможно, для корректной 
работы приложения в его состав необходимо включить некоторые псевдонимы. 
Щелкните на кнопке New и введите имя псевдонима, как показано на рис. 29.7. 
    Для продолжения щелкните на кнопке ОК. 
    После ввода имени псевдонима необходимо указать, нужно ли его 
устанавливать для обеих версий Borland Database Engine — 16-и 32-разрядной. 
Как правило, этого не требуется, поэтому отключите этот режим и щелкните на 
кнопке ОК. 
    В следующем диалоговом окне (рис. 29.8) нужно определить свойства 
псевдонима, который вы хотите создать на компьютере, где будет установлено 
приложение. Имя псевдонима переходит сюда из предыдущего диалогового окна. 
Осталось лишь выбрать его тип. 
    Для псевдонима локальной таблицы (такой, как Paradox или dBASE) нужно 
указать путь к файлам данных. Помните, что при этом можно использовать 
специальные идентификаторы каталогов InstallShield. Например, при создании 
программ установки несложных проектов можно использовать идентификатор <INSTALLDIR>. 
    В расположенной внизу области ввода можно определить и другие параметры 
псевдонима. При подключении к удаленному серверу баз данных, например, нужно 
указать имена сервера и пользователя. Для этого достаточно ввести имя 
параметра, знак равенства и значение этого параметра, например: 

    ENABLE BCD=TRUE 

    В последнем из четырех диалоговых окон сообщается, что процесс создания 
нового псевдонима окончен. Щелкните на кнопке Finish. 

    Подключение драйверов SQL Links 

    Щелкнув на кнопке Finish, вы вернетесь в диалоговое окно General Options. 
Если приложение будет подключаться к удаленным серверам баз данных, используя 
драйверы SQL Links, включите режим SQL Links. Затем нужно выбрать драйверы SQL 
Links: Sybase SQL Server (обеспечивается поддержка как DB-Library, так и 
CT-Library), Oracle, Interbase, Informix, DB2 и Microsoft SQL Server (рис. 
29.9). Отметьте необходимые драйверы и щелкните на кнопке Finish. 

    Рис. 29.7. Создание с помощью программы InstallShield псевдонимов, 
необходимых для работы приложения Delphi 

    Рис. 29.8. Ввод параметров нового псевдонима 

    Рис. 29.9. Отметьте драйверы SQL Links, которые будут использоваться приложением 

    Глава 29. Совершенствование приложения 617 

    На заметку 

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

    Определение файлов и компонентов 

    Раздел Specify Components and Files используется для составления списка 
компонентов, из которых состоит приложение. Такой гибкий метод позволяет 
создавать различные варианты установки приложения. Поскольку обычно компонент 
описывается семейством родственных файлов, можно позволить пользователю 
пропустить необязательные компоненты при выборочной установке (Custom). Пока 
что просто определите самые необходимые для создания программы установки. 

    Группы и файлы 

    Группы — это наборы родственных файлов, которые будут храниться в одном 
каталоге на компьютере пользователя. Кроме автоматически создаваемых групп, 
связанных с BDE, InstallShield создаст также группу Program Files для основных 
файлов приложения. Щелкните на кнопке Groups and Files, чтобы открыть 
соответствующее диалоговое окно. Откроется вкладка Groups диалогового окна 
Specify Components and Files (рис. 29.10). Раскройте список файлов Program 
Files, дважды щелкнув на нем. Обратите внимание, что эта группа пока что 
состоит из одного файла — главного выполняемого файла приложения, имя которого 
вы ввели раньше. 
    Дополните эту группу другими файлами, которые необходимы для работы 
приложения. Не беспокойтесь о стандартных компонентах Delphi, таких как 
Borland Database Engine, они рассматриваются отдельно. Потенциальные кандидаты 
на членство в этой группе — локальные элементы приложения, такие как все 
локальные таблицы баз данных (и сопутствующие им файлы), на которые ссылается 
приложение, пакеты Delphi (DPL-файлы), необходимые для работы приложения 
динамически загружаемые библиотеки (DLL-файлы), такие как DBCLIENT.DLL, и т.д. 
Файлы DLL и элементы управления ActiveX, необходимые для работы нескольких 
приложений, необходимо поместить в каталог, предназначенный для совместного 
использования приложениями. 
    С помощью кнопки Launch Explorer запустите Windows Explorer (Проводник). 
Найдите файлы, которые следует разместить в группе Program Files, и перетащите 
их из окна Explorer (Проводник) в эту группу. 
    Помните, что для размещения файлов в различных каталогах можно 
организовать дополнительные группы. Чтобы создать группу, щелкните на кнопке 
Add Group, введите имя новой группы в строке Add Group и измените параметр 
Destination Directory, указывающий на каталог, в который будут копироваться 
файлы на компьютере пользователя. Щелкните на кнопке ОК, и группа будет создана. 

    Специальные идентификаторы каталогов 

    В строке Destination Directory можно использовать любые специальные 
идентификаторы каталогов InstallShield. Эти идентификаторы позволяют указать 
пути к файлам на компьютере пользователя, не обладая точной информацией об 
именах каталогов, например системного каталога Windows на компьютере 
пользователя, каталога Program Files и др. В табл. 29.1 приведен список 
специальных идентификаторов и соответствующих им каталогов. 
    i Помните, что при вводе имени подкаталога можно также использовать любой 
из перечисленных идентифи-|кагоров. Это означает, что можно присоединять 
буквенное обозначение подкаталога к идентификатору. Например, по умолчанию 
<ProgramFilesDir>\Borland означает ссылку на подкаталог Borland каталога 

    C:\Program Files. 

    Закончив перетаскивать и группировать файлы, можно перейти к вкладке Components. 

    618 Часть IV. Темы повышенной сложности 

Таблица 29. 1 

Идентификаторы каталогов InstallShield     

Идентификатор                 Каталог <INSTALLDIR>              
Каталог, в котором будет установлено приложение (имя вводится пользователем) 
<WINDIR> 
Каталог Windows <WIN SYSDIR>                
Каталог Windows SYSTEM 
(SYSTEM32 в Windows NT) <WINSYS1 6DIR>             
16-разрядный каталог SYSTEM 
в Windows NT <WINDISK>                     
Имя диска, на котором установлена Windows <WINSYSDISK>              
Имя диска, содержащего каталог Windows SYSTEM <ProgramFilesDir>     
Каталог Program  Files <CoramonFilesDir>       
Каталог Common   Files [имя группы]               
Каталог группы приложения Destination Directory 


    Рис. 29.10. Группировка файлов на вкладке Groups 


    Компоненты 

    Настройка параметров на вкладке Components необходима только в случае 
выборочной установки. Приложение разбивается на части, которые могут быть по 
желанию пользователя установлены или пропущены. Пока что можете щелкнуть на 
этой вкладке, чтобы посмотреть параметры этой страницы. Мы вернемся к ней 
позже, в разделе "Расширенная установка". 

    Варианты установки 

    Если вы не предусматриваете вариант выборочной установки, переходить к 
вкладке Setup Types не нужно. В самом деле, если существует только один 
вариант установки — Complete, здесь делать нечего. Мы вернемся к этой вкладке 
позже, когда будем рассматривать расширенную процедуру установки. 
    Щелкните на кнопке ОК, чтобы сохранить режимы установки компонентов и файлов. 

    Выбор компонентов пользовательского интерфейса 

    Эта задача состоит из одного этапа, выполняемого в окне Dialog Boxes. 
Здесь нужно определить, какие диалоговые окна будут использоваться в ходе установки. 

    Глава 29. Совершенствование приложения	619 

    Окно Dialog Boxes 

    Щелкните на кнопке Dialog Boxes. Откроется одноименное диалоговое окно 
(рис. 29.11). С помощью мыши можно выбрать диалоговые окна, которые будут 
последовательно выводиться на экран в процессе установки приложения. Список 
этих окон приводится в табл. 29.2. 

    Рис. 29.11. В окне Dialog Boxes нужно определить, какие диалоговые окна 
будут использоваться программой установки 

    Таблица 29.2. Диалоговые окна, которые можно включить в программу 
установки. 

Диалоговое окно                           Назначение 

Welcome Bitmap                        Вывод заставки программы установки 
Welcome Message                      Вывод начального сообщения 
Software License Agreement       Вывод определяемого вами лицензионного соглашения 
Readme Information                    Вывод прилагаемого файла 
Readme User Information                          Ввод информации о пользователе 
Choose Destination Location       Ввод имени каталога для установки приложения 
Setup Type                                  Выбор варианта установки — выборочная (Custom), 
			минимальная (Compact) или 
			обычная (Typical) 
Custom Setup                             Отбор компонентов при выборочной установке 
Select Program Folder                 Выбор папки для пиктограмм приложения 
Start Copying Files                      Запуск процесса копирования 
Progress Indicator                       Индикатор процесса к опирования 
Billboards 		Вывод растровых заставок во время копирования 
Online Registration                      Интерактивная регистрация 
Setup Complete                           Вывод заключительного сообщения после завершения установки 

    Отметьте окна, которые хотите включить в программу. Некоторые из них 
требуют определения дополнительных параметров. Чтобы это сделать, выделите 
нужное окно и щелкните на вкладке Settings. 

    620	Часть IV. Темы повышенной сложности 

    Custom Setup 

    Диалоговое окно Custom Setup появляется на экране ^только в том случае, 
если в диалоговом окне Setup Types пользователь указал выборочную установку. 
Естественно, если вы не включили в процесс установки диалоговое окно Setup 
Types, необходимость в окне Custom Setup автоматически отпадает. Окно Custom 
Setup позволяет пользователю самостоятельно выбирать компоненты для установки. 

    Растровые изображения 

    Обратите внимание, что программа InstallShield Express поддерживает только 
16-цветные растровые изображения. Не забывайте об этом, выбирая заставки для 
окон Welcome Bitmap и Billboards. Обратите внимание и на то, что заставку в 
окне Welcome Bitmap нельзя заменить выбранным вами изображением. 

    Изменения в системном реестре 

    Следующая задача — внесение в Registry изменений, необходимых для работы 
приложения. Многие приложения не требуют каких-либо изменений в реестре, 
поэтому пока пропустим этот этап и перейдем к выбору пиктограмм. 

    Выбор папок и пиктограмм 

    Необходимо определить папки и пиктограммы, которые будут создаваться 
программой установки. С помощью диалогового окна General Settings можно 
выбрать пиктограммы, которые будут помещены в папку приложения. Эта папка, в 
свою очередь, будет занесена в меню Starts Programs (Пуск^Программы). В 
диалоговом окне General Settings можно указать также параметры командной 
строки приложения. 
    Диалоговое окно Advanced Settings позволяет поместить в меню Starts 
Programs (Пуск^Программы) пиктограмму приложения. Здесь также можно создать 
альтернативный рабочий каталог, загрузить пиктограмму из внешнего источника и 
выбрать комбинацию клавиш для запуска приложения. 
    Для минимальной программы установки ничего этого делать не нужно. Как было 
сказано, пиктограмма для диалогового окна General Settings уже создана и 
соответствует главному выполняемому файлу приложения. Для большинства 
приложений этого достаточно. Многие из доступных режимов при создании обычной 
программы установки изменяются лишь в редких случаях. Мы еще вернемся к этой 
задаче в разделе "Расширенная установка". 

    Создание дистрибутивных дисков 

    Все готово, осталось лишь создать дистрибутивные диски. Это происходит при 
выборе пункта Run Disk Builder. На этом этапе создаются мастер-копии дисков 
(disk images), содержащие приложение и программу установки. Чтобы определить 
размер мастер-копий, нужно указать предполагаемый тип носителя. Прежде чем 
продолжить работу, рекомендую вам сохранить текущий проект. 
    Щелкните на кнопке Disk Builder. В нижнем левом углу появившегося 
диалогового окна (рис. 29.12) выберите размер носителя информации (по 
умолчанию — 1,44 Мбайт). Можно выбрать компакт-диск и дискеты других размеров. 
Когда для построения мастер-копий все будет готово, щелкните на кнопке Build. 
    Если все в порядке, будут созданы мастер-копии дисков, и в левой части 
экрана появится набор соответствующих им пиктограмм (если в качестве носителя 
выбран компакт-диск, то пиктограмма будет только одна). Закончив создание 
файлов образов, щелкните на кнопке Close. 

    Тестирование 

    Все готово для пробного запуска. Но прежде чем продолжить, необходимо кое 
в чем разобраться. Во-первых, настоятельно рекомендую вам проводить тестовую 
установку на другом компьютере. Не используйте для этого свою рабочую машину. 
Выберите для этого другой компьютер, конфигурация которого максимально 
приближена к конфигурации компьютера пользователя. Это сделает результаты 
теста более достоверными и поможет определить возможные проблемы при установке 
приложения на компьютер пользователя. 
    Во-вторых, если вы все же совершили эту ошибку и провели тест на своем 
компьютере, где хранятся стандартные компоненты Borland, будьте готовы к тому, 
что не сможете безопасно удалить установленное 'приложение. Причина 
заключается в том, что программа удаления приложения может удалить ключевые 
элементы, которые понадобятся вам позже при создании приложений Delphi. Если 
Delphi не претендует 

    Глава 29. Совершенствование приложения	621 Глава 29. Совершенствование приложения	621 

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

    Рис. 29.12. Диалоговое окно Disk Builder позволяет создать образы дисков, 
содержащие приложение и программу установки 

    Кроме вероятного повреждения Delphi, удаление этих файлов может также 
сделать невозможным перезапуск Disk Builder, поскольку для создания 
мастер-копий дисков могут потребоваться некоторые из них. Возможно, для 
возмещения ущерба, нанесенного программой удаления, отсутствующие файлы 
придется восстанавливать с дистрибутивного компакт-диска Delphi. 
    Вывод: не тестируйте программы установки, созданные с помощью 
InstallShield, на каких-либо компьютерах, кроме тестовых, если только не 
хотите столкнуться с проблемами конфигурации или вообще не собираетесь удалять 
установленное приложение. Еще одна хорошая идея — перед установкой приложения 
создать резервную копию содержимого жестких дисков тестового компьютера 
(особенно каталога Windows и системного реестра). Позже можно будет 
восстановить потерянные данные с резервной копии, а не устанавливать их заново. 
    Некорректное использование кнопки Test Run в InstallShield может оказаться 
достаточно опасным. На компьютере, используемом для разработки приложений, это 
может привести к труднообратимым изменениям. Одним из полезных свойств 
средства создания программ установки WISE, конкурента InstallShield, является 
возможность проверки всех сценариев установки без физической установки. Это 
дает возможность тестировать процедуры установки на компьютере разработчика, 
не опасаясь возможности нанесения ущерба. Использование InstallShield на таком 
компьютере, напротив, может повлечь за собой катастрофические изменения, 
последствия которых нелегко будет устранить. Полезно соблюдать осторожность 
при работе с любой программой установки, даже с созданной вами. 

    Создание дистрибутивов 

    Последней из девяти основных задач является создание дистрибутивов, то 
есть копирование мастер-копий дисков на физические носители для последующего 
распространения. В качестве носителей обычно используются различные гибкие 
диски или компакт-диски с возможностью записи. Эта задача предельно проста — 
щелкните на кнопке Copy To Floppy и в появившемся диалоговом окне (рис. 
29.13.) — на кнопке Copy All Disk Images. Программа InstallShield 
последовательно перепишет на дискеты мастер-копии всех дисков. 

    622 Часть IV. Темы повышенной сложности 

    Теперь вы полностью экипированы, чтобы сесть за компьютер пользователя и 
установить свое приложение. Как я уже сказал, прежде чем устанавливать 
приложение на любом из компьютеров пользователей, нужно установить его с 
дистрибутивных дискет на тестовый компьютер. Это позволит еще раз проверить 
процедуру установки и убедиться в полном благополучии эталонных дискет. 
    Рис. 29.13. Копирование мастер-копий дисков на физические носители для 
дальнейшего распространения в диалоговом окне Copy To Floppy 
    Если вы довольны проектом установки, сохраните его, чтобы иметь 
возможность создания дистрибутивных дискет в будущем. 

    Расширенная установка 

    В этом разделе рассматривается более сложный процесс. Вы научитесь 
создавать проект, предусматривающий возможность выборочной установки. Такая 
установка позволяет пользователю самостоятельно определять, какие файлы 
следует устанавливать, а какие нет. Многие опытные пользователи отдают 
предпочтение этому варианту установки. Позволим же им, насколько возможно, не 
устанавливать необязательные компоненты. Параметр Custom Setup позволяет 
снизить требования к объему дискового пространства, необходимому для 
приложения, и придает солидности процедуре установки. 

    Итак, приступим 

    Если вы еще не вышли из процедуры создания обычной установки, сделайте это 
с помощью команды File^Close. Затем, чтобы начать работу над новым проектом 
установки, нажмите <Ctrl+N>. Первое, что вы увидите — диалоговое окно New 
Project (рис. 29.14). Как и в случае с обычной программой установки, создание 
которой вы только что закончили, в этом окне необходимо ввести каталог, имя и 
тип проекта, а также определить, предусматривается ли возможность режима 
выборочной установки. Этот режим позволит пользователю адаптировать приложение 
к своим потребностям, установив только выбранные компоненты. 
    Включите режим Include a custom setup type, предусматривающий выборочную 
установку. Затем введите в строке Project Name имя проекта. Измените также 
каталог проекта на один из существующих. (Возможно, для хранения подобных 
файлов вы захотите создать или использовать специальный каталог, например 
\DATA или \му Documents; я использовал \Му Documents.) Создайте новый 
подкаталог Installs для хранения файлов проекта. (Замените имя устройства на 
С:, если каталог My Documents расположен на другом диске.) Чтобы создать новый 
каталог, сначала перейдите в С: \Му Documents, затем введите installs в строке 
New Subdirectory. При создании проекта будет создан новый подкаталог, в 
который и будет помещен проект. 
    После ввода всей этой информации щелкните на кнопке Create, чтобы 
инициализировать проект. 

    Глава 29. Совершенствование приложения 623 

    Рис. 29.14.   Ввод параметров нового проекта в диалоговом окне New Project 

    После этого откроется главное окно программы InstallShield. Как вы уже 
знаете из раздела "Обычная	1 установка", в нем перечислены девять основных 
задач, которые необходимо решить при создании новой программы установки. 
Каждая задача разбита на более мелкие этапы, последовательно пройдя которые, 
вы создадите программу установки. Пройденные этапы помечаются галочкой. 
Основные задачи InstallShield	I приводятся в табл. 29.3.

    Таблица 29.3. Девять основных задач, которые необходимо выполнить в 
процессе создания программы установки с помощью программы InstallShield 

Задача                             Цель 

Set the Visual Design      	Определение параметров, влияющих на внешний 
			вид программы установки 
Select InstallShields Objects for Delphi        Определение компонентов Borland, 
				которые необходимо установить 
Specify Components and Files                     Объединение  файлов в группы,  что 
				позволяет создавать настраиваемые программы установки 
Select the User Interface Components         Объединение стандартных диалоговых окон, входящих 
				в состав программы 
Make Registry Changes                               Автоматизированное внесение изменений в реестр 
Specify Folders and Icons                            Определение создаваемых в ходе установки папок и 
				пиктограмм 
Run Disk Builder                                          Создание мастер-копий дистрибутивных дисков 
Test the Installati on                                      Тестирование программы установки 
Create Distribution Media                             Копирование мастер-копий дисков на физические носители 

    В начале создания нового проекта указатель InstallShield стоит на строчке 
Application Information задачи Set the Visual Design. 

    Внешнее оформление 

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

    Сведения о приложении 

    В разделе Арр Info указывается имя приложения, основной выполняемый файл и 
номер версии. Можно также переопределить название компании, если оно 
отличается от того, которое было указано при установке InstallShield. 

624	Часть IV. Темы повышенной сложности 

    По умолчанию в строке Application Name выводится имя проекта, указанное в 
диалоговом окне New Project. Введите имя, которое имеет какой-то смысл; не 
обязательно урезать его до одного слова. Помните, что путь к файлам приложения 
на компьютере пользователя, принимаемый по умолчанию, будет соответствовать 
тому, который вы определите здесь. Хотя размер имени приложения ограничен 80 
символами, не рекомендуется злоупотреблять длинными именами. 
    Содержимое строки Application Name используется по-разному: 
    Q  появляется в строке ввода диалоговых окон Welcome Message и Choose 
Destination Location; 
    Q становится частью используемого по умолчанию пути к файлам приложения на 
компьютере пользователя. Этот путь имеет следующий вид: С: \Program Files\Ваша 
 компания\Имя приложения. 

    На заметку 
    Внесение изменений в содержимое строки Application Name автоматически 
вызывает изменение значения параметра Choose Destination Location. Предыдущая 
информация в этой строке будет потеряна. 

    Информация из этого диалогового окна используется также в ключевых именах 
трех различных автоматически ^создаваемых записей реестра: ключа Uninstall, 
ключа Арр Paths и ключа пользовательской "информации. Первый из них, ключ 
удаления, должен выглядеть таким образом: 

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Application Name 

    У этого ключа есть две дочерние записи: DisplayName, которая отображается 
в списке диалогового окна Add/Remove Programs (Установка и удаление программ), 
которое появляется при выборе в окне Control Panel (Панель управления) 
одноименного элемента, и Uninstalistring, используемая при запуске программы 
UNINST.EXE, стандартной программы InstallShield, используемой для удаления приложений. 
    Второй ключ, Арр  Paths, выглядит таким образом: 
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App 

    Paths\YOUREXE.EXE 

    Третий ключ — ключ информации о пользователе — выглядит так: 

    HKEY_LOCAL_MACHINE\SOFTWARE\Company\Application  Name\Version 

    В этом ключе хранится имя пользователя, название компании и, возможно, 
серийный номер, так что из приложения можно получить доступ к этой информации. 
    В строке Application Executable содержится имя главного выполняемого файла 
приложения. Введенная здесь информация автоматически добавляется в группу 
Program Files диалогового окна Groups and Files (здесь можно пока ничего не 
вводить, отложив заполнение этой строки до диалогового окна Groups and Files). 
В диалоговом окне General Icon Settings создается пиктограмма (ввод этой 
информации также можно отложить). Щелкните на кнопке Browse рядом со строкой 
Application Executable и найдите нужный выполняемый файл. 
    В строке Version можно ввести текущую версию приложения. Это может 
пригодиться, чтобы различать две разные версии того же продукта, установленные 
на одном компьютере. InstallShield просматривает выполняемый файл приложения в 
поисках ресурса Windows VERSIONINFO и, в случае успеха, присваивает его 
значение параметру Version. 
    О том, как добавлять в приложения Delphi необходимую для Windows 
информацию о версии, читайте в главе 13, "Последние штрихи". 
    Значение, установленное по умолчанию в строке Company, соответствует 
информации о компании, которая была введена при установке InstallShield. При 
необходимости в это строке можно внести изменения; как уже было сказано ранее, 
оно будет использовано в записях реестра, которые автоматически сделает 
программа установки. 
    Определением параметров Version и Company завершается ввод информации о 
приложении. На рис. 29.15 показана вкладка Арр Info со всеми введенными параметрами. 

    Глава 29. Совершенствование приложения 625 

    Вкладка Main Window 

    Щелкните на вкладке Main Window. На этой вкладке можно ввести заголовок 
главного окна установки приложения, выбрать растровое изображение логотипа и 
цвет фона программы установки. Значением параметра Main Title по умолчанию 
является имя приложения, которое было введено на вкладке Арр Info, но при 
желании этот параметр можно переопределить, например, ввести что-то более 
информативное или заменить текст файлом с изображением. 
    Введите в строке Main Title информативное имя. Помните, что пространство 
заголовка ограничено, поэтому не используйте слишком длинных имен. 
    Затем щелкните на кнопке просмотра, расположенной рядом со строкой Logo 
Bitmap и выберите имя файла изображения, содержащего логотип продукта. В 
подкаталоге images \Splash каталога Delphi есть несколько готовых файлов 
изображений. Выбранный вами файл должен содержать 16-цветное изображение. 

    Рис. 29.15. Ввод информации о приложении на вкладке Арр Info 

    Рис. 29.16. Вкладка Main Window программы InstallShield 

    Выбрав изображение, нужно разместить его в окне программы установки. По 
умолчанию оно расположится в верхнем правом углу. Это удачный вариант, лучше 
его не изменять. Стандартный цвет фона тоже неплох, так что оставьте и его без изменений. 
    Готовая вкладка Main Window показана на рис. 29.16. 

    Вкладка Features 

    Щелкните на вкладке Features. Как уже говорилось ранее, единственным 
элементом этой страницы является флажок, определяющий, будет ли создана 
программа автоматического удаления. Оставьте предлагаемое по умолчанию 
значение этого параметра и щелкните на кнопке О К, чтобы сохранить выбранные 
параметры Visual Design. 

    Выбор параметров InstallShield для Delphi 

    При выполнении этой задачи выбираются параметры, характерные для работы 
приложений, созданных с помощью Delphi. Для приложения баз данных наверняка 
потребуется подключить Borland Database Engine, если только вы не используете 
другой механизм баз данных. Если для доступа к удаленным серверам приложение 
использует драйверы Borland SQL Links, они также потребуются. 

    Общие параметры 

    Чтобы указать, какие компоненты Borland необходимы для работы приложения, 
щелкните на кнопке General Options. Помните, что выбор SQL Links требует также 
подключения BDE. 

    626 Часть IV. Темы повышенной сложности 

    Подключение ВОЕ 

    Активизируйте режим подключения BDE. На экране появится диалоговое окно, в 
котором нужно выбрать тип установки BDE: полная или частичная. Согласитесь с 
предложенным по умолчанию значением Full и щелкните на кнопке ОК. 
    Определение подключаемых псевдонимов BDE 
    Следующий ряд диалоговых окон позволяет выбрать псевдонимы BDE, 
создаваемые программой установки. Определите все псевдонимы, которые нужны для 
корректной работы устанавливаемого приложения. Щелкните на кнопке New и в 
появившемся окне (рис. 29.17) введите имя нового псевдонима. 

    Для продолжения щелкните на кнопке ОК. 

    После ввода имени псевдонима InstallShield спросит вас, необходимо ли 
создавать псевдоним для обеих версий Borland Database Engine — 16- и 
32-разрядной. Для 32-разрядных приложений 16-разрядные псевдонимы не нужны. 
Поэтому, не включая этот режим, щелкните на кнопке Next. 
    На третьем этапе (рис. 29.18) нужно определить особые свойства псевдонима, 
который должен быть создан на компьютере пользователя. Здесь вводится тип 
нового псевдонима, имя которого переходит в это окно из предыдущего. 
    Если определяется псевдоним для локальной таблицы баз данных, таких как 
Paradox или dBASE, то в этом окне указывается также путь к файлам данных. 
Вместо того, чтобы вводить название каталога полностью, можно указать название 
группы файлов (в квадратных скобках), с которой ассоциированы эти файлы. 
Например, вместо ввода <!NSTALLDlR>\Data или C:\DATA\RENTMAN\DATA, можно 
ввести в строке Path слова [Data Files], сославшись на группу файлов, которая 
будет создана позже. При запуске программы установки InstallShield заменит имя 
группы на имя соответствующего ей каталога. 
    В строке ввода внизу окна можно указать и другие параметры псевдонима. 
Вначале вводится имя параметра, а затем, после знака равенства, — его 
значение, например: 

    VSER NAME=SYSDBA 


    Рис. 29.17. InstallShield позволяет определить псевдонимы BDE, создаваемые 
в процессе установки 

    Рис. 29.18. Ввод особых свойств нового псевдонима 

    Последнее из четырех диалоговых окон для ввода параметров псевдонимов BDE 
просто сообщает об окончании этого процесса. Щелкните на кнопке Finish. 

    Подключение SQL Links 

    Щелкнув на кнопке Finish, вы вернетесь в диалоговое окно General Options. 
Если в процессе работы приложения предполагается подключение к удаленным 
серверам баз данных с использованием SQL Links, включите режим SQL Links. 
После этого необходимо выбрать подключаемые драйверы SQL Links. Можно 
присоединить драйверы для Sybase SQL Server, Oracle, Interbase, Informix, DB2 
и Microsoft SQL Server. Выберите нужные драйверы и щелкните на кнопке Finish. 

    Глава 29. Совершенствование приложения 627 

    Определение файлов и компонентов 

    Раздел Specify Components and Files используется для указания компонентов, 
из которых состоит приложение. Такой гибкий метод определения состава 
приложения позволяет создавать различные варианты установки. Компонент обычно 
описывается семейством родственных файлов, поэтому можно разрешить 
пользователю опускать необязательные компоненты в процессе выборочной 
установки. Можно разбить данные приложения по группам и хранить их в отдельных 
каталогах, так чтобы пользователь мог не устанавливать дополнительные копии 
вспомогательных файлов при установке нескольких родственных приложений. 

    Файлы и группы 

    Логически связанные между собой файлы, которые будут храниться в одном 
каталоге на компьютере пользователя, целесообразно объединить в группы. 
Возможность выборочной установки приводит к созданию трех стандартных групп: 
Program Files (программные файлы), Help Files (справочные файлы) и Sample 
Files (файлы примеров), а также группы, связанные с BDE. 
    Щелкните на кнопке Groups and Files. Откроется вкладка Groups диалогового 
окна Specify Components and Files (рис. 29.19). Дважды щелкните на группе 
Program Files. Обратите внимание, что в этой группе содержится только один 
файл — главный выполняемый файл приложения. 

    Рис. 29.19 Группировка файлов на вкладке Groups 

    Дополните группу Program Files другими файлами, необходимыми для запуска 
приложения. Не беспокойтесь о стандартных средствах Delphi, таких как Borland 
Database Engine, — о них позаботятся группы BDE, которые вы также видите на 
экране. Не занимайтесь сейчас файлами данных приложения; создание для них 
отдельных групп не займет много времени. Укажите другие элементы, необходимые 
для работы приложения, такие как необходимые библиотеки DLL и пакеты, 
дополнительные программы настройки, информационные файлы и т.п. Файлы, 
которые, возможно, будут использоваться несколькими приложениями, следует 
поместить в каталоги, предназначенные для совместного использования. Неплохо 
выделить для этого подкаталог Common Files каталога Program Files. 
    Для запуска Windows Explorer (Проводник) щелкните на кнопке Launch 
Explorer. Найдите файлы, которые необходимо поместить в группу Program Files и 
перетащите их туда из окна Explorer (Проводник). 
    После того, как группа Program Files укомплектована, можно перейти к 
группе Help Files и начать перетаскивать в нее соответствующие файлы. 
Выборочная установка должна обеспечивать возможность установки справочных 
файлов по желанию пользователя. Часто они ему не нужны и только занимают место 
на диске. При составлении этой группы также используйте средством Explorer 
(Проводник) Windows. 
    Покончив с группой Help Files, удалите группу Sample Files, если в вашем 
приложении отсутствуют файлы примеров или шаблонов. Обычно приложения не 
содержат таких файлов, поэтому лучше всего удалить эту группу. 

    628 Часть IV. Темы повышенной сложности 

    Затем создайте группу для файлов баз данных или файлов данных приложения. 
Для этого нужно сделать следующее. 
    1.    Щелкните на кнопке Add Group. 
    2.    В строке Group Name введите имя группы Database Files, а в строке 
Destination Directory оставьте принятое по умолчанию значение <INSTALLDIR>. 
    3.    Щелкните на кнопке ОК. 
    4.    Перетащите файлы баз данных приложения из окна Explorer (Проводник) 
Windows в группу Data Files. Это позволит разделить файлы программ и файлы 
данных приложения и, при желании, хранить их в отдельных каталогах. 
    Покончив с разделением файлов на группы, можно переходить к компонентам. 

    Компоненты 

    На этом этапе приложение разбивается на части, которые могут 
устанавливаться по желанию пользова-теляПЗдесь" группы, созданные на вкладке 
Groups, связываются с компонентами, установка которых не обязательна и может 
производиться по желанию пользователя. Как правило, между созданными ранее 
группами и компонентами, определяемыми на этой вкладке, имеется однозначное соответствие. 
    Как и на вкладке Groups, здесь имеются три элемента, не связанных с BDE: 
компонент Application Files, компонент Help and Tutorial Files и компонент 
Sample Files. Если на вкладке Groups группа Sample Files была удалена, нет 
причин оставлять соответствующий компонент; будьте последовательны и удалите 
его, если он действительно не нужен. 
    Здесь также можно дополнительно определить компоненты, не создаваемые по 
умолчанию, а также изменить имена и описания существующих компонентов на более подходящие. 
    Поскольку нормальная работа приложения невозможна без соответствующих 
файлов данных, то нет смысла создавать отдельный компонент для группы Data 
Files. Лучше связать эту группу с компонентом Application Files. Для созданной 
же ранее группы Help Files нужен отдельный компонент, чтобы в процессе 
установки пользователь мог при желании пропустить этот элемент приложения. 
    Начнем с изменения имени компонента Help and Tutorial Files на более 
лаконичное. Если ваше приложение похоже на большинство специализированных 
приложений, то, скорее всего, обучающее пособие в его состав не входит. Если 
это так, замените имя компонента Help and Tutorial Files на просто Help Files. 
Для этого щелкните на кнопке Modify Component и введите в строке Component 
Name новое имя компонента. Введите также в строке ввода Description краткое 
описание компонента, например: "Файлы интерактивной справочной системы". 
Щелкните на кнопке ОК, чтобы сохранить внесенные изменения. 
    Теперь, когда все компоненты определены, самое время связать их с группами 
файлов. Для добавления группы в компонент щелкните на имени этого компонента в 
списке Application Components, затем на име-Тни соответствующей ему группы из 
списка File Groups и, наконец, на кнопке Add to Application Component, 
расположенной под списком групп файлов. Если группа уже связана с компонентом, 
то эта кнопка будет недоступна. 
    По умолчанию InstallShield связывает группы Program Files и Help Files с 
компонентами приложения. К сожалению, группы файлов, имеющих отношение к BDE, 
не связываются автоматически с отдельными компонентами приложения, и это 
придется сделать самостоятельно. К тому же, если была создана группа Database 
Files, ее также нужно связать с соответствующим компонентом. Это делается 
следующим образом. 
    1.	Щелкните на группе Database Files в списке File Groups. 
    2.	Щелкните на компоненте Application Files в списке Application Components. 
    3.	С помощью кнопки Add to Application Component добавьте группу Database 
Files в компонент Application Files. 
    4.	Повторите этот процесс для каждой из групп, имеющих отношение к BDE. 

    Рис. 29.20 иллюстрирует процесс определения компонентов. 

    После определения компонентов приложения можно переходить к вариантам установки. 

    Типы установки 

    Щелкните на вкладке Setup Types. Откроется одноименная вкладка диалогового 
окна Specify Components and Files (рис. 29.21). Здесь созданные на предыдущей 
вкладке компоненты связываются с одним из трех стандартных вариантов 
установки: Compact (минимальная), Custom (выборочная) или Typical (обычная). 
Программа InstallShield поддерживает только эти три варианта. Их нельзя 
изменить или добавить новые. 

    Глава 29. Совершенствование приложения	629 

    Связать компонент с типом установки очень просто. Достаточно щелкнуть на 
имени компонента в списке Application Components, затем — на типе установки в 
списке Setup Types и, наконец, — на кнопке Add to Setup Type. 
    По умолчанию все определенные компоненты связаны со всеми типами 
установки. Это подходит для выборочной установки, поскольку пользователь 
должен иметь возможность выбирать необходимые для установки компоненты. 
Включение всех компонентов по умолчанию является преимуществом и для обычной 
установки, потому что, как правило, желательно, чтобы по умолчанию 
устанавливались все компоненты. Если не включить все компоненты в обычную 
установку, то для использования всех возможностей вашей программы, 
пользователям придется проводить выборочную установку. 
    Минимальная установка позволяет установить лишь то, что абсолютно 
необходимо для работы приложения. Можно, например, пропустить файлы справочной 
системы. Пользователи, выбирающие этот вариант установки, обычно экономят 
место на диске. Поэтому нужно предусмотреть минимальный размер приложения. 

    Рис. 29.20. Используйте компоненты для разделения приложения на части, 
устанавливаемые по желанию пользователя 

    Так как выборочная и обычная установки не нуждаются в дополнительной 
настройке, остается настроить лишь вариант минимальной установки. В окне Setup 
Types выберите режим Compact и удалите компонент Help Files. Щелкните на 
кнопке ОК, чтобы сохранить группы, компоненты и варианты установки. 

    Рис. 29.21. На вкладке Setup Types можно связать компоненты приложения с 
типами установки 

    630 Часть IV. Темы повышенной сложности 

    Выбор компонентов пользовательского интерфейса 

    Определив варианты установки, можно переходить к выбору компонентов 
интерфейса пользователя. Эта задача состоит из одного этапа, который 
выполняется в окне Dialog Boxes. Здесь нужно выбрать диалоговые окна, которые 
войдут в состав проекта установки. 

    Окно Dialog Boxes 

    Чтобы начать выбор диалоговых окон, включаемых в состав программы 
установки, щелкните на кнопке Dialog Boxes. Отметьте имена тех окон, которые 
должны выводиться на экран в процессе работы программы установки. Обратите 
внимание, что окна Setup Type и Custom Setup уже выбраны. Это произошло 
потому, что при создании проекта была предусмотрена выборочная установка. 
    Некоторые окна предусматривают возможность ввода дополнительных 
параметров, которые вам, вероятно, понадобятся. Для настройки параметров 
выбранного элемента щелкните на вкладке Settings. Например, для вывода окна 
Welcome Bitmap при запуске программы установки пометьте пункт Welcome Bitmap, 
a затем щелкните на вкладке Settings. На открывшейся вкладке Settings (рис. 
29.22) щелкните на кнопке просмотра и найдите изображение, которое должно 
появиться на экране сразу после запуска приложения. 

    Рис. 29.22. Определение дополнительных параметров диалоговых окон с 
помощью вкладки Settings 

    Помните: если щелкнуть на кнопке Preview этого диалогового окна, новое 
изображение не будет выведено на экран. Появится только картинка-пример. 
Увидеть, как будет выглядеть выбранное изображение во время установки, вы 
сможете только при тестировании программы. Выбирая изображения для заставок 
Welcome Bitmap и Billboards, не забывайте, что InstallShield Express 
поддерживает только 16-цветные изображения. 

    Файл Readme и лицензионное соглашение 

    Информационный текстовый файл Readme и лицензионное соглашение могут быть 
выведены на экран в процессе установки приложения. Помните, что текст при этом 
не будет форматироваться автоматически, поэтому для нормального отображения в 
соответствующем окне необходимо отформатировать его с помощью символов 
возврата каретки. Обратите внимание и на то, что на вкладке Preview выводится 
встроен-ный_текст, который не обновляется при изменении параметров вкладки Settings. 

    Рекламные заставки 

    Чтобы использовать в окне Billboards файл с растровым изображением, ему 
нужно присвоить имя SETUPI.BMP или SETUP1.WMF. Каталог, в котором хранится 
этот файл, можно указать на вкладке Settings. 

    Интерактивная регистрация 

    InstallShield позволяет создавать программы установки, позволяющие 
регистрировать приложения в интерактивном режиме. Если хотите использовать 
мастер интерактивной регистрации, обратитесь в компанию Pipeline 
Communications (1-800-WIN95REG или WIN95REG@pcpipeline.com). Pipeline сообщит вам 

    Глава 29. Совершенствование приложения 631 

    регистрационный номер (login ID) и номер телефона, необходимые программе 
установки для интерактивной регистрации. Эта информация должна быть указана на 
вкладке Settings элемента Online Registration. Щелкните на кнопке ОК, чтобы 
сохранить изменения и перейти к следующей задаче. 

    Изменения в системном реестре 

    Следующая задача — определить записи, которые необходимо внести в реестр 
для нормальной работы приложения. Большинство приложений в этом не нуждается, 
так как для каждого приложения InstallShield автоматически создает в реестре 
несколько записей. Помещая в реестр дополнительные записи, помните о 
необходимости присвоения им ключей удаления, чтобы при удалении приложения 
приложения эти записи также были удалены. Основные принципы установки программ 
в Windows требуют, чтобы самостоятельно удаляемые приложения не оставляли 
после себя "мусора". 
    Будьте очень внимательны при удалении ключей из реестра Windows. 
Некорректное удаление ключа может сделать недоступными другие приложения. 
Централизованное хранение всей информации о настройках компьютера имеет свои 
преимущества и свои недостатки. Одним из недостатков является то, что 
становится слишком легко повредить другую программу, случайно изменив или 
удалив ее записи в реестре. Изменяя что-либо в реестре, помните о 
предупреждении, которое можно встретить на древних географических картах: 
"Здесь водятся драконы". 

    Определение папок и пиктограмм 

    Эта задача заключается в выборе папок и пиктограмм, создаваемых программой 
установки. В диалоговом окне General Settings определяется, какие пиктограммы 
будут помещены в папку приложения. Эта папка, в свою очередь, будет помещена в 
меню Start^Programs (Пуск^Программы). Во окне General Settings можно выбрать 
также параметры командной строки приложения. 
    Диалоговое окно Advanced Settings (Дополнительные параметры) позволяет 
поместить в меню Start^Programs (Пуск^Программы) пиктограмму приложения. Здесь 
можно также указать альтернативный рабочий каталог, загрузить пиктограмму из 
внешнего источника и присвоить приложению комбинацию клавиш быстрого запуска. 
    Щелкните на кнопке General Settings. Как уже говорилось выше, здесь 
определена пиктограмма, соответствующая главному выполняемому файлу 
приложения. Можно заменить описание этой пиктограммы на более информативное. 
Щелкните в строке описания и введите вместо имени проекта два-три слова, 
описывающих приложение. Этот текст будет выводиться в виде подписи под 
пиктограммой, так что не увлекайтесь. Для сохранения изменений щелкните на 
кнопке Modify Icon. 
    Щелкните на кнопке ОК, чтобы вернуться в главное окно InstallShield. 

    Создание дистрибутивных дисков 

    Последняя из основных задач, которую вы должны решить на своем компьютере, 
— создание дистрибутивных дисков с помощью пункта Run Disk Builder. На этом 
этапе создаются мастер-копии дисков (disk images), которые будут содержать 
приложение и программу его установки. Эти мастер-копии будут затем скопированы 
на дискету или компакт-диск с возможностью записи. Для получения мастер-копий 
нужного размера надо выбрать предполагаемый тип носителя. 
    Щелкните на кнопке Disk Builder. В левом нижнем углу диалогового окна 
можно выбрать размер носителя, по умолчанию — 1,44 Мбайт. Здесь можно также 
выбрать в качестве носителя компакт-диск или любой из существующих размеров 
гибких дисков. Когда все будет подготовлено созданию образов, щелкните на 
кнопке Build. 
    Если не возникнут какие-либо проблемы, будут созданы мастер-копии дисков, 
и в левой части экрана появится набор соответствующих им пиктограмм (если 
выбранный тип носителя — компакт-диск, то пиктограмма будет только одна). 
Закончив создание файлов мастер-копий, щелкните на кнопке Close. 

    632 Часть IV. Темы повышенной сложности 

    Пробная установка 

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

    Создание дистрибутивных дискет 

    Последней из девяти основных задач является создание дистрибутивов, то 
есть копирование построенных ранее образов мастер-копий на физические носители 
для последующего распространения. В качестве носителей обычно используются 
различные виды дискет или компакт-диски с возможностью записи. Щелкните на 
кнопке Copy To Floppy, затем — на кнопке Copy All Disk Images, и InstallShield 
скопирует мастер-копии дисков на выбранный носитель. 
    Теперь приложение готово к распространению. Перед тем, как устанавливать 
его на компьютер клиента, проведите пробную установку с эталонных дисков на 
тестовом компьютере. Этим вы еще раз проверите процедуру установки, а заодно 
убедитесь, что эталонные диски пригодны к употреблению. Перед тем, как 
двигаться дальше, сохраните проект установки, чтобы и в будущем иметь 
возможность создания дистрибутивов. 

    Установка объектов баз данных 

    В этом разделе вы найдете несколько советов о распространении объектов баз 
данных клиент/сервер вместе с приложениями. В отличие от таблиц локальных 
СУБД, таблицы баз данных типа клиент/сервер невозможно просто присоединить к 
приложению. В одном из предыдущих примеров мы создали специальную группу 
файлов и поместили туда файл данных InterBase RENTMAN. GDB, связанный с 
приложением RENTMAN. Однако такой метод не срабатывает, если база данных 
расположена на удаленном сервере или должна работать под управлением другой 
СУБД. Альтернативой является полное включение баз данных клиент/сервер в 
состав приложения, но иногда это просто невозможно. 
    Лучшее решение — включить в состав приложения сценарии SQL. Эти сценарии 
должны быть выполнены приложением при первом запуске или администратором баз 
данных до запуска приложения. Поскольку нельзя быть уверенным в том, что на 
компьютерах пользователей установлены необходимые средства создания баз 
данных, то очевидно что, второй вариант более безопасен. 
    Все основные производители СУБД клиент/сервер предлагают средства для 
выполнения сценариев SQL. Предположим, например, что нужно выполнить сценарий 
SQL для создания версии базы данных RENTMAN для Microsoft SQL Server. Наиболее 
вероятно, что для этого вы используете утилиту ISQL, входящую в состав средств 
SQL Server, например, таким образом: 

    isql   -Usa  -PSaPassword  -Sserver  -iRentMan.SQL   -oRentMan.out 

    В процессе выполнения этого сценария определенные в нем объекты будут 
созданы и открыты для доступа. И Sybase, и Microsoft SQL Server содержат 
утилиту ISQL, предназначенную для решения подобных задач. 
    В случае, если база данных RENTMAN должна быть создана в Oracle, нужно 
выполнить следующую команду: 

    sqlplus   SYS/SysPassword@Server   @RentMan.SQL В случае InterBase 

решением будет следующая строка: 

    isql   \\server\rentman.gdb  -i  RentMan.sql  -о RentMan.out  -u  SYSDBA 
-p masterkey 

    Производителями баз данных в разной степени поддерживается пакетное 
выполнение сценариев SQL. Однако во всех случаях этой поддержки достаточно, по 
крайней мере, для создания объектов баз данных, необходимых для работы 
большинства приложений. 

    Глава 29. Совершенствование приложения	633 

    Резюме 

    В этой главе вы научились создавать как обычные, так и расширенные 
программы установки. Вы узнали о многих тонкостях использования InstallShield 
для превращения вашей программы в коммерческий продукт. Вы узнали также о том, 
что перед копированием приложения на дискеты необходимо выполнить множество 
предварительных операций. Распространение приложения похоже на выпечку торта: 
если вы используете не те продукты или сначала смажете торт кремом, а потом 
испечете, то, возможно, вам долго придется искать почитателей вашей стряпни. 
Очень важно все хорошо обдумать и спланировать, прежде чем окунуться в 
загадочный мир компьютера пользователя. 

    634	Часть IV. Темы повышенной сложности 
