Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
ТЕХНОЛОГИИ ДОСТ... 65262
Имитационное мо... 59097
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

Пользователей: 13,103
новичок: Bayka
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование станции технического обслуживания на GPSS + Отчет
Моделирование работы участка термической обработки шестерен на GPSS + По...
Моделирование работы перекрёстка по регулированию движения на GPSS + Поя...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Создание дистрибутивов клиентских приложений БД с помощью программы Inno Setup (Delphi + Microsoft SQL Server)


Понятие дистрибутива


Дистрибутивом приложения называют специальный файл, при запуске которого происходит установка данного приложения на компьютер пользователя. Дистрибутив небольших приложений обычно представляет собой файл с именем Setup.exe. Для сложных приложений дистрибутивы могут состоять из большего количества файлов.
В состав современного приложения входит большое количество разнообразных файлов, например: файлы программ (.EXE), динамических библиотек (.DLL), документации (.DOC, .TXT, .PDF, .HTML), рисунков (.JPG, .BMP), справки (.CNT, .HLP, .CSM), баз данных (.MDB, .MDF, .LDF) и т.п. Простое копирование перечисленных файлов на компьютер пользователя не позволяет установить приложение по следующим причинам:
• необходимо воссоздать определенную структуру каталогов, в которых будут размещены файлы приложения;
• желательно дать возможность пользователю прочитать лицензионное соглашение, выбрать каталог для установки приложения, выбрать необходимые компоненты и т.д.;
• желательно создать ярлыки программ в меню Пуск–Программы, на панели быстрого запуска, на рабочем столе;
• иногда требуется зарегистрировать в системе определенные типы файлов, прописать некоторую информацию в реестр;
• после установки приложения может потребоваться запустить определенную программу или вывести на экран текст справки.
Для решения перечисленных проблем и разрабатывают дистрибутивы. В состав дистрибутива включают все требуемые для работы приложения файлы, а также предусматривают в ходе установки приложения выполнение всех необходимых действий по созданию каталогов, ярлыков, записей в реестре, и т.д.
Для создания дистрибутивов используют специальные программы-инсталляторы. Наиболее известной, но в то же время сложной является программа InstallShield. Для знакомства с созданием дистрибутивов использование этой программы нецелесообразно. В лабораторной работе будем использовать более простую для освоения программу-инсталлятор Inno Setup 4. Существенным достоинством программы является возможность ее бесплатного использования, в том числе и в коммерческих целях.
Особенности подготовки дистрибутивов приложений, написанных на Borland Delphi
Чтобы грамотно создавать дистрибутивы приложений, необходимо знать, из каких файлов они состоят. Рассмотрим особенности подготовки дистрибутивов программ, написанных на Borland Delphi 7.
Запустим Borland Delphi, откроем проект приложения и зайдем в свойства проекта, выбрав пункт меню Project–Options. Сначала настроем свойства приложения, выбрав вкладку Application (рисунок 1).



В поле Title зададим название приложения, которое будет выводиться на панели задач во время работы приложения. Например, напишем: “Пример приложения БД”.
В поле Help file можно задать имя файла справки, если он используется в приложении. При этом можно нажать на кнопку Browse, чтобы выбрать файл с помощью диалогового окна.
Нажав на кнопку Load Icon, можно выбрать с помощью диалогового окна пиктограмму, которая будет выводиться на панели задач при запуске приложения и отображаться в Проводнике. Пиктограммы имеют расширение .ICO, их можно создать с помощью приложения Image Editor, входящего в состав Borland Delphi.
Теперь откроем вкладку Packages и уберем флажок Build with runtime packages (рисунок 2). В этом случае приложение будет представлять один .EXE.



Создание дистрибутивов с помощью программы Inno Setup


Найти программу можно на сайте http://www.innosetup.com . Для запуска программы выберем пункт меню Пуск–Программы–Inno Setup 4 – Inno Setup Compiler. Далее в открывшемся окне можно выбрать пункт Create a new script file using Script Wizard, чтобы построить простой дистрибутив с помощью мастера, или пункт Create a new empty script file, чтобы создать дистрибутив самостоятельно. Выберем последний вариант. На рисунке 3 показан пример главного окна программы Inno Setup.



Процесс установки приложения описывается с помощью так называемого сценария установки, представляющего собой текстовый файл с расширением *.iss. Рассмотрим пример простого сценария для установки приложения Example.exe. Полный текст сценария приведен в Приложении 1.
Сценарий состоит из нескольких секций, начинающихся с названия, заключенного в квадратные скобки. Например, [Setup], [Components] и т.п.

Секция [Setup] содержит основные настройки процесса установки. К наиболее часто используемым настройкам относится следующее:
1. Полное название приложения. Позволяет задать полное название приложения, которое будет выводится на экран в процессе установки. Например:
AppName= Пример клиентского приложения БД



2. Краткое название приложения и версия. Позволяет задать сокращенное название приложения, которое будет использоваться при создании ярлыков и пунктов главного меню. Также позволяет указать версию приложения. Например:
AppVerName=Sample 1.0



3. Автор приложения. Позволяет задать имя автора, создавшего приложение. Например:
AppPublisher=РГРТУ



4. Каталог установки. Позволяет задать каталог, куда по умолчанию будет устанавливаться приложение. Например:
DefaultDirName={pf}\Sample



Ключевое слово {pf} означает ссылку на стандартный каталог Program Files.
5. Имя группы. Позволяет задать имя папки в главном меню, где будут созданы ярлыки для приложения. Например:
DefaultGroupName=Пример



6. Запрет приглашения. Позволяет запретить показ приглашения перед началом установки. Например:
DisableStartupPrompt=yes



Секция [Languages] позволяет задать язык, на котором будут выводиться сообщения. Чтобы использовать русский язык следует указать:
[Languages]
Name: "ru"; MessagesFile: "compiler:russian.isl"



При этом необходимо скопировать файл russian.isl из каталога …\Inno Setup 4\Languages в каталог …\Inno Setup 4.

Секция [Types] позволяет указать различные типы установки приложения: полную, стандартную, выборочную, минимальную и т.п. Например:
[Types]
Name: "custom"; Description: "Выборочная установка";
Flags: iscustom
Name: "full"; Description: "Полная установка"



В данном примере используются два типа установки: выборочная и полная. Каждому типу установки ставится в соответствие имя, задаваемое с помощью параметра Name. С помощью параметра Description задается название типа установки, которое будет выводиться в процессе установки. Параметр Flags со значением iscustom позволяет указать, что данный тип установки является выборочным, т.е. пользователь может выбирать компоненты приложения, который требуется установить.
Секция [Components] позволяет перечислить те компоненты, из которых состоит приложение. Под компонентом понимают группу логически взаимосвязанных файлов, которые должны устанавливаться совместно. Каждому компоненту задается имя с помощью параметра Name. С помощью параметра Description задается название компонента, которое будет выводиться в процессе установки. Параметр Types позволяет перечислить имена типов установки, для которых разрешено использование данного компонента. Например:
[Components]
Name: "program"; Description: "Приложение";
Types: custom full;
Name: "ADO"; Description: "ADO"; Types: custom full;
Name: "DB"; Description: "База данных"; Types: custom full;



В данном примере заданы три компонента, использование которых разрешено в обоих типах установки.
Секция [Files] позволяет указать файлы, из которых состоят компоненты. Для каждого файла задаются следующие параметры:
Source – полный или относительный путь к файлу на компьютере, где создается дистрибутив, т.е. откуда брать файл;
DestDir – полный или относительный путь, куда будет устанавливаться файл, т.е. куда помещать файл. Путь относительно к каталогу установки, выбранного пользователем может быть задан с помощью ключевого слова {app}. Ссылка на каталог временных файлов осуществляется с помощью ключевого слова {tmp}.
CopyMode – режим копирования, alwaysoverwrite означает, что файл в любом случае будет переписан, даже поверх уже существующего;
Components – имя компонента, к которому относится файл.
Например:
[Files]
;Приложение
Source: "sample.exe"; DestDir: "{app}";
CopyMode: alwaysoverwrite; Components: program
;Устнаовка ADO
Source: "MDAC28.EXE"; DestDir: "{tmp}"; Components: ADO
;База данных
Source: "osql.exe"; DestDir: "{tmp}"; Components: DB
Source: "structure.sql"; DestDir: "{tmp}"; Components: DB



В данном примере в состав приложения входят следующие файлы:
sample.exe – исполняемый файл приложения;
MDAC28.EXE – файл для установки интерфейса ADO;
structure.sql – файл скрипта для создания БД, с которой работает приложение; osql.exe – утилита для исполнения скрипта.
Секция [Run] позволяет перечислить исполняемые файлы, которые будут автоматически запущены после окончания процесса установки. В нашем примере это используется для установки ADO-интерфейса и создания БД. В качестве параметров указывается имя запускаемого файла, параметр командной строки и имя компонента, к которому относится запускаемый файл.
[Run]
;Запуск установки ADO
Filename: "{tmp}\ MDAC28.EXE"; Parameters: ""; Components: ADO
;
;Запуск исполнения сценария ;для выполнения скрипта ;structure.sql,создающего БД на сервере с именем vpm1,
;именем пользователя sa, паролем sa
Filename: "{tmp}\osql.exe"; Parameters: "-S dc.vpm.rrtu -U sa -P sa -i {tmp}\structure.sql"; Components: DB
Секция [Icons] позволяет создать ярлыки для приложения, расположенные в главном меню или на рабочем столе. Для определения каждого ярлыка требуется задать следующие параметры:
Name – имя ярлыка и его местоположение ({group} – папка в главном меню; {userdesktop} – на рабочем столе)
; Filename - путь и имя файла, для которого создается ярлык
; WorkingDir - рабочий каталог программы
; Components - компонент, к которому относится данный ярлык
[Icons]
;Ярлык приложения в главном меню
Name: "{group}\Пример"; Filename: "{app}\sample.exe";
WorkingDir: "{app}"; Components: program
;Ярлык приложения на рабочем столе
Name: "{userdesktop}\Пример"; Filename: "{app}\sample.exe";
WorkingDir: "{app}"; Components: program
Кроме того, в секции можно задать ярлык для деинсталляции приложения. Например:
;Деинсталлятор
Name: "{group}\Удалить программу";
Filename:"{uninstallexe}"



