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

При разработке приложения использовалась отладочная версия проекта (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).

 

Рис. 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 целевого клиента.

На данном этапе можно добавить другие папки - как специальные, так и произвольные. Чтобы добавить специальную папку, нужно убедиться, что на левой панели выделена опция File System on Target Machine (Файловая система на целевой машине), и подменю Action (Действие) главного меню (рисунок 15.9).

Для случая, рассматриваемого в лабораторной работе, добавим папку Employee в папку приложения Application Folder(внутреннее вложение).

 

Рис. 15.9. Окно добавления специальной папки

Для этого выберем папку Application Folder (Папка приложения) в панели редактора и затем выберем меню Action. На этот раз обратимся к пункту Add Добавить), который позволит создать новую папку. Переименуем ее, присвоив имя Employee. Перетащим файлы из папки Application Folder в папку Employee (рисунок 15.10).

 

Рис. 15.10. Окно проекта развертывания

 

Добавим ярлык приложения на рабочий стол пользователя. Для создания ярлыка на рабочем столе, необходимо обратиться к папке Application Folder. На правой панели редактора выберите приложение, перейдите к меню Action и выберите пункт Create Shortcut (Новый ярлык), чтобы создать ярлык приложения (рисунок 15.11).

Рис. 15.11. Окно создания ярлыка приложения

 

После создания ярлыка переименуйте его, задав имя EmployeeDesktop, и перетащите его в папку User's Desktop (рисунок 15.12).

Рис. 15.12. Окно создания ярлыка приложения на рабочем столе

 

Созданному ярлыку необходимо придать индивидуальный вид с помощью иконки. Для этого добавим файл любой иконки в проект (рисунок 15.13).

В результате в проект добавится файл с расширением.ico, который можно переименовать, например EmployeeImage.ico (рисунок 15.14), и открыв в редакторе изменить графическое представление (рисунок 15.15).

 

Рис. 15.13. Добавление файла иконки в проект

 

Рис. 15.14. Проект с файлом иконки

 

Рис. 15.15. Редактирование иконки

 

Теперь необходимо связать с ярлыком на рабочем столе созданную нами иконку. Для этого необходимо задать свойство Icon для ярлыка рабочего стола (рисунок 15.16).

 

Рис. 15.16. Окно задания иконки ярлыка приложения

 

Процесс задания иконки сопровождается выбором файла (рисунок 15.17) и подтверждением выбранной иконки (рисунок 15.18).

Рис. 15.17. Окно выбора файла иконки

 

Рис. 15.18. Окно задания иконки

 

Теперь при инсталляции приложения его ярлык появится на рабочем столе. Точно так же выглядит процесс создания ярлыка в Start.

В инсталляционный проект необходимо добавить конфигурационный файл Project_K4И_01.exe.config для обеспечения возможности настройки подключения к базе данных пользователя без перекомпиляции проекта (рисунок 15.19).

Рис. 15.19. Подключение к проекту конфигурационного файла

 

После подключения конфигурационного файла окно Solution Explorer будет иметь вид, аналогичный, приведенному на рисунке 15.20.

 

Рис. 15.20. Окончательное окно Solution Explorer инсталляционного прокета

 

Прежде чем собирать проект развертывания, может понадобиться проверить некоторые свойства проекта. Если выбрать команду меню Project/Properties (Проект/Свойства) для проекта SetupEmployee, то отобразится диалоговое окно Property Pages (Страницы свойств) (рисунок 15.21).

 

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

 

Эти свойства, специфичные для текущей. конфигурации. После выбора конфигурации в выпадающем списке Configuration (Конфигурация) можно изменить свойства, перечисленные в таблице 15.2.

После установки свойств проекта можно собирать проект развертывания и создавать инсталляционный пакет приложения SetupEmployee. После построения проекта можно протестировать инсталляцию, щелкнув правой кнопкой мыши по имени проекта в Solution Explorer. Это открывает доступ к командам контекстного Install (Инсталляция) и Uninstail (Деинсталляция) (рисунок 15.22). Если все сделано верно, то приложение Project_K4И_01.exe может быть инсталлировано и деинсталлированно.

 

Таблица 15.2. Свойства в диалоговом окне Property Pages

Свойство Описание
Output file name Имя файла msi или msm, генерируемого при компиляции проекта.
Package files Это свойство позволяет специфицировать, как пакуются файлы. Доступны следующие варианты:
  • как свободные несжатые файлы. Все файлы развертывания сохраняются-в том же каталоге, что и файл.msi;
  • в установочном файле. Файлы пакуются в файл.msi (установка по yмолчанию);
  • в кабинетных файлах. Файлы помещаются в один или более cab-файлов в одном каталоге. При этом выборе становится доступна опция CAB size
Prerequisites URL Позволяет специфицировать, где находится необходимое программное обеспечение - такое как.NET Framework или Windows Installer 2.0. Щелчок на кнопке Settings (Настройка) отобразит диалог, позволяющий включить следующие технологии:
  • Windows Installer;
  • .NET Framework;
  • Microsoft Visual J#.NET Redistributable Package 2.0;
  • SQL Server 2005 Express Edition;
  • Microsoft Data Access Components 2.8.
Имеется также возможность указать необходимое программное обеспечение, которое можно загрузить с указанных URL-адресов либо из того места, откуда выполняется основная инсталляция.
Compression Специфицирует тип сжатия включенных файлов. Выбор такой:
  • Optimized for speed (Оптимизация по скорости). Файлы больше по размеру, но быстрее инсталляция (установлено по умолчанию);
  • Optimized for size (Оптимизация по размеру). Маленькие файлы, но ленная инсталляция;
  • None (Без сжатия). Без сжатия.
CAS size Это свойство доступно, когда установка Package files установлена в In cabinet files (В кабинетных файлах). Неограниченный (Unlimited) размер создает единственный кабинетный файл; настраиваемый (Custom) позволяет установить максимальный размер каждого кабинетного файла.
Authenticode signature Когда включено, то выход проекта развертывания подписывается с использованием Authenticode; по умолчанию отключено.
Certificate file Сертификат, используемый для подписи.
Private key file Секретный ключ, содержащий цифровой ключ шифрования подписанных файлов.
Timestamp server URL URL-адрес сервера временных меток. Используется также для подписи кодом Authenticode.

Рис. 15.22. Тестирование инсталляционного проекта

При инсталляции приложения Project_K4И_01.exe на рабочем столе должен появиться ярлык EmployeeDesktop, с помощью которого можно запустить приложение (рисунок 15.23).

 

Рис. 15.23. Рабочий стол с ярлыком приложения

После запуска приложения ярлык появляется и в главном меню (рисунок 15.24).

 

Рис. 15.24. Главное меню с ярлыком приложения

Для инсталляции приложения Project_K4И_01.exe на клиентском компьютере необходимы два созданных в проекте файла setup.exe и SetupEmployee.msi.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: