Создание своего установщика windows

Создание файла Установщика приложений в Visual Studio Create an App Installer file with Visual Studio

Начиная с Windows 10, версии 1803 и Visual Studio 2017, обновление 15,7, загруженные неопубликованные приложения можно настроить для получения автоматических обновлений с помощью .appinstaller файла. Starting with Windows 10, Version 1803, and Visual Studio 2017, Update 15.7, sideloaded apps can be configured to receive automatic updates using an .appinstaller file. Visual Studio поддерживает включение этих обновлений. Visual Studio supports enabling these updates.

Местоположение файла установщика приложений App Installer file location

Файл .appinstaller можно разместить в общем расположении, например конечной точке HTTP или общей папке UNC. Этот файл включает путь для поиска пакетов приложения, которые требуется установить. The .appinstaller file can be hosted in a shared location like a HTTP endpoint or a UNC shared folder, and includes the path to find the app packages to be installed. Пользователи устанавливают приложение из общего расположения и включают периодические проверки обновлений. Users install the app from the shared location and enable periodic checks for new updates.

Настройка проекта для подходящей версии Windows Configure the project to target the correct Windows version

Можно настроить свойство TargetPlatformMinVersion при создании проекта или изменить его позже в свойствах проекта. You can either configure the TargetPlatformMinVersion property when you create the project, or change it later from the project properties.

Файл установщика приложения создается только при использовании TargetPlatformMinVersion Windows 10 версии 1803 или более поздней. The app installer file is only generated when the TargetPlatformMinVersion is Windows 10, Version 1803 or greater.

Создание пакетов Create packages

Чтобы распространить приложение с помощью загрузки неопубликованных приложений, необходимо создать пакет приложения (Appx/. msix) или набор приложений (. appxbundle/. msixbundle) и опубликовать его в общем расположении. To distribute an app via sideloading, you must create an app package (.appx/.msix) or app bundle (.appxbundle/.msixbundle) and publish it in a shared location.

Для этого используйте мастер создания пакетов приложения в Visual Studio и выполните следующие шаги. To do that, use the Create App Packages wizard in Visual Studio with the following steps.

Щелкните проект правой кнопкой мыши и выберите Магазин -> Создать пакеты приложения. Right-click the project and choose Store -> Create App Packages.

Откроется мастер Создание пакетов приложения. The Create App Packages wizard appears.

Выберите Я хочу создать пакеты для загрузки неопубликованных приложений. Select I want to create packages for sideloading. и Включить автоматические обновления and Enable automatic updates

Включить автоматические обновления включается, только если для TargetPlatformMinVersion проекта указана подходящая версия Windows 10. Enable automatic updates is enabled only if the project’s TargetPlatformMinVersion is set to the correct version of Windows 10.

Не забудьте выбрать поддерживаемые конфигурации архитектуры в диалоговом окне Выберите и настройте пакеты. The Select and Configure Packages dialog allows you to select the supported architecture configurations. Если выбран пакет, он создаст отдельный установщик, однако если вы не хотите использовать пакет и предпочитаете по одному пакету на архитектуру, вы получите один файл установщика на архитектуру. If you select a bundle it will generate a single installer, however if you don’t want a bundle and prefer one package per architecture you will also get one installer file per architecture. Если вы не уверены, какие архитектуры выбрать, или хотите узнать больше о том, какие архитектуры используются разными устройствами, см. информацию в разделе Архитектуры пакета приложения. If you’re unsure which architecture(s) to choose, or want to learn more about which architectures are used by various devices, see App package architectures.

Настройте любые дополнительные сведения, включая номер версии и выходное расположение пакета. Configure any additional details, such as version numbering or the package output location.

Если установлен флажок Включить автоматические обновления в шаге 2, отобразится диалоговое окно Настройка параметров обновления. If you checked Enable automatic updates in Step 2, the Configure Update Settings dialog will appear. Здесь можно указать URL-адрес установки и периодичность проверки обновлений. Here, you can specify the Installation URL and the frequency of update checks.

