Создание файла Установщика приложений в 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) или SSH-протокол передачи файлов (SFTP) используются для отправки файлов, но существуют другие методы публикации, такие как MSDeploy, SSH или хранилище BLOB-объектов в зависимости от веб-поставщика.

Чтобы настроить веб-сервер, необходимо проверить типы MIME, используемые для используемых типов файлов. В этом примере используется web.config службы IIS (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>