В самостоятельной работе 8 написано: "В пункте "Server name" задаем имя сервера, которое необходимо узнать у преподавателя". Где узнать это имя? |
Развертывание приложения
Цель работы: Освоить технологию создания инсталляционных программ 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). Далее необходимо провести компиляцию и тестирование приложения.
Для развертывания проекта приложения Project_К4И_01 создадим отдельный проект развертывания SetupEmployee (рисунок 15.2).
В результате откроется окно создаваемого проекта инсталляции приложения (рисунок 15.3).
Если в окне Solution Explorer щелкнуть на проекте, то в окне Properties (Свойства) отобразится список свойств (рисунок 15.4).
Эти свойства будут отображаться во время инсталляции приложения. Некоторые из них также будут отображаться в приложении панели управления Add/Remove Programs (Установка и удаление программ). Поскольку большинство из этих свойств видимы пользователю в процессе инсталляции (или когда он посмотрит на инсталляцию в окне Add/Remove Programs ), их правильная установка придаст приложению профессиональный вид. Список этих свойств весьма важен, если планируется коммерческая поставка приложения. В таблице 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).
Появится диалоговое окно Component Selector (Выбор компонентов). Пролистаем до папки \bin\release созданного ранее приложения и выберем - Project_K4И_01.exe, затем щелкнем на кнопке ОК (рисунок 15.6).
После этого увидим Project_K4И_01.exe в Solution Explorer проекта развертывания. В разделе Detected Dependencies (Обнаруженные зависимости) увидим, что Visual Studio опросил Project_K4И_01.exe на предмет сборок, которых он зависит - в данном случае Microsoft .NET Framework включен автоматически (рисунок 15.7).
В общем случае, если приложение состоит из нескольких сборок необходимо продолжать этот процесс до тех пор, пока все сборки приложения не будут зарегистрированы в Solution Explorer для проекта развертывания.
Далее необходимо определить, где должны быть развернуты сборки. По умолчанию Visual Studio 2005 отображается редактор File System (Редактор файловой системы), вид которого приведен на рисунке 15.8.
Этот редактор разделен на две панели. Левая показывает иерархическую структуру файловой системы целевой машины, а правая панель отображает детальное представление выбранной папки. Имена папок могут отличаться от того, что можно было ожидать, но следует помнить, что это - целевая машина; например, папка с меткой User's Program Menu (Меню Программы пользователя) отображается на C:\Documents и Settings\User Name\Start Menu\Programs целевого клиента.