# InstallShield InstallShield предоставляет собой среду для настройки проекта, создания сценария и конечного релиза дистрибутива — как в MSI-, так и в различных виртуальных форматах. Это одно из наиболее известных решений в области создания инсталляторов для платформы Windows. Существует три редакции комплекса — Express, Professional и Premier. Последняя из них считается наиболее функциональной (см. сравнение версий). Не так давно был выпущен обновленный пакет InstallShield 2014, о котором далее пойдет речь. # Импортирование проектов Проекты могут быть импортированы из Microsoft Visual Studio или созданы на основе имеющихся шаблонов. При создании проекта с нуля на выбор доступен один из нескольких типов: * Базовый MSI-проект — используется технология Windows Installer, доступен вызов InstallScript-, VBScript-, Jscript-скриптов, exe- и dll-файлов. * П-роект InstallScript — InstallScript используется для контроля установки * InstallScript MSI-проект — совместное использование Windows Installer и InstallScript для развертывания установки. В свою очередь, для каждого из указанных типов имеется множество дополнительных проектов. В целом, кроме инсталляторов, комплекс позволяет создавать модули объединения (Redistributable), а также модификаторы (Transform). # Процесс работы Есть несколько вариантов начала работы в InstallShield, один из них — воспользоваться пошаговым мастером настройки (Project Assistent), который запускается автоматически при создании нового проекта. Более детальная конфигурация осуществляется в окне дизайнера установки. Настройки сгруппированы следующим образом: * Информация об установке (Installation Information) — таблица с общей информацией о проекте. Здесь, в частности, можно выбрать язык инсталлятора по умолчанию. Всего InstallShield поддерживает более 30 локализаций. * Organization (Организация) — включает в себя дизайн установщика, список функций и компонентов, которые будут представлены пользователю на выбор при установке. * Application Data (Данные приложения) — данные приложения, такие как файлы, модули и зависимости. Часть компонентов может быть установлена локально, другие необходимо скачивать во время установки. * System Configuration (Системная конфигурация): ярлыки, ресурсы, конфигурационные файлы, сервисы и др. * Server Configuration — конфигурация сервера в соответствии с требованиями инсталлятора. Сюда входят настройки IIS, сервисы компонентов, SQL-скрипты для SQL Server, Microsoft Windows Azure, MySQL, или Oracle. Используя Microsoft Web Deploy, можно скачивать зависимости, запускать скрипты, выполнять задания на сервере. * Behavior and logic (Поведение и логика) — скрипты, действия, файлы для инсталляции и др. * User Interface (Пользовательский интерфейс) — дизайн инсталлятора, включая оформление диалогов, изображения, текст и прочие данные. На выбор доступны темы оформления, очень гибкая настройка уже имеющихся диалогов вплоть до перетаскивания каждого элемента. Построчный редактор позволяет работать с локализациями. * Media — управление переменными окружения, настройка обновлений и релизов продукта, патчи. * Дополнительные инструменты (Additional Tools): сканнер файловых зависимостей, MSI-отладчик и прямой редактор, предназначенный для просмотра структуры проекта в виде таблицы. В качестве скриптового языка для создания инсталляторов выступает InstallScript, имеющий сходство с языком C и позволяющий создавать пользовательские действия (Custom Actions). Тем самым, скрипты помогают при вызове dll-библиотек, запуске приложений, VBScript-, Jscript-, InstallScript- скриптов и мн. др. Для правки кода в InstallShield используется редактор с подсветкой синтаксиса и автодополнением. Кроме того, для создания действий может использоваться мастер пользовательских действий (Custom Action Wizard). Бесспорно, InstallShield является одним из лидирующих продуктов на рынке инсталляционных комплексов. Его наиболее сильная сторона заключается в гибкости, что позволяет создавать многочисленные типы инсталляторов для развертывания на компьютере или сервере, с поддержкой сценариев. От домашнего использования может отпугнуть достаточно высокая цена лицензии для каждой из редакций, начиная с InstallShield Express ($649).