Читайте также:  Change window language windows 10

Если приложение успешно упаковано, в диалоговом окне отобразится расположение выходной папки, которая содержит ваш пакет приложения. When your app has been successfully packaged, a dialog will display the location of the output folder containing your app package. Выходная папка содержит все файлы, необходимые для загрузки неопубликованного приложения, включая страницу HTML, которую можно использовать для продвижения вашего приложения. The output folder includes all the files needed to sideload the app, including an HTML page that can be used to promote your app.

Публикация пакетов Publish packages

Чтобы сделать приложение доступным, необходимо опубликовать созданные файлы в указанном местоположении: To make the application available the generated files must be published to the location specified:

Публикация в общие папки (UNC) Publish to shared folders (UNC)

Если требуется опубликовать пакеты с помощью общих папок UNC, укажите один и тот же путь для выходной папки пакета приложения и URL-адреса установки (см. подробные сведения в шаге 6). If you want to publish your packages over Universal Naming Convention (UNC) shared folders, configure the app package output folder and the Installation URL (see Step 6 for details) to the same path. Мастер создаст файлы в правильном местоположении, а пользователи будут получать приложение и будущие обновления к нему по тому же пути. The wizard will generate the files in the correct location, and users will get both the app and future updates from the same path.

Публикация в местоположении в Интернете (HTTP) Publish to a web location (HTTP)

Чтобы выполнить публикацию в местоположении в Интернете, требуется доступ, позволяющий публиковать содержимое на веб-сервере. Убедитесь, что окончательный URL-адрес соответствует URL-адресу установки, определенному в мастере (см. подробные сведения в шаге 6). Publishing to a web location requires access to publish content to the web server, making sure the final URL matches the Installation URL defined in the wizard (see Step 6 for details). Как правило, для отправки файлов используется протокол FTP или SFTP, однако существуют и другие методы публикации, например MSDeploy, SSH или хранилище BLOB-объектов (в зависимости от вашего интернет-провайдера). Typically, File Transfer Protocol (FTP) or SSH File Transfer Protocol (SFTP) are used to upload the files, but there are other publishing methods like MSDeploy, SSH, or Blob storage, depending on your web provider.

Путеводитель по системам для создания инсталляторов

Clickteam Install Creator 2

Компания Clickteam выпускает простые и дружелюбные продукты для разработчиков: например, Clickteam Fusion, The Games Factory, Multimedia Fusion. В этом же ряду находится программа Install Creator. Основное преимущество продукта — быстрое создание дистрибутива при помощи пошагового мастера.

Разделы настроек расположены в такой строгой последовательности в виде вкладок. Вначале указываются данные (Files), текстовое содержание диалогов (Wizard Text), формат окна (Window), дополнительные настройки (Options), настройки деинсталлятора (Uninstaller), размер дистрибутива (Build). После нажатия на Build запускается компиляция инсталлятора, остается лишь указать место его расположения.

Инсталлятор занимает 65 КБ, с учетом деинсталлятора это 105 КБ. Вдобавок к этому, в Install Creator применяется один из двух алгоритмов компрессии (zipper/ differentiator), оптимальный вариант определяется автоматически. При необходимости, данные можно поместить в пакет отдельно от инсталлятора.

Функциональность Clickteam Install Creator унифицирована, отсутствуют некоторые важные опции. Так, мультиязычность не поддерживается, русский язык в перечне локализаций и вовсе отсутствует. Интеграция со сторонними решениями не предусмотрена, поэтому работа с большими проектами (подразумевающими множество связей в системе) будет неудобной. Программа не позволяет создавать обновления, патчи. Впрочем, в последнем случае, можно использовать Patch Maker — разработку Clickteam.

