Создание пакета MSIX из исходного кода с помощью MSIX Core

MSIX Core обеспечивает развертывание MSIX для выбора предыдущих версий Windows. Установщик MSIX Core можно использовать для создания приложения с помощью ClickOnce. Это позволит пользователям скачать файл setup.exe и установить приложение MSIX с помощью установщика MSIX Core.

Размещение приложения на веб-сервере

Чтобы подготовить приложение к загрузке с помощью установщика MSIX Core, необходимо разместить пакет приложения на веб-сервере. В этом разделе содержатся сведения о настройке веб-приложения в Azure, службы IIS (IIS) и Amazon Web Services (AWS).

Azure

Чтобы использовать этот параметр, необходимо иметь подписку Azure. Чтобы получить его, ознакомьтесь со страницей учетной записи Azure.

Создание веб-приложения Azure

Чтобы приступить к работе, перейдите на страницу портал Azure и выполните следующие действия:

  1. Щелкните Создать ресурс.
  2. Щелкните веб-приложение и выберите веб-приложение.
  3. В разделе "Сведения об экземпляре" создайте уникальное имя приложения и выберите соответствующие параметры для приложения. Например, вам потребуется выбрать между кодом или контейнером Docker и стеком среды выполнения. В противном случае оставьте все остальное значение по умолчанию.
  4. Нажмите кнопку "Создать " и завершите работу мастера.

Размещение пакета приложения и веб-страницы

  1. После создания веб-приложения выберите это приложение.
  2. В разделе Средства разработки выберите Редактор службы приложений.
  3. В редакторе есть файл hostingstart.html по умолчанию. Щелкните правой кнопкой мыши пустое пространство проводник и выберите "Отправить файлы", чтобы начать отправку пакетов приложений.
  4. Щелкните правой кнопкой мыши пустое пространство панели проводник и выберите "Создать файлы", чтобы создать новый файл. Присвойте файлу имя html-страницы по умолчанию.

Настройка веб-приложения для типов MIME пакета приложений

Добавьте новый файл с именем Web.config в веб-приложение. Откройте файл конфигурации Web.config и добавьте следующий XML-файл в файл.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <!--This is to allow the web server to serve resources with the appropriate file extensions-->
    <staticContent>
      <mimeMap fileExtension=".appx" mimeType="application/appx" />
      <mimeMap fileExtension=".msix" mimeType="application/msix" />
    </staticContent>
  </system.webServer>
</configuration>

Службы IIS

IIS — это необязательная функция Windows. Чтобы установить IIS, выполните приведенные далее действия.

  1. Нажмите кнопку "Пуск" и выполните поиск по включению или отключению функций Windows.
  2. Выберите службы IIS.
  3. Кроме того, установите ASP.NET 4.5 или более поздней версии. В диалоговом окне "Компоненты Windows" разверните узел службы IIS ->>Функции разработки приложений world Wide Web Services и выберите версию ASP.NET, которая больше или равно ASP.NET 4.5.
  4. Нажмите кнопку "ОК" , чтобы начать установку.

Требуются Visual Studio 2017 (или более поздняя версия) и средства разработки веб-приложений. Если у вас уже установлена visual Studio 2017 или более поздняя версия, убедитесь, что установлены ASP.NET и рабочие нагрузки веб-разработки. В противном случае установите Visual Studio отсюда.

Создание веб-приложения

Запустите Visual Studio от имени администратора и создайте проект веб-приложения Visual C# с пустым шаблоном проекта.

Настройка IIS с помощью веб-приложения

  1. В Обозреватель решений щелкните правой кнопкой мыши корневой проект и выберите "Свойства".
  2. В свойствах выберите веб-вкладку.
  3. В разделе "Серверы" выберите "Локальные службы IIS" в раскрывающемся меню и нажмите кнопку "Создать виртуальный каталог".

Добавление пакета приложения в веб-приложение

Добавьте пакет приложения, который вы хотите распространить в веб-приложение:

  1. В Обозреватель решений щелкните правой кнопкой мыши узел проекта.
  2. Выберите "Добавить -Создать папку" и назовите пакеты папок.>
  3. Чтобы добавить пакеты приложений в папку, щелкните правой кнопкой мыши папку пакетов и выберите "Добавить существующий> элемент". Перейдите к расположению пакета приложения.

Создание веб-страницы

Создайте HTML-страницу или любое другое веб-приложение в соответствии с вашими потребностями. Добавьте ссылку на новый файл setup.exe.

Настройка веб-приложения для типов MIME пакета приложений

Откройте файл web.config из обозревателя решений и добавьте следующий XML-код в <элемент конфигурации>.

<system.webServer>
  <!--This is to allow the web server to serve resources with the appropriate file extensions-->
  <staticContent>
    <mimeMap fileExtension=".appx" mimeType="application/appx" />
    <mimeMap fileExtension=".msix" mimeType="application/msix" />
  </staticContent>
