как сделать установщик программы в windows
Лучшие бесплатные программы для создания инсталляторов
Собственный инсталлятор
Дорогой и коммерческий флагман InstallShield знаком всем, и Вы не раз пользовались инсталляторами, созданными этим продуктом. Но, он не является единственным оплотом для создания исталляторов. Существуют и достаточно способные бесплатные продукты, которые могут обеспечить Вас всеми необходимыми возможностями. Я выбрал несколько лучших из них. Они охватывают различные подходы к созданию инсталлятора: от быстрых и легко настраиваемых (5-10 минут и готово) до мощных и поддерживающих огромное количество настроек.
Обзор бесплатных программ для создания инсталляторов
Программа для создания инсталлятора Inno Setup полноценный инструмент
После просмотра нескольких других свободных продуктов в этой категории, я решил остановиться на Inno Setup как самой привлекательной. Этот инструмент не для пользователей, которые ищут простой работы с графическим редактором и быстрого результата. Это решение более подходящее для тех разработчиков, которые хотят полностью контролировать создание программы установки, и не стесняются работы с текстовыми файлами конфигурации. Inno Setup была выпущена в 1997 году и очень развилась с тех пор. Этот инструмент, безусловно, бьет многих коммерческих претендентов в этой области за счет множества возможностей и стабильности работы.
GUI Inno Setup представляет из себя редактор / компилятор для файла конфигурации, который содержит настройки для создания программы установки. Формат текстового файла очень похож на формат файла INI, что позволяет ему быть менее громоздким для работы, чем файл формата XML, как, например, в Ghost Installer. Файл справки отлично структурирован, что позволяет легко и просто узнать о доступных параметрах. Редактор поддерживает схему цветовой подсветки кода, что делает его более удобным для работы. Я не буду перечислять все особенности этого профессионального инструмента для создания программы установки, но я не нашел ничего, что еще Inno Setup не будет в состоянии совершить. Исходные файлы, целевые файлы, ярлыки, диалоги, лицензии принятии, удаление, пользовательские формы и многое другое. Я использовал его в течение нескольких проектов за последние годы с большим успехом (а не затрат). Если вы любите GUI, то для этого отличного инструмента вы можете найти несколько сторонних дополнений на главной странице InnoSetup.
Программа для создания инсталлятора NSIS удобная и мощная
Подобно тому как вы создаете HTML-код для веб-страницы в отдельной программе, и потом отображаете эту страницу в браузере, вы должны создать скрипт NSIS в любом редакторе по вашему вкусу и просто скомпилировать его компилятором NSIS. На домашней странице NSIS Вы можете найти ссылки на редакторы (PSPad, Notepad) и IDE плагины (например, для Eclipse) с поддержкой NSIS скриптов с подсветкой синтаксиса, а так же различные другие вспомогательные программы.
Этот продукт, безусловно, более ориентирован на профессиональных разработчиков, чем на тех, кто ищет быстрых и легких графических решений для создания программ установки. Продукты в данном обзоре рассматривают оба типа этих пользователей, и это создает небольшие трудности для рекомендации одного единого решения. Хотя NSIS более способный, чем InnoSetup, я выбрал последнее из-за его баланса между графическим интерфейсом и функциональностью (включая организацию обучения).
NSIS просто выводит одно маленькое окно с текстовыми ссылками, для того чтобы вы начали с изучения его бесконечных возможностей. Небольшое окно (действительно слишком маленькое, чтобы показать весь текст, но достаточное, чтобы не изменять размеры) содержит ссылки на сам компилятор, примеры скриптов, онлайн-поддержку, документацию и плагины.
Плагины действительно того стоят, они предлагают множество расширенных возможностей, например, эффекты fadeout/fadein для пользовательских диалогов. NSIS предлагает создание более современной установки UI. Вы можете самостоятельно создавать собственные иконки, баннеры, фоны, и сделать из них свой сборник. Сообщество пользователей достаточно велико и многие ресурсы и форумы помогут Вам и поддержат Вас с вашим проектом установки NSIS.
Создание файла установки так же просто, как перетаскивание файла сценария в окне компилятора. В окне отображаются все сообщения компилятора, включая отчеты об успехах или ошибках. Созданные установочные файлы малы по сравнению с другими инструментами для создания программ установки, что позволяет более рационально распоряжаться ресурсами системы. Я бы мог рассказать гораздо больше о NSIS, но я оставлю это для их хорошо организованной домашней страницы. Это наиболее способный инструмент, представленный из всех, но ориентирован на решения профессиональных разработчиков, и требующий сторонних инструментов для эффективной и плодотворной работы.
Программа для создания инсталлятора Ghost Installer аналог InnoSetup
Ghost Installer представляет собой аналог InnoSetup. Если Вы хотите полностью контролировать создание программы установки, и Вы не боитесь работать с XML-файлами конфигурации, то Ghost Installer может быть хорошим выбором для Вас. Хотя коммерческая версия инструмента поставляется вместе с графическим интерфейсом (Ghost Installer Studio), бесплатная версия просто предлагает так называемый gEditor для редактирования файлов XML файлов конфигурации.
Этот продукт требует времени, чтобы освоиться в нем, но как только Вы разберетесь и узнаете обо всех настройках, Вы сможете использовать всю мощь данного инструмента. Файл справки очень хорошо организован, в нем перечислены все ключевые слова и настройки, которые Вы можете использовать. Когда Вы создаете новый проект, мастер-настройки создаст базовый или расширенный шаблон, в котором будет подготовлена необходимая XML-структура, с который Вы можете сразу начать работать. Для меня этот инструмент был несколько сложнее в изучении, нежели InnoSetup, но я уверен, что этот инструмент очень мощный. В итоге мы имеем XML редактор gEditor со встроенной кнопкой, запускающей процесс компиляцию Вашей программы установки. Если для Вас такая схема работы привлекательна, то, безусловно, попробуйте его.
Программа для создания инсталлятора Clickteam Install Creator быстрая и удобная
Clickteam Install Creator, наверно, самый быстрый и удобный инструмент создания программ установки из тех, что я рассмотрел. Этот инструмент содержит основные функции, заключенные в эффективный графический интерфейс. Мастер достаточно быстро проведет Вас через основные шаги. Мой первый проект был сделан за несколько минут, и все работало на «ура!».
Каждый этап представлен отдельной вкладкой, поэтому по завершении работы мастера у Вас всегда будет возможность изменить ранее заданные настройки. Если Вам требуется установить несколько исполняемых файлов, то Вам необходимо добавить меню в «Пуск» и создать ярлыки на рабочем столе. Инструмент позволяет легко изменять все тексты установки, даже текст в диалоговом окне «Добро пожаловать». Итоговая программа установки может работать как в режиме диалогового окна, так и в полноэкранном режиме (с возможностью установки градиента заливки фона, как в старые добрые времена Windows).
Можно устанавливать растровые изображения и иконки по своему выбору. В Install Creator отсутствуют более профессиональные функции, такие как добавление записей в реестр, различных пакетов установки или языков. Но это не было целью этого инструмента, и это прекрасно для простых задач. Это отличный выбор для быстрого решения по распространению своей программы, без необходимости разбираться в куче тонкостей процесса создания программ установки. Бесплатная версия полностью функциональна, однако, в конце каждой установки показывается окно с рекламой и со ссылкой на веб-сайт разработчиков.
CreateInstall аналог программы для создания инсталлятора Clickteam
CreateInstall это удовольствие для тех, кто не хочет тратить много времени на процедуру создания программ установки и редактирования кучи текста. Инструмент очень похож на Clickteam Install Creator, он так же представляет собой простой и эффективный интерфейс, где вы можете быстро найти и настроить все важные особенности вашего проекта. Вы можете выбрать пользовательские растровые изображения и иконку для диалога установки, а также указать фоновый градиент заливки для полноэкранного режима. Вы можете настроить шесть диалогов установки и один диалог завершения установки.
Работа с файлами и контекстным меню осуществляется достаточно легко, что является преимуществом над Install Creator. Так же Вам дается возможность задать записи в реестр и зарегистрировать DLL / OCX / TBL файлы. В инструменте есть некоторые дополнительные функции, которые производят достаточно хорошее впечатление. С ними Вы можете изменить некоторые особенности, такие как: выбор языка, выбор пути установки. Однако, у меня возникло несколько вопросов по работе инструмента, а именно по поводу изменения шрифтов диалогов. Для некоторых шрифтов, например, Tahoma, на дисплее будет просто пустое окно. Почему так? Бесплатная версия является полнофункциональной, но выводит строку «CreateInstall Free» в нижнем левом углу каждого окна установки. Вы можете купить этот инструмент, и изменить содержание этой строки по своему вкусу.
Программа Advanced Installer для быстрого создания инсталлятора
Advanced Installer является хорошим выбором, если Вам необходимо быстро создать MSI пакет установки. Caphyon предлагает бесплатную версию своего инструмента, встроенного в коммерческий продукт, по созданию программ установки. Вы можете скачать и установить полную версию продукта бесплатно, но только «Basic» опции работают без покупки регистрации. Но этого вполне достаточно для быстрого и простого создания MSI пакета установки.
Как сделать «EXE» Установочный файл
Что вы делаете, когда создаете новое программное обеспечение для Windows — от простого диагностического инструмента до сложной компьютерной видеоигры — и хотите поделиться им со всем миром? Что ж, вы можете сжать файлы в один ZIP-файл и распространить его.
Или вы можете пофантазировать и вместо этого создать установщик EXE.
В этом посте мы рассмотрим три различных способа создания EXE: самораспаковывающийся пакет, простой установщик с использованием встроенного IExpress и расширенный установщик с помощью настраиваемой Inno Setup.
1. Создайте быстрый EXE-файл с помощью 7-Zip.
Вероятно, вы уже используете 7-Zip для извлечения всех видов архивных файлов и знаете, что 7-Zip может создавать архивные файлы, но знаете ли вы, что вы также можете использовать его для создания EXE-файла, который действует как установщик?
Он называется SFX-архивом (самораспаковывающимся) и работает, сжимая все ваши конечные файлы вместе, а затем встраивая в архив специальный EXE-файл, который знает, как все распаковать.
Другими словами, получатель может извлечь SFX-архив (который выглядит как EXE-файл), даже если у него нет нужного программного обеспечения, что может случиться с такими форматами, как 7Z, RAR, TAR и ZIP.
Вот как создать SFX-архив с помощью 7-Zip:
Подготовьте все свои файлы и каталоги в одном основном каталоге и назовите каталог как хотите.
Щелкните каталог правой кнопкой мыши и выберите 7-Zip> Добавить в архив …
В разделе «Параметры» включите «Создать SFX-архив» и выберите следующие параметры …> Формат архива: 7z> Уровень сжатия: Нормальный> Метод сжатия: LZMA2> Размер словаря: 16 МБ> Размер слова: 32> Размер сплошного блока: 2 ГБ
Наконец, нажмите ОК.
Обратите внимание, что SFX-архивы не являются настоящими файлами установщика. Они не помещают извлеченные файлы в назначенный целевой каталог. Они не изменяют реестр Windows. Кроме того, они не создают журналы установки и не отображаются как установленное программное обеспечение в приложении «Удалить». Это буквально архивные файлы, оформленные как EXE-файлы.
Скачать: 7-Zip для Окна (Бесплатно)
2. Как использовать IExpress для простого создания EXE
IExpress — это утилита, которая поставляется в комплекте с версиями Windows, начиная с Windows XP и выше. Утилита поставляется с внешним графическим интерфейсом (называемым IExpress Wizard), но вы также можете создавать файлы установщика, используя файлы директивы самоизвлечения (SED), написанные вручную. Мы рекомендуем Мастера.
Как и 7-Zip, описанный выше, этот метод создает самораспаковывающийся архив, но с двумя основными отличиями: во-первых, конечный пользователь будет проходить через многостраничный мастер установки, а во-вторых, конечный пользователь может указать целевой каталог для куда инструмент извлечет файлы.
И вот как вы создаете свой установщик EXE с помощью IExpress:
Откройте командную строку «Выполнить» (клавиша Windows + R) и введите iexpress.exe, чтобы запустить мастер IExpress.
Выберите «Создать новый файл директивы самоизвлечения» и нажмите «Далее».
Выберите «Извлечь только файлы» и нажмите «Далее».
В качестве заголовка пакета можно использовать имя вашего приложения.
Для запроса на подтверждение выберите Без подсказки или Запрашивать пользователя с помощью. В любом случае это не имеет значения. Для конечного пользователя включение одного — всегда безопасный выбор.
Для лицензионного соглашения выберите Показать лицензию, если вы хотите, чтобы конечный пользователь согласился с Лицензионным соглашением с конечным пользователем (EULA). В противном случае можно выбрать вариант Не отображать лицензию.
Добавьте все файлы, которые вы хотите видеть установленными, щелкнув «Добавить», перейдя туда, где находятся файлы, и выбрав их все.
Продолжите работу с мастером IExpress и выберите предпочтительные параметры для приглашений «Показать окно» и «Готовое сообщение».
В качестве имени пакета нажмите «Обзор», перейдите туда, где вы хотите создать установочный EXE-файл, и дайте ему имя. Это EXE-файл, который вы собираетесь распространить среди конечных пользователей. Нажмите «Далее.
Наконец, выберите Сохранить файл директивы самоизвлечения (SED), если вы хотите создать измененный установщик позже, например, когда вы исправили программное обеспечение и вам потребуется обновленный установщик. Если вы выберете «Не сохранять», вам придется выполнить весь процесс с нуля.
На странице «Создать пакет» нажмите «Далее».
Ваш пакет будет создан через несколько минут. Обратите внимание, что у IExpress есть некоторые особенности и проблемы:
Это не позволяет включать пустые каталоги.
Если в вашей установке есть подкаталоги, подкаталоги не будут включены.
Если у вас есть несколько файлов с одинаковым именем, даже в разных каталогах, создание установщика не удастся.
Из-за этих странностей мы рекомендуем вместо этого использовать метод, описанный ниже.
Связанный: Что такое GUI (графический интерфейс пользователя)?
3. Лучший способ создать EXE: используйте Inno Setup.
Inno Setup — это утилита с открытым исходным кодом, которая активно разрабатывается с 1997 года. Она была создана частично в ответ на то, что в то время было второстепенным InstallShield Express. С тех пор он стал предпочтительным создателем установщика для тех, кто не хочет изучать проприетарные варианты.
Его самая большая привлекательность — это его гибкость. Inno Setup использует файлы сценариев с расширением ISS («Inno Setup Script») для настройки различных аспектов программы установки: какие файлы включены, где происходит установка, нужно ли создавать ярлыки и т. Д. Файлы ISS используют форматирование, аналогичное файлам INI и может быть сгенерирован с помощью мастера установки Inno.
Чтобы создать установщик с помощью Inno Setup, запустите приложение Inno Setup Compiler. В приглашении к приветствию выберите «Создать новый файл сценария с помощью мастера сценариев». Оттуда введите имя вашего приложения и версию приложения. При желании вы также можете указать сведения об издателе приложения и веб-сайте приложения. Нажмите «Далее.
Теперь выберите базовую папку назначения, которая по умолчанию — Program Files.
Введите имя папки приложения, которое является именем основного каталога, в который будут помещаться ваши установочные файлы. Нажмите «Далее.
Для основного исполняемого файла приложения найдите и выберите основной EXE-файл, который запустит ваше приложение.
Если вы не устанавливаете приложение, включите «У приложения нет основного исполняемого файла». Затем добавьте файлы и папки в вашу установку с помощью кнопок «Добавить файлы …» и «Добавить папки …». Нажмите «Далее.
На странице «Ярлыки приложений» оставьте значения по умолчанию или измените их в соответствии со своими предпочтениями. Все они говорят сами за себя. Нажмите «Далее.
На странице документации приложения вы можете указать до трех файлов TXT, которые будут отображаться в процессе установки конечного пользователя. Обычно это LICENSE.TXT, INSTALL.TXT и README.TXT, но это может быть все, что вы хотите. Нажмите «Далее.
На странице «Настройка языков» оставьте английский, но вы можете добавить любое количество других языков. Нажмите «Далее.
Теперь выполните следующие действия, указанные ниже:
На странице настроек компилятора вы можете настроить EXE-файл установщика:
Папка вывода пользовательского компилятора — это место, где будет помещен полученный EXE-файл установщика.
Имя базового файла вывода компилятора — это то, что будет называться EXE-файл. Значение по умолчанию — setup.exe.
Файл значка Custom Setup — это значок, который будет использовать EXE-файл установщика. Это должен быть файл ICO, который вы можете скачать или преобразовать из PNG.
Пароль программы установки защитит неавторизованных пользователей от использования вашего установщика. Оставьте поле пустым, чтобы отключить эту функцию.
После настройки параметров нажмите Готово. Когда будет предложено скомпилировать новый сценарий, нажмите Да. Когда будет предложено сохранить сценарий, выберите Нет, если это одноразовый файл установщика. Выберите Да, если вы планируете изменить или обновить его позже.
Подождите, пока процесс завершится, и вуаля, у вас будет с собой исполняемый файл.
Скачать: Inno Setup для Окна (Бесплатно)
Какой метод лучше всего подходит для создания установщика EXE?
Если у вас базовое программное обеспечение или вы собираетесь распространять его среди ограниченного числа людей, используйте метод 7-Zip. Это просто, быстро и практически не требует технических знаний.
Если ваше программное обеспечение несколько простое, и вы хотите предоставить конечным пользователям настоящий мастер установки, воспользуйтесь методом IExpress. Наконец, выберите приложение Inno, если у вас сложное программное обеспечение и вы знаете, что делаете.
Создание файла Установщика приложений в Visual Studio
Местоположение файла установщика приложений
Настройка проекта для подходящей версии Windows
Можно настроить свойство TargetPlatformMinVersion при создании проекта или изменить его позже в свойствах проекта.
файл установщика приложения создается только при TargetPlatformMinVersion Windows 10 версии 1803 или более поздней.
Создание пакетов
Чтобы распространить приложение с помощью загрузки неопубликованных приложений, необходимо создать пакет приложения (Appx/. msix) или набор приложений (. appxbundle/. msixbundle) и опубликовать его в общем расположении.
Для этого используйте мастер создания пакетов приложения в Visual Studio и выполните следующие шаги.
Щелкните проект правой кнопкой мыши и выберите магазин — создать пакеты приложений.
Откроется мастер Создание пакетов приложения.
Включить автоматические обновления включается, только если для проекта указана подходящая версия Windows 10.
Не забудьте выбрать поддерживаемые конфигурации архитектуры в диалоговом окне Выберите и настройте пакеты. Если выбран пакет, он создаст отдельный установщик, однако если вы не хотите использовать пакет и предпочитаете по одному пакету на архитектуру, вы получите один файл установщика на архитектуру. Если вы не уверены, какие архитектуры выбрать, или хотите узнать больше о том, какие архитектуры используются разными устройствами, см. информацию в разделе Архитектуры пакета приложения.
Настройте любые дополнительные сведения, включая номер версии и выходное расположение пакета.
Если установлен флажок Включить автоматические обновления в шаге 2, отобразится диалоговое окно Настройка параметров обновления. Здесь можно указать URL-адрес установки и периодичность проверки обновлений.
Если приложение успешно упаковано, в диалоговом окне отобразится расположение выходной папки, которая содержит ваш пакет приложения. Выходная папка содержит все файлы, необходимые для загрузки неопубликованного приложения, включая страницу HTML, которую можно использовать для продвижения вашего приложения.
Публикация пакетов
Чтобы сделать приложение доступным, необходимо опубликовать созданные файлы в указанном местоположении:
Публикация в общие папки (UNC)
Если требуется опубликовать пакеты с помощью общих папок UNC, укажите один и тот же путь для выходной папки пакета приложения и URL-адреса установки (см. подробные сведения в шаге 6). Мастер создаст файлы в правильном местоположении, а пользователи будут получать приложение и будущие обновления к нему по тому же пути.
Публикация в местоположении в Интернете (HTTP)
Чтобы выполнить публикацию в местоположении в Интернете, требуется доступ, позволяющий публиковать содержимое на веб-сервере. Убедитесь, что окончательный URL-адрес соответствует URL-адресу установки, определенному в мастере (см. подробные сведения в шаге 6). Как правило, для отправки файлов используется протокол FTP или SFTP, однако существуют и другие методы публикации, например MSDeploy, SSH или хранилище BLOB-объектов (в зависимости от вашего интернет-провайдера).
Inno Setup: создание инсталлятора на примере развертывания C# приложения
Я не являюсь профессиональным программистом. В том смысле, что не зарабатываю денег этим ремеслом, а использую свои навыки в качестве инструмента для основной, научной, деятельности. Поэтому все мои «поделки» живут лишь отведенный им на решение конкретной задачи период и не выходят за пределы каталогов проекта. Кроме того, уже довольно давно я отошел от разработки под ОС Windows, ибо Linux для решения моих задач более удобен.
Однако ученым тоже хочется кушать, прилично одеваться и заправлять машину. Поэтому (правда довольно редко) возникает необходимость немного пофрилансить.
Недавно мне подкинули не слишком сложный проект — одна фирма хочет написать аналог программы, имеющейся у другой. Немного реверсинга, немного кодинга, в целом проект вполне обыденный. Однако тут же возник вопрос о создании инсталлятора — клиент ведь желает продукт «под ключ», чтобы клацнуть на «сетап», понажимать «Далее» и получить готовую к работе программу.
Созданием инсталляторов я не занимался никогда. Поэтому данный вопрос был основательно «загуглен», в числе прочего попалась и такая статья с Хабра. Выбор средств для подобной задачи довольно широк, и включает как проприетарные, так и открытые продукты. Вот список того, что я «пощупал»
Так что в статье мы будем рассматривать пример использования Inno Setup, для которого имеется полезный фронтэнд Inno Script Studio, позволяющий выполнять создание простых инсталляторов с помощью мастера и менять настройки через GUI. GUI понадобился мне для первого знакомства, с продуктом, но мы не будем уделять ему большого внимания — мой «линукс головного мозга» в последнее время всё больше и больше уводит меня от желания использовать разного рода «мастера» (это субъективно, прошу не пинать). Мы рассмотрим хардкорный способ написания скрипта с чистого листа.
1. Установка, настройка и простой (но довольно солидный) скрипт
Думаю, что скачать программу с официального сайта и установить её труда не составит. Запускаем Inno Setup Compiler и видим такое окно
Пугающе уныло встречает нас Inno Setup.
Что это? По сути это просто-напросто редактор для набора скриптов, снабженный подсветкой синтаксиса и кнопками компиляции и запуска. От нас ждут, что мы начнем набирать в этом окне текст скрипта, определяющий логику работы будущего инсталлятора. Ну так и не будем терять время.
Прежде всего определим необходимые константы
Эти строки будут часто встречаться в коде скрипта, поэтому определяем их, как и в C, с помощью дерективы #define
Тело скрипта разделяется на секции, каждая из которых несет свое функциональное назначение. Обязательная секция [Setup] задает глобальные параметры работы инсталлятора и деинсталатора.
Путь, по умолчанию предлагаемый инсталлятором для установки определяем опцией DefaultDirName. При этом переменная — это путь в каталог Program Files соответствующей разрядности. Опция DefaultGroupName определяет имя группы программы в меню «Пуск». Обратите внимание на то, что для указания имени приложения мы используем данное нами выше макроопределение Name, обрамляя его фигурными скобками и решеткой.
Пара опций OutputDir и OutputBaseFileName задают каталог, куда будет записан скомпилированный «сетап» и его имя (без расширения). Кроме этого, указываем где взять иконку для test-setup.exe опцией SetupIconFile.
Последние опции в этой секции определяют алгоритм сжатия (LZMA) и указывают, что все файлы сжимаются одновременно, а не по отдельности (SolidCompression) что ускоряет процесс распаковки при большом количестве однотипных файлов.
В хорошем исталяторе должна быть поддержка нескольких языков. Включаем её в наш «сетап», используя опциональную секцию [Languages]. При отсутствии данной секции будет использоваться английский язык.
Каждая строка в данной секции задает один из используемых при установке языков. Синтаксис строки таков
в качестве разделителя параметров используется точка с запятой. Параметр Name говорит сам за себя — «имя» языка, допускаются общепринятые двухбуквенные сокращения («en», «ru», «de» и так далее). Параметр MessagesFile сообщает компилятору в каком месте взять шаблон сообщений, выводимых при инсталляции. Эти шаблоны берем в каталоге компилятора Inno Setup, о чем мы сообщаем директивой compiler. Для английского языка годится шаблон Default.isl, для русского — Languages\Russian.isl
Параметр LicenseFile задает путь к файлу с текстом лицензии на соответствующем языке.
Обычно установщик предлагает нам, например, определится, хотим мы или не хотим создать ярлык на рабочем столе. Такие опции установки определяются необязательной секцией [Tasks]
Здесь Name задает имя операции — «desktopicom» — создание иконки на рабочем столе; Description — описание чекбокса с опцией, которое увидит пользователь. Конструкция
задает стандартный текст сообщения, соответствующий выбранному в начале инсталляции языку. Параметр GroupDescription — заголовок группы чекбоксов с опциями. Параметр Flags задает определенные действия и состояния элементов управления, в данном случае указывая, что галочка «создать ярлык на рабочем столе» должна быть снята.
Теперь укажем, какие файлы надо включить в дистрибутив и где их надо поместить при установке. Для этого используется обязательная секция [Files]
Наконец, чтобы всё было красиво, опционально укажем компилятору, где брать иконки для размещения в меню программ и на рабочем столе
Тут я указываю, что для группы в меню «Пуск» и для рабочего стола иконку надо брать из исполняемого модуля. Естественно, что иконка должна быть в него «вкомпилена», иначе в требуемых местах мы увидим стандартный значок из коллекции винды.
Итак, всё вроде готово. Жмем Ctrl + F9 и пытаемся собрать инсталлятор. Если не допущены синтаксические ошибки, начнется процесс сборки
Inno Setup собирает инсталлятор
После успешной сборки инсталлятор можно запустить, нажав F9. Если Вы работаете под учеткой с ограниченными правами (а я работаю в винде именно так), то придется полезть в каталог с результатами компиляции, который мы указали в скрипте, и запустить инсталлятор с правами админа
Запуск инсталлятора под ограниченной учетной записью
В итоге мы увидим до боли знакомое каждому пользователю Windows окно выбора языка
приветствие мастера
лицензионное соглашение
ну и так далее. Приятно, что по умолчанию используется лаконичный дизайн мастера, без рюшечек (которые при желании можно добавить)
Ну что сказать? Ура! Мы написали свой первый «сетап» и могли бы радоваться, но
Вы не заметили, что мы о чем-то забыли? Приложение, созданное на C# не будет работать без фреймворка, с которым оно было собрано, если таковой отсутствует в системе. Соответствующий фреймворк надо установить, а для этого необходимо
Значения в реестре, которые необходимо проверить приведены в официальной документации Microsoft, в статье я приведу краткую выжимку из неё
Для реализации произвольной логики работы инсталлятора в Inno Setup предусмотрена секция [Code]. В пределах этой секции размещается код реализующих логику функций на языке Pascal. Содежимое этой секции мы вынесем в отдельный файл dotnet.pas и включим в основной скрипт дерективой #include
хотя можно набить код и непосредственно в секции [Code]. Надо помнить, что внутри этой секции используется синтаксис Pascal, и комментарии предваряются последовательностью «//» вместо используемой в основной части скрипта точки с запятой.
Не смотря на обилие кода, логика его работы достаточно проста — в зависимости от значения параметра version с помощью функции RegQueryDWordValue(. ) читается значение соответствующего ключа реестра и сравнивается с требуемым значением (смотрим таблицу 1). Для версии 4.5 дополнительно передаем номер релиза в параметре release.
Для того, чтобы перед началом установки проверить наличие фреймворка и сообщить пользователю о предпринимаемых действиях используем Callback-функцию InitializeSetup()
Сам запуск инсталляции фрейворка можно выполнить после установки основной программы, поэтому включаем в скрипт секцию [Run], в которой указывается, что необходимо запускать по окончании установки
Обратите внимание на то, что мы сначала указываем имя секции [Run], чтобы закрыть секцию [Code], а затем пишем комментарий начинающийся с точки с запятой. Это необходимо из-за различия синтаксиса основного скрипта и секции [Code], в противном случае при компиляции мы получим синтаксическую ошибку.
В секции задается путь к инсталлятору фреймворка — предварительно он распакован нами во временный каталог (переменная содержит путь к веременному каталогу); задаются параметры командной строки. Опция Check определяет условие запуска инсталляции — это отсутствие в целевой системе нужного нам фреймворка. Опция StatusMsg определяет сообщение, которое увидит пользователь в окне инсталлера.
Снова компилируем наш проект. Теперь, при запуске на «чистой» винде инсталлятор выдаст сообщение
Майкрософт просит нас принять лицензию.
После этого мы получаем работоспособное C# приложение установленное «по взрослому»
Заключение
Я не профессионал и во многих вещах могу ошибаться. Прошу отнестись к этому с пониманием. Статья писалась нубом для нубов, её основная цель — задать вектор поиска при решении задачи написания инсталлятора. За остальными вопросами можно обратится к документации, поставляемой вместе с Inno Setup.
Код данного примера доступен в моем репозитории на Github. «Кракозябры» в комментах вызваны несовпадением кирилических кодировок. Для себя всегда пишу английские комментарии, но для лучшего понимания кода допустил этот ляп. При скачивании в винде всё просматривается замечательно, так что прошу простить мне и эту несуразность.
В остальном, полагаю «хаутушка» вышла достойной и благодарю за уделенное мне внимание.