В незарегистрированной версии Install Creator присутствует реклама. Профессиональная версия, помимо снятия этого лимита, позволяет включать в дистрибутив несколько редакций, устанавливать лицензионное ограничение для пользователя инсталлятора.

Резюме. Возможности Install Creator будут востребованы при работе с несложными проектами. Получаемые инсталляторы содержат базовый набор пользовательских опций, среди которых нет выбора языков или профиля установки. Определенно, это максимально простое решение среди всех упомянутых в обзоре инсталляционных комплексов.

Actual Installer

Actual Installer — программа для создания достаточно сложных установщиков Windows Installer без использования сценариев. В базовый набор возможностей входят мультиязычность, эффективная компрессия, детальная настройка интерфейса, командная строка и прочие функции, перечисляемые ниже.

Использование пошагового мастера не предполагается, но доступно окно параметров для нового проекта. Определив базовые сведения продукта, можно перейти в главное окно программы. Опции расположены в 5 секциях — «Общее», «Установка», «Диалоги», «Система» и «Реестр».

В разделе General (Общее) указывается информация о проекте, здесь же настраивается внешний вид мастера установки. В процессе установщик может проверять системные требования (такие как версия ОС, привилегии пользователя) и зависимости (Microsoft .NET Framework, Internet Explorer, Adobe Reader, Java, SQL Server и прочие). При отсутствии указанных компонентов, инсталлятор потребует от пользователя скачать и установить их.

Читайте также:  Mrc pro для windows

В Installation («Установка») — расположение файлов и папок, расположение исполнимого файла, настройки процессов установки, обновления и деинсталляции. Оба процесса могут осуществляться в тихом режиме, не требуя вмешательства пользователя. В довесок к установщику, может использоваться мастер обновлений (Actual Updater).

Dialogs («Диалоги») предоставляют доступ к «начинке» разделов, включая текст лицензионного соглашения, readme файла, в том числе в формате RTF. Здесь же — выбор языков локализации, причем русский язык числится в списке. Ненужные разделы установщика легко отключить.

System («Система») — настройка системных изменений, вносимых при инсталляции: ярлыки, ключи реестра, переменные и пользовательские команды.

Register («Реестр») — установка файловых ассоциаций, переменных окружения, библиотек.

После выставления нужных опций достаточно нажать на кнопку Build Project — инсталлятор готов к запуску. В случае, если при создании инсталлятора была пропущена важная опция, при компиляции Actual Installer даст об этом знать и укажет на ошибку.

Резюме. Actual Installer включает в себя практически все стандартные параметры и опции проекта. Это «промежуточный» вариант между очень простыми (вроде Clickteam Install Creator) и более тяжеловесными решениями, о которых также пойдет речь.

CreateInstall

CreateInstall — инструментарий для создания установщиков. В его основу заложено две особенности — контроль над процессом установки и неограниченная расширяемость. Обе возможности реализованы благодаря языку программирования Gentee, применяемому для написания сценариев.

Интерфейс CreateInstall разбит на 3 вкладки — «Проект», «Скрипт установки» и «Скрипт деинсталляции». Первый раздел позволяет задать общие настройки инсталлятора: информация о продукте, поддерживаемые языки, пути, внешний вид. Дополнительно, инсталлятор можно защитить цифровой подписью и установить пароль.

«Проект» — не равноценная замена двух последующих разделов, т. е. для создания дистрибутива нужно тщательно настроить скрипты установки и деинсталляции. Соответствующие параметры отображаются в виде групп, можно отобразить их единым списком.

Дополнением для CreateInstall служит утилита Quick CreateInstall. Она значительно упрощает создание инсталлятора, предоставляя только базовые настройки проекта. Из Quick CreateInstall в дальнейшем проект можно импортировать в CreateInstall.

Код проекта не предназначен для самостоятельного редактирования, переноса в IDE-среду, экспорта. Хотя язык Gentee имеет отличный потенциал: как минимум, это переменные и функции, условные выражения и синтаксис, базирующийся на C, C++ и Java.

