Создание файла Установщика приложений в Visual Studio

Начиная с Windows 10 версии 1803 и Visual Studio 2017, обновление 15.7, неопубликованные приложения можно настроить для получения автоматических обновлений .appinstaller с помощью файла. Visual Studio поддерживает включение этих обновлений.

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

Файл .appinstaller можно разместить в общем расположении, например конечной точке HTTP или общей папке UNC. Этот файл включает путь для поиска пакетов приложения, которые требуется установить. Пользователи устанавливают приложение из общего расположения и включают периодические проверки обновлений.

Настройка проекта для подходящей версии Windows

Можно настроить свойство TargetPlatformMinVersion при создании проекта или изменить его позже в свойствах проекта.

Важно!

Файл установщика приложений создается только при TargetPlatformMinVersion Windows 10 версии 1803 или более поздней.

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

Чтобы распространить приложение через неопубликованную загрузку, необходимо создать пакет приложения (.appx/.msix) или пакет приложений (.appxbundle/.msixbundle) и опубликовать его в общем расположении.

Для этого используйте мастер создания пакетов приложения в Visual Studio и выполните следующие шаги.

  1. Щелкните проект правой кнопкой мыши и выберите "Магазин ->Создать пакеты приложений".

    Context menu with navigation to Create App Packages

    Откроется мастер Создание пакетов приложения.

  2. Выберите "Я хочу создать пакеты для загрузки неопубликованныхприложений". И включите автоматическое обновление.

    Create Your Packages dialog window shown

    Включить автоматические обновления включается, только если для TargetPlatformMinVersion проекта указана подходящая версия Windows 10.

  3. Не забудьте выбрать поддерживаемые конфигурации архитектуры в диалоговом окне Выберите и настройте пакеты. Если выбран пакет, он создаст отдельный установщик, однако если вы не хотите использовать пакет и предпочитаете по одному пакету на архитектуру, вы получите один файл установщика на архитектуру. Если вы не уверены, какие архитектуры выбрать, или хотите узнать больше о том, какие архитектуры используются разными устройствами, см. информацию в разделе Архитектуры пакета приложения.

  4. Настройте любые дополнительные сведения, включая номер версии и выходное расположение пакета.

    Create App Packages window with package configuration shown

  5. Если установлен флажок Включить автоматические обновления в шаге 2, отобразится диалоговое окно Настройка параметров обновления. Здесь можно указать URL-адрес установки и периодичность проверки обновлений.

    Configure Update Settings window with publish location configuration

  6. Если приложение успешно упаковано, в диалоговом окне отобразится расположение выходной папки, которая содержит ваш пакет приложения. Выходная папка содержит все файлы, необходимые для загрузки неопубликованного приложения, включая страницу HTML, которую можно использовать для продвижения вашего приложения.

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

Чтобы сделать приложение доступным, необходимо опубликовать созданные файлы в указанном местоположении:

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

Если требуется опубликовать пакеты с помощью общих папок UNC, укажите один и тот же путь для выходной папки пакета приложения и URL-адреса установки (см. подробные сведения в шаге 6). Мастер создаст файлы в правильном местоположении, а пользователи будут получать приложение и будущие обновления к нему по тому же пути.

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

Чтобы выполнить публикацию в местоположении в Интернете, требуется доступ, позволяющий публиковать содержимое на веб-сервере. Убедитесь, что окончательный URL-адрес соответствует URL-адресу установки, определенному в мастере (см. подробные сведения в шаге 6). Как правило, для отправки файлов используется протокол FTP или SFTP, однако существуют и другие методы публикации, например MSDeploy, SSH или хранилище BLOB-объектов (в зависимости от вашего интернет-провайдера).

Чтобы настроить веб-сервер, необходимо проверить MIME-типы, используемые для применяемых типов файлов. Это пример web.config для служб IIS:

<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".appx" mimeType="application/vns.ms-appx" />
      <mimeMap fileExtension=".appxbundle" mimeType="application/vns.ms-appx" />
      <mimeMap fileExtension=".appinstaller" mimeType="application/xml" />
    </staticContent>  
  </system.webServer>  
</configuration>