Опубликован: 09.09.2008 | Доступ: свободный | Студентов: 2107 / 346 | Оценка: 4.30 / 4.12 | Длительность: 08:30:00
ISBN: 978-5-94774-601-3
Самостоятельная работа 15:

Развертывание приложения

< Самостоятельная работа 14 || Самостоятельная работа 15: 12

Цель работы: Освоить технологию создания инсталляционных программ Windows-приложений для развертывания созданного приложения.

Общие сведения

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

Visual Studio 2005 позволяет создавать инсталляционные программы для приложений. Для этого предусмотрено шесть типов проектов инсталяторов:

  • Setup Project - используется для инсталляции клиентских приложений, приложений среднего слоя, а также приложений, запускаемых как службы Windows;
  • Web Setup Project - используется для инсталляции Web-ориентированных приложений;
  • Merge Module Project - создает модули слияния (merge modules), которые могут быть использованы с другими приложениями, основанными на технологии Windows Installer;
  • САВ Project - создает cab-файлы для распространения с применением старых технологий развертывания;
  • Setup wizard - помощник в создании проекта развертывания;
  • Smart Device САВ Project - САВ-проект для PocketPC, Smartphone и других СЕ-приложений.

Windows Installer - это служба, управляющая инсталляцией, обновлением, восстановлением и удалением приложений в большинстве операционных систем семейства Windows. Эта служба является частью Windows ME, Windows 2000 и Windows XP, а также доступна для Windows 95, Windows 98 и Windows NT 4.0. Текущая версия Widows Installer - 2.0.

Windows Installer ведет базу данных инсталлированных приложений. Когда приложение должно быть деинсталлировано, с помощью этой базы можно легко найти и удалить настройки реестра, которые были добавлены, файлы, которые были скопированы на жесткий диск, а также пиктограммы рабочего стола и меню Start (Пуск). Если определенный файл все еще используется другим приложением, то инсталлятор оставит его на диске, так что использующее его приложение не разрушится. База данных также обеспечивает возможность восстановления. Если настройки реестра или DLL -библиотеки, ассоциированные с приложением, были повреждены или непреднамеренно удалены, инсталляцию можно восстановить. Во время восстановления инсталлятор читает в своей базе информацию о последней инсталляции и повторяет ее.

Проекты развертывания в Visual Studio 2005 дают возможность создавать пакеты для Windows Installer. Проекты развертывания предоставляют доступ к большей части того, что необходимо сделать, чтобы инсталлировать определенное приложение.

Создание инсталлятора

При разработке приложения использовалась отладочная версия проекта ( Debug ), в которой присутствовал дополнительный код для отладки. Инсталлятор приложения должен создаваться для серийного выпуска приложения ( Release ). Для создания серийного выпуска откроем проект приложения и в окне свойств проекта для пункта построителя ( Built ) изменим свойство конфигурации ( Configuration ) на Active (Release) (рисунок 15.1). Далее необходимо провести компиляцию и тестирование приложения.

Установка свойства проекта "Серийный выпуск"

увеличить изображение
Рис. 15.1. Установка свойства проекта "Серийный выпуск"

Для развертывания проекта приложения Project_К4И_01 создадим отдельный проект развертывания SetupEmployee (рисунок 15.2).

Создание проекта развертывания

увеличить изображение
Рис. 15.2. Создание проекта развертывания

В результате откроется окно создаваемого проекта инсталляции приложения (рисунок 15.3).

Окно проекта развертывания

увеличить изображение
Рис. 15.3. Окно проекта развертывания

Если в окне Solution Explorer щелкнуть на проекте, то в окне Properties (Свойства) отобразится список свойств (рисунок 15.4).

Свойства проекта развертывания

Рис. 15.4. Свойства проекта развертывания

Эти свойства будут отображаться во время инсталляции приложения. Некоторые из них также будут отображаться в приложении панели управления Add/Remove Programs (Установка и удаление программ). Поскольку большинство из этих свойств видимы пользователю в процессе инсталляции (или когда он посмотрит на инсталляцию в окне Add/Remove Programs ), их правильная установка придаст приложению профессиональный вид. Список этих свойств весьма важен, если планируется коммерческая поставка приложения. В таблице 15.1 приведены свойства и значения, которые необходимо ввести при создании проекта инсталляции.