Существует 3 редакции программы — полная, light (простая) и бесплатная. Список различий между ними опубликован здесь. По большей части, отсутствующие функции бесплатной редакции программы видны при навигации по группам настроек скриптов.

Интерфейс и справка доступны на русском языке.

Резюме. CreateInstall — функциональная и доступная для понимания среда. Инструментарий CreateInstall не так уж и беден и позволяет обходиться собственными средствами. Но к недостаткам все же следует отнести замкнутость программы «в себе», подразумевая функции импорта и экспорта.

Advanced Installer

Advanced Installer основывается на технологии Windows Inslaller, позволяя создавать msi-, exe- и других видов дистрибутивов. Этому способствует продуманный интерфейс и работа с проектами. В Advanced Installer можно обнаружить немало возможностей, которых нет в других подобных комплексах, о чем ниже.

Примечательно, прежде всего, разнообразие проектов: сюда входят инсталляторы, Java-установщики, обновления, дополнения, модули слияния и другие. В разделе меню Installer собраны команды импорта проектов из Visual Studio, RAD Studio, Real Studio, Visual Basic. Здесь раскрывается потенциал Advanced Installer во взаимодействии с IDE-средами.

Для каждого из выбранных типов проекта предусмотрен детальный мастер настройки. Есть общие шаблоны — Simple, Enterprise, Architect или Professional. Большая часть проектов доступна только для определенных типов лицензии, общедоступные проекты обозначены как None в графе License Required.

Как уже сказано, при создании проекта можно воспользоваться пошаговым мастером, где, в частности, доступен выбор способа распространения пакета, языков локализации, настройка пользовательского интерфейса, ввод текста лицензии и другие опции. Advanced Installer позволяет выбрать вариант распространения программы — оставить данные без компрессии, разделить на CAB-архивы, сохранить в MSI и др., добавить цифровую подпись, потребовать ввод серийного номера и т. д.

Главное окно Advanced Installer (редактор проекта), в простом режиме отображения (Simple), содержит несколько секций:

  • Product Information (Информация о продукте) — ввод сведений о продукте, параметры установки.
  • Requirements (Требования) — указание аппаратных и системных требований, зависимостей ПО. Также имеется возможность создания пользовательских условий.
  • Resources (Ресурсы) — редактор ресурсов (файлов и ключей реестра).
  • Deployment (Развертывание) — выбор типа распространения продукта. Это может быть MSI, EXE или веб-инсталлятор. Для MSI, EXE ресурсы можно поместить отдельно от инсталлятора.
  • System Changes — переменные среды.

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

Читайте также:  Windows 2012 нет dns

Для выполнения более сложных задач позволяется использовать пользовательские действия, EXE, DLL или скрипты, написанные на C, C++, VBS или JS. Для создания сценариев предусмотрен удобный редактор.

Однако следует отметить, что в режиме Simple доступна лишь малая часть разделов. Работая с Advanced Installer в ознакомительном режиме, есть смысл зайти в настройки и переключиться в другой режим работы с проектом. После этих действий становятся доступны новые подразделы редактора.

Резюме. Благодаря различным редакциям продукта (включая бесплатную), возможностям импорта, множеству шаблонов и схем, редактору проектов — Advanced Installer будет интересен широкой аудитории.

BitRock InstallBuilder

InstallBuilder — кроссплатформенная среда для создания инсталляторов. В перечень поддерживаемых систем входят: Windows ME — Windows 8, Mac OS X, FreeBSD, OpenBSD, Solaris (Intel & Sparc), AIX, HP-UX, IRIX, Linux (Intel x86/x64, Itanium, s390 & PPC). Инсталляторы доступны как для настольного, так и сетевого ПО. В первой части путеводителя уже рассматривался продукт IzPack, но для InstallBuilder характерна поддержка языков написания, включая не только Java, но и PHP, Perl, Python, Ruby, C/C++ и .NET/Mono.

