Практическое занятие № 30

Тема: " Создание инсталлятора программы "

Цель работы: получить практические привычки по созданию инсталляционных пакетов программ

 

Ход работы

 

Пусть имеется готовая программа, которая состоит из EXE файла, файла помощи и папки с шаблонами документов. Данная программа работает с БД SQL Server Dekanat

Необходимо подготовить БД для включения ее в инсталлятор программы.

 

Указания: скачайте и подключите БД к серверу SQL Server.

Выполните извлечение БД в скриптовый файл. Для этого в контекстном меню выберите команду "Задачи - Сформировать сценарии". С помощью флажка отметьте все таблицы БД. На следующем шаге укажите имя файла "baza.sql" для экспорта БД. С помощью кнопки Дополнительно задайте ряд параметров:

- включать объекты с параметром IF NOT EXISTS;

- внести в сценарий Drop и Create;

- типы данных для внесения в сценарий - схема и данные;

- внести в сценарий триггеры.

После задания всех параметров щелкните на кнопке Далее, Готово.

В результате в указанной папке появится скриптовий файл "baza.sql" с информацией о БД.

 

Внимание! Откройте файл скрипта и найдите команду сreate database... Оставьте у этой команды только текст:

 

create database имя_БД

 

все остальные параметры, включая пути к яайлам БД удалите.
 

Для выполнения скриптового файла нам понадобится специальная программа "sqlcmd.exe" и вспомогательный файл "sqlcmd.rll". Откройте папку "C:\Program Files\Microsoft Sql Server\" и с помощью функции поиска найдите указанные файлы.

Для запуска операции установки БД будем пользоваться специальным файлом "baza.bat". Для его создания запустите программу Microsoft Word. В новом документе введите код:

 

cls

@echo off

sqlcmd -S %1 -U %2 -P %3 -i baza.sql

if %errorlevel% == 0 goto m1

echo БД не установлена.

echo Проверьте параметры регистрации и наличие работающего сервера SQL Server.

pause

goto end

:m1

echo БД установлена успешно.

pause

:end

 

Сохраните документ в папку "Baza" под именем "baza.bat", указав тип файла "Обычный текст" и кодировку "MS-DOS".

 

Создайте папку Baza и поместите в нее папку со скриптом БД, файлы sqlcmd.exe и sqlcmd.rll, созданный файл baza.bat.

 

После подготовки БД создайте инсталлятор программы.

 

 Указания: Запустите программу "Indigo Rose SetupFactory". В новом окне выберите переключатель "Создать новый проект". В результате запустится мастер проекта.

На первом шаге введите общую информацию о программе: название, версия и т.п.

На следующем шаге укажите папку, в которой находится ваша готовая программа.

На следующем шаге выберите стиль окна инсталлятора: с фоном или без.

На следующем шаге укажите стиль оформления окон инсталлятора.

На следующем шаге с помощью флажков укажите доступные языки инсталляции и в списке выберите язык по умолчанию.

На следующем шаге можно отметить дополнительные библиотеки, которые нужны для работы программы. Если программа написана на Delphi, то данные библиотеки не обязательны.

На последнем шаге укажите, какие операционные системы поддерживаются вашей программой.

 

Настройка создания ярлыков

 

После завершения работы мастера в окне программы отобразится список файлов проекта. Если в строке файла в колонке "ShortCut" имеется текст, то для данного файла будет создан ярлык. В нашем случае ярлык нужен только для EXE файла программы.

Двойным щелчком откройте свойство не нужного файла и на закладке "Ярлыки" снимите все флажки, чтобы ярлыки не создавались.

 

Настройка текста лицензии

 

При установке программы нужно отображать текст лицензионного соглашения. Наш проект также имеет такое окно, но сам текст отсутствует. В левой части окна программы найдите группу "Экраны" и щелкните на команде "Перед инсталляцией". В списке выберите экран "License Agreement" и щелкните на кнопке "Правка". В новом окне введите текст лицензионного соглашения.

 

Создание окна установки БД

 

После установки программы нужно установить БД. Перед установкой БД нужно указать имя сервера, логин и пароль учетной записи. Для ввода этой информации создадим новый экран в проекте инсталляции.

В левой части окна программы найдите группу "Экраны" и щелкните на команде "После инсталляции". Откроется список с одним экраном. Щелкните на кнопке "Добавить" и выберите тип экрана "Custom". С помощью кнопок с изображениями стрелок переместите созданный экран вверх списка.

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

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

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

 

- первое поле: текст по умолчанию =sa; хранится в переменной сессии = %user%;

- второе поле: хранится в переменной сессии = %password%; стиль входа = пароль;

- третье поле: хранится в переменной сессии = %server%;

 

Для других компонентов задайте нужны надписи и разместите так, чтобы получился экран вида:

 

 

Введение кода для установки БД

 

Для работы кнопки в окне создания нового экрана перейдите на закладку "Действия", а потом на закладку "On Ctrl Message". На этой закладке есть заготовка кода для двух кнопок.

Для ветки if первой кнопки (e_CtrlID == CTRL_BUTTON_01) ) удалите команды и сгенерируйте свой код .

Кнопка будет выполняться установка БД SQL Server. Для этого поставьте курсор в ветку первой кнопки и щелкните на кнопке "Добавить действие". В списке выберите действие "File.Run". В новом окне задайте параметры:

 

FileName=в папке Baza укажите файл baza.bat

Args=SessionVar.Expand("%server% %user% %password%");

WorkingFolder="%AppFolder%\\Baza"

WaitForReturn=true

 

После задания всех параметров щелкните на кнопке "ОК". В результате в коде появится команда:

 

result=File.Run(SessionVar.Expand("%AppFolder%\\Baza\\baza.bat"), SessionVar.Expand("%server% %user% %password%"), "%AppFolder%\\Baza", SW_SHOWNORMAL, true);

 

Код для второй кнопки удалите.

 

Удаление папки "Baza" после инсталляции

 

После завершения установки программы нужно удалить из папки с программой папку "Baza". Для этого в окне редактирования свойств нового экрана перейдите на закладку "Действия", а потом на закладку "OnNext". На этой закладке находится команда перехода на следующий экран. Установите курсор выше этой команды и щелкните на кнопке ""Добавить действие". В списке выберите действие "Folder.DeleteTree". В новом окне задайте параметры:

 

Folder="%AppFolder%\\Baza"

 

После задания всех параметров щелкните на кнопке "ОК". В результате в коде появится команда:

 

Folder.DeleteTree("%AppFolder%\\Baza", nil);

 

Настройка экрана деинсталляции

 

После установки программы автоматически создается ярлык для запуска мастера деинсталляции программы. Но последний экран этого мастера не корректно отображает текст кириллицей.

В левой части окна программы найдите группу "Деинсталляция" и щелкните на команде "Экраны". На закладке "After UnInstalling" с помощью кнопки "Правка" откройте экран и на закладках "Настройка" и "Атрибуты" введите корректный текст для надписей.

 

Сборка инсталлятора

 

После задания всех параметров выполните команду "Издание - Сборка" или щелкните на кнопке "Сборка" на панели инструментов. В окне укажите размер инсталлятора и путь для его сохранения.

После завершения сборки запустите созданный инсталляционный файл и проверьте работу установленной программы.

С помощью ярлыка деинсталляции выполните удаление программы с компьютера.