Таблица 15.1. Свойства и значения для проекта установки
Свойства проекта Описание
AddRemove, ProgramsIcon Пиктограмма, появляющаяся в диалоговом окне Add/Remove Programs (Установка и удаление программ).
Author Автор приложения. Обычно это свойство совпадает с производителем ( Manufacturer ). Отображается на странице Summary (Сводка) диалогового окна Properties (Свойства) пакета msi, а также в поле Contact (Контакт) страницы SupportInfo диалогового окна Add/Remove Programs.
Discription Поле текста свободного стиля, описывающее приложение или инсталлированные компоненты. Эта информация отображается на странице Summary диалогового окна Properties пакета msi, а также в поле Contact страницы SupportInfo диалогового окна Add/Remove Programs.
DetectNewer, InstalledVersion Булевское значение. Если установлено в true, проверяет, не установлена ли уже на машине более новая версия приложения. Если это так, процесс инсталляции останавливается.
InstallAllUsers Булевское значение. Установка в true означает необходимость инсталляции для всех пользователей компьютера. Установка в false обеспечивает доступ к приложению только текущему пользователю.
Keywords Ключевые слова, которые могут быть использованы для поиска msi -файла на целевом компьютере. Эта информация отображается на странице Summary диалогового окна Properties пакета msi.
Localization Локальная настройка, используемая для строковых ресурсов и установок реестра. Влияет на пользовательский интерфейс инсталлятора.
Manufacturer Наименование компании-производителя приложения или компонента. Обычно это та же информация, что указана и в свойстве Author. Отображается на странице Summary диалогового окна Properties пакета msi, а также в поле Publisher (Издатель) страницы SupportInfo в диалоговом окне Add/Remove Programs. Используется как часть пути инсталляции по умолчанию для данного приложения.
ManufacturerURL URL Web -сайта, связанного с инсталлируемым приложением или компонентом.
PostBuildEvent Команда, исполняемая после окончания процесса построения.
PreBuildEvent Команда, исполняемая перед началом процесса построения.
ProductCode Строковый идентификатор GUID, уникальный для данного приложения или компонента. Windows Installer использует это свойство, чтобы идентифицировать приложение для последующих обновлений или инсталляций.
ProductName Имя приложения. Используется для описания приложения в диалоговом окне Add/Remove Programs, а также как часть пути инсталляции по умолчанию данного приложения: С: \Program Files\Manuf acturer\ProductName
Remove Previous, Versions Булевское значение. Если установлено в true, то проверяет наличие на компьютере предыдущей версии приложения. Если она есть, то старая версия деинсталлируется перед тем, как начать инсталляцию новой. Это свойство использует Productcode и UpgradeCode для определения того, должна ли выполняться деинсталляция. UpgradeCode должен быть тем же, ProductCode - должен отличаться.
RunPostBuildEvent Когда должно запускаться событие PostBuildEvent. Варианты: при успешном построении проекта либо всегда.
SearchPath Строка, представляющая путь поиска зависимых сборок, файлов или модулей слияния. Используется, когда инсталляционный пакет собран на машине разработчика.
Subject Дополнительная информация относительно приложения. Эта информация отображается на странице Summary диалогового окна Properties пакета msi.
SupportPhone Телефонный номер службы поддержки приложения или компонента Эта информация отображается в поле Support Information (Информация о поддержке) страницы SupportInfo диалогового окна Add/Remove Programs.
SupportURL URL службы поддержки приложения или компонента. Эта информация отображается в поле Support Information страницы SupportInfo диалового окна Add/Remove Programs.
TargetPlatform Поддержка 32-разрядной или 64-разрядной версий Windows.
Title Заголовок инсталлятора. Отображается на странице Summary диалогового окна Properties пакета msi.
UpgradeCode Строковый GUID, представляющий идентификатор различных версий одного и того же приложения. UpgradeCode не должен меняться для разных версий или разных языковых версий приложения. Используется DetectNewerInstalledVersion и RemovePreviousVersion.
Version Номер версии инсталлятора, cab -файла или модуля слияния.

Для добавления сборок (в данном примере единственная сборка, которую необходимо добавить - основная исполняемая программа ( Project_K4И_01.exe ) необходимо щелкнуть правой кнопкой мышки на проекте в Solution Explorer, либо выбрать команду меню Project/Add (Проект/Добавить), которая имеет четыре опции:

  • Project Output - выходные данные проекта;
  • File (Файл) - используется для добавления текстового файла readme или любого другого файла, не являющегося частью процесса сборки;
  • Merge Module (Модуль слияния) - модуль слияния, созданный отдельно;
  • Assembly (Сборка) - эту опцию следует использовать для выбора сборки, являющейся частью инсталляции.

В нашем случае выберем Assembly (рисунок 15.5).

Добавление сборки в проект развертывания

Рис. 15.5. Добавление сборки в проект развертывания

Появится диалоговое окно Component Selector (Выбор компонентов). Пролистаем до папки \bin\release созданного ранее приложения и выберем - Project_K4И_01.exe, затем щелкнем на кнопке ОК (рисунок 15.6).

Выбор приложения проекта развертывания

Рис. 15.6. Выбор приложения проекта развертывания

После этого увидим Project_K4И_01.exe в Solution Explorer проекта развертывания. В разделе Detected Dependencies (Обнаруженные зависимости) увидим, что Visual Studio опросил Project_K4И_01.exe на предмет сборок, которых он зависит - в данном случае Microsoft .NET Framework включен автоматически (рисунок 15.7).

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

Рис. 15.7. Окно проекта развертывания c добавленной сборкой

В общем случае, если приложение состоит из нескольких сборок необходимо продолжать этот процесс до тех пор, пока все сборки приложения не будут зарегистрированы в Solution Explorer для проекта развертывания.

Далее необходимо определить, где должны быть развернуты сборки. По умолчанию Visual Studio 2005 отображается редактор File System (Редактор файловой системы), вид которого приведен на рисунке 15.8.

Редактор файловой системы

Рис. 15.8. Редактор файловой системы

Этот редактор разделен на две панели. Левая показывает иерархическую структуру файловой системы целевой машины, а правая панель отображает детальное представление выбранной папки. Имена папок могут отличаться от того, что можно было ожидать, но следует помнить, что это - целевая машина; например, папка с меткой User's Program Menu (Меню Программы пользователя) отображается на C:\Documents и Settings\User Name\Start Menu\Programs целевого клиента.

< Самостоятельная работа 14 || Самостоятельная работа 15: 12
Анна Иваненко
Анна Иваненко

В самостоятельной работе 8 написано: "В пункте "Server name" задаем имя сервера, которое необходимо узнать у преподавателя". Где узнать это имя?

Вячеслав Шестивский
Вячеслав Шестивский

Вроде всё выставил верно, но при клике на "Сотрудники", меню из FormEmplyee не вставляется в меню главного окна а висит в дочернем окне снизу.  Как поправить?