Интерфейс программы доступен на русском языке. Для работы с проектом используется очень простая графическая оболочка. Присутствуют следующие секции с настройками:

  • Product Details («Информация о продукте») — информация о проекте.
  • Files («Файлы») — проводниковый интерфейс для добавления файлов
  • Advanced («Расширенные настройки») — наиболее интересный раздел, где, пожалуй, и раскрывается вся мощь BitRock Installer. Для работы с проектами используется формат XML (см. обзор WiX в первой части), возможна совместная работа, ручная настройка проектов с поддержкой сценариев. Встроенные действия позволяют автоматизировать процессы установки и объединять задачи, делая их доступными в несколько кликов. Таким образом можно проверять зависимости, добавлять переменные окружения, изменять реестр и файловую систему и прочее. Для редактирования сценариев используется встроенный, очень простой, XML-редактор.
  • Customization («Настройка») — настройка пользовательского интерфейса инсталлятора, переменных окружения, пост-установочных действий, платформ, разрешений и компрессии. Для сжатия применяется ZIP/LZMA-компрессия. Можно создать тихий установщик, работающий в текстовом режиме.
  • Packaging («Упаковка») — для отслеживания ошибок имеется встроенный дебаггер. При построении легко создать кроссплатформенный инсталлятор. На выходе он использует «родную» среду ОС (это относится к графическим системам Windows, KDE и Gnome).

Резюме. BitRock InstallBuilder рекомендуется, прежде всего, для создания кроссплатформенных продуктов. Сценарий, основанный на XML-спецификациях, удобен в обращении, проект легко импортировать и экспортировать для редактирования во внешней среде. Таким образом, на основе данного XML-сценария можно быстро генерировать инсталляторы для всех требуемых платформ.

InstallMate

InstallMate представляет собой инструментарий для создания дистрибутивов на основе Windows Installer. Основные особенности: интуитивная графическая среда, широкий выбор элементов установки, проверка зависимостей, детальная настройка внешнего вида инсталлятора, поддержка компонентов, локализаций и расширений. Дистрибутивы, созданные с помощью InstallMate, отличаются компактностью и скоростью работы.

Мастер создания нового проекта позволяет выбрать существующий шаблон и указать начальные параметры — языки локализации (один или несколько), имя продукта.

Можно импортировать созданный проект или воспользоваться редактором InstallMate. Кстати говоря возможности импорта не впечатлили: поддерживаются продукты компании Tarma и проекты Visual Basic.

Главное окно программы содержит разделы с параметрами, разделенные, условно, на три секции:

  • Общие настройки: детальная информация о проекте, программные зависимости, системные требования, компоненты, а также опции инсталлятора. В боковой панели Package можно также указать тип инсталлятора, компрессии, ссылку на скачивание (в случае с веб-инсталлятором), пароль на установку. В один инсталлятор можно добавить несколько пакетов.
  • Компоненты: включение в дистрибутив элементов и связей: это файлы и папки, ключи реестра, ini-конфиги, переменные среды, файловые ассоциации, COM-классы, сервисы.
  • Опции инсталлятора: с помощью редактора можно отредактировать текст диалогов. Предусмотрена гибкая настройка локализаций, InstallMate поддерживает 19 языков по умолчанию. Можно создать один дистрибутив с несколькими локализациями либо несколько проектов с одним языком. В этом же разделе доступны пользовательские действия, а также переменные — включая 250 предустановок. Расширить функциональность пакета можно с помощью расширений и DLL-библиотек.

Как было отмечено, при создании инсталлятора можно использовать шаблоны. Помимо шаблонов проектов, возможно создание пакетов на основе компонентов, определяя группы элементов. Из других опций стоит отметить скрытую и тихую установку и деинсталляцию, два типа сжатия (Deflate или LZMA).

Полный список функций представлен здесь.

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

Оцените статью