Для создания дистрибутива приложения необходимо запустить сценарий на выполнение. Для этого следует выбрать пункт меню Run–Run или нажать F9. Созданный дистрибутив будет размещен в папке Output, расположенной в папке где сохранен сценарий.
По окончании создания дистрибутив будет автоматически запущен для пробной установки, что позволяет проверить правильность разработанного сценария.
Программу для установки ADO можно скачать с FTP-сервера кафедры или спросить у преподавателя.

Приложение 1

[Setup]
AppName= Пример клиентского приложения БД
AppVerName=Sample 1.0
AppPublisher=РГРТУ
DefaultDirName={pf}\Sample
DefaultGroupName=Пример
[Languages]
Name: "ru"; MessagesFile: "compiler:russian.isl"
[Types]
Name: "custom"; Description: "Выборочная установка";
Flags: iscustom
;
Name: "full"; Description: "Полная установка"
[Components]
Name: "program"; Description: "Приложение"; Types: custom full;
Name: "DB"; Description: "База данных"; Types: custom full;
Name: "ADO"; Description: "ADO"; Types: custom full;
[Files]
;Приложение
Source: "Example.exe"; DestDir: "{app}";
CopyMode: alwaysoverwrite; Components: program
;
;База данных
Source: "osql.exe"; DestDir: "{tmp}"; Components: DB
Source: "structure.sql"; DestDir: "{tmp}"; Components: DB
;
;Установка ADO
Source: "MDAC28.EXE"; DestDir: "{tmp}"; Components: ADO
[Run]
;Запуск установки ADO
Filename: "{tmp}\ MDAC28.EXE "; Parameters: ""; Components: ADO
;
;Запуск исполнения сценария
;для выполнения скрипта structure.sql,
;создающего БД на сервере с именем vpm1,
;именем пользователя sa, паролем sa
Filename: "{tmp}\osql.exe"; Parameters: "-S dc.vpm.rrtu -U sa -P sa
-i {tmp}\structure.sql"; Components: DB
[Icons]
;Ярлык приложения на рабочем столе
Name: "{userdesktop}\Пример"; Filename: "{app}\Example.exe"; WorkingDir: "{app}"; Components: program
;
;Ярлык приложения в меню Программы
11
Name: "{group}\Пример"; Filename: "{app}\Example.exe";
;
;Ярлык деинсталлятора в меню Программы
Name: "{group}\Удалить программу"; Filename: "{uninstallexe}"




Опубликовал Kest March 25 2009 21:44:23 · 0 Комментариев · 31093 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Delphi. Учимся на...
База данных фильм...
Animation (Пример...
Cтатьи Королевств...
De Knop
Базы данных в Инт...
Работа с базами д...
Самоучитель PHP 4
ActiveX в Delphi
Xrumer 4 Platinum...
BDEPack
Библия хакера 2. ...
Flash MP3 Player ...
HtmlLerz PRO
PCX
С# для профессион...
SUIPack
Профессиональное ...
Разработка клиент...
Мониторинг сервер...

Топ загрузок
Приложение Клие... 100505
Delphi 7 Enterp... 89503
Converter AMR<-... 20090
GPSS World Stud... 14436
Borland C++Buil... 12504
Borland Delphi ... 8878
Turbo Pascal fo... 7082
Калькулятор [Ис... 5054
Visual Studio 2... 5016
FreeSMS v1.3.1 3552
Случайные статьи
10.5. Принципы
Если нажать левую ...
Перегрузка операци...
Класс TTalk
Использование Comp...
Многократная рекурсия
Квартира в Новой У...
В какую объединенн...
Запись центральног...
Использование ext/...
Официальный сайт к...
Постоянная интеграция
Обработка исключит...
Корзины для элементов
Сбор данных с прим...
Еще три возможност...
Процедура GetViewS...
Автоматическая игр...
Установка для эксп...
Большинство програ...
Canonical Format I...
Что нужно делать п...
Разработать прикл...
Определение функци...
Введение в PowerShell
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?