</system.webServer>

Amazon Web Services (AWS)

Чтобы использовать этот параметр, необходимо иметь членство в AWS. Дополнительные сведения см. в разделе об учетной записи AWS.

Создание контейнера Amazon S3 и отправка пакетов MSIX и веб-страниц

Amazon Simple служба хранилища Service (S3) — это предложение AWS для сбора, хранения и анализа данных. Контейнеры S3 — удобный способ размещения пакетов приложений Windows 10 и веб-страниц для распространения.

  1. Войдите в AWS. В разделе "Службы" находятся S3.
  2. Выберите "Создать контейнер" и введите имя контейнера для веб-сайта. Следуйте инструкциям в диалоговом окне, чтобы задать свойства и разрешения. Чтобы обеспечить распространение приложения Windows 10 с веб-сайта, включите разрешения на чтение и запись для контейнера и выберите "Предоставить общедоступный доступ на чтение" для этого контейнера. Нажмите кнопку "Создать контейнер ", чтобы завершить этот шаг.
  3. По завершении отправьте пакеты MSIX и веб-страницы в контейнер S3.

Настройка веб-приложения для типов MIME пакета приложений

Использование интерфейса веб-службы, например браузера S3, для добавления новых заголовков HTTP по умолчанию.

  1. Перейдите к сервису и выберите заголовки HTTP по умолчанию.
  2. В диалоговом окне заголовков HTTP по умолчанию нажмите кнопку "Добавить".
  3. В диалоговом окне "Добавление новых заголовков HTTP по умолчанию" укажите имя контейнера, имя файла, имя заголовка и значение заголовка, а затем нажмите кнопку "Добавить новый заголовок".
    • Имя контейнера: msix-packages
    • Имя файла: *.msix
    • Имя заголовка: Content-Type
    • Значение заголовка: application/msix

Примечание.

 AWS имеет некоторые строгие рекомендации, которые вам придется следовать. Например, имена контейнеров должны быть уникальными, поэтому, если вы используете приведенный выше пример, необходимо изменить имя контейнера.

Создание приложения ClickOnce с помощью установщика MSIX Core

Найдите приложение ClickOnce setup.exe. Это относится клон проекта Git, сборка и публикация его с помощью проекта Visual Studio.

Выполните команду URL-адреса, чтобы создать файл setup.exe

Убедитесь, что вы выполнили инструкции для клонирования, сборки и публикации решения MSIX Core в Visual Studio. Для справки можно найти проект GitHub здесь.

Перейдите в каталог, в котором вы опубликовали файл setup.exe, а затем выполните следующую команду:

.\setup.exe -url=<location of your msix in the webservice>

Например.

.\setup.exe -url="https://appinstallerdemo.azurewebsites.net/MSIXCore/msixmgrWrapper.application?https://appinstallerdemo.azurewebsites.net/MSIXCore/notepadplus.msix#"

Подписыв приложение

Так как предыдущий шаг создал новый setup.exe, необходимо снова подписать приложение, чтобы убедиться, что вы доверенный издатель приложения и для установления целостности приложения. Вы можете использовать SignTool и указать сертификат.

Распространение приложения пользователям

Теперь вы можете указать новый файл setup.exe со ссылкой или кнопкой скачивания на своем веб-сайте. MSIX Core предназначен для пользователей в Windows 10 версии 1703 и более ранних версиях. Установщик приложений — это идеальный процесс установки пакетов MSIX в Windows 1709 или более поздней версии. Установщик приложений оптимизирует место на диске на стороне потребителя и может напрямую устанавливать приложения из расположений HTTP. MSIX Core обнаружит, находится ли потребитель в Windows 1709 или более поздней версии и перенаправляет их в установщик приложений.

В Microsoft Edge можно вызвать метод getHostEnvironmentValue() и поле сборки ос в возвращаемом значении указать версию ОС пользователя. Затем можно предложить процессу установки использовать MSIX Core (для Windows 10 версии 1703 и более ранних версий) или установщика приложений (для Windows 10 версии 1709 и более поздних версий).

Взаимодействие с пользователем

Пользователи просто скачивают и запускают setup.exe на веб-странице разработчика.

  • Если установщик MSIX Core еще не установлен, когда пользователь запускает setup.exe, пользователь видит запрос ClickOnce и нажимает кнопку "Установить ", чтобы установить установщик MSIX Core. Установщик автоматически запускается и отображает экран установки пакета MSIX, указанного в строке запроса разработчика, чтобы пользователи могли установить приложение.
  • Если установщик MSIX Core уже установлен, когда пользователь запускает setup.exe, установщик MSIX Core автоматически запускается и отображает экран установки пакета MSIX, указанного в строке запроса для установки приложения.