Распространение приложения для Windows 10 с сервера IIS

В этом руководстве показано, как настроить сервер IIS, убедиться, что веб-приложение может размещать пакеты приложений, а также вызывать и эффективно использовать установщик приложений.

Приложение "Установщик приложений" позволяет разработчикам и ИТ-специалистам распространять приложения Windows 10 путем их размещения в собственной сети доставки содержимого (CDN). Это полезно для предприятий, которым не требуется публиковать свои приложения в Microsoft Store, но они все же хотят воспользоваться преимуществами платформы упаковки и развертывания Windows 10.

Настройка

Для успешного прохождения этого руководства вам потребуется следующее:

  1. Visual Studio 2017
  2. Средства веб-разработки и СЛУЖБЫ IIS
  3. Пакет приложения Для Windows 10 — пакет приложения, который будет распространяться

Необязательно: Стартовый проект на GitHub. Это полезно, если у вас нет пакетов приложений для работы, но вы по-прежнему хотите узнать, как использовать эту функцию.

Шаг 1. Установка IIS и ASP.NET

Службы Internet Information Services — это компонент Windows, который можно установить с помощью меню "Пуск". В меню "Пуск" выполните поиск функций Windows включено или выключение.

Найдите и выберите службы Iis для установки СЛУЖБ IIS.

Примечание

Вам не нужно выбирать все флажки в разделе "Службы Iis Information Services". Достаточно только тех, которые выбраны при проверке служб Iis Information Services .

Вам также потребуется установить ASP.NET 4.5 или более поздней версии. Чтобы установить его, найдите службы Internet Information Services —> веб-службы World Wide Web Services —> функции разработки приложений. Выберите версию ASP.NET, которая больше или равна ASP.NET 4.5.

Screenshot of installing ASP.NET feature

Шаг 2. Установка visual Studio 2017 и средств веб-разработки

Установите Visual Studio 2017 , если вы еще не установили его. Если у вас уже есть Visual Studio 2017, убедитесь, что установлены следующие рабочие нагрузки. Если рабочие нагрузки отсутствуют в вашей установке, выполните инструкции с помощью Visual Studio Installer (найденного в меню "Пуск").

Во время установки выберите ASP.NET и веб-разработку и любые другие интересующие вас рабочие нагрузки.

После завершения установки запустите Visual Studio и создайте новый проект (файл ->Новый проект).

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

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

Screenshot of creating a new web project

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

В обозревателе решений щелкните правой кнопкой мыши корневой проект и выберите "Свойства".

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

Screenshot of web tab in project properties

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

Добавьте пакет приложения, который будет распространяться в веб-приложение. Вы можете использовать пакет приложения, который является частью предоставленных пакетов начального проекта на GitHub, если у вас нет доступного пакета приложения. Сертификат (MySampleApp.cer), с помощью которого был подписан пакет, также входит в состав примера на GitHub. Перед установкой приложения необходимо установить сертификат на устройство (шаг 9).

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

Screenshot of adding a package

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

В этом примере веб-приложения используется простой HTML-код. Вы можете создать веб-приложение в соответствии с вашими потребностями.

Щелкните правой кнопкой мыши корневой проект обозревателя решений, выберите "Добавить ->Создать элемент" и добавьте новую HTML-страницу из веб-раздела .

После создания HTML-страницы щелкните правой кнопкой мыши HTML-страницу в обозревателе решений и выберите "Задать как начальную страницу".

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

Добавьте следующий HTML-код на веб-страницу. Ключом для успешного вызова Установщика приложений является использование пользовательской схемы, регистрируемой установщиком приложений в ОС: ms-appinstaller:?source=. Дополнительные сведения см. в примере кода ниже.

Примечание

Убедитесь, что путь URL-адреса, указанный после пользовательской схемы, соответствует URL-адресу проекта на веб-вкладке решения VS.

<html>
<head>
    <meta charset="utf-8" />
    <title> Install Page </title>
</head>
<body>
    <a href="ms-appinstaller:?source=http://localhost/SampleWebApp/packages/MySampleApp.msixbundle"> Install My Sample App</a>
</body>
</html>

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

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

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

Примечание

В новейших веб-технологиях Майкрософт .NET Core. Сборка веб-сайта с помощью ASP .NET Core игнорирует web.config статическое содержимое mimeMap. В результате необходимо правильно настроить веб-сайт .NET Core, на котором будет размещена установка MSIX, необходимо изменить метод настройки в файле Startup.cs. Дополнительные сведения см. в документации по .NET Core .

Шаг 8. Добавление исключения замыкания на себя для установщика приложений

Из-за сетевой изоляции приложения Windows 10, такие как Установщик приложений, ограничены использованием IP-адресов замыкания ip-адресов, таких как http://localhost/. При использовании локального сервера IIS установщик приложений необходимо добавить в список исключений замыкания на себя.

Для этого откройте командную строку от имени администратора и введите следующее:

CheckNetIsolation.exe LoopbackExempt -a -n=microsoft.desktopappinstaller_8wekyb3d8bbwe

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

CheckNetIsolation.exe LoopbackExempt -s

Вы должны найти microsoft.desktopappinstaller_8wekyb3d8bbwe в списке.

После завершения локальной проверки установки приложения с помощью установщика приложений можно удалить исключение замыкания на себя, которое вы добавили на этом шаге:

CheckNetIsolation.exe LoopbackExempt -d -n=microsoft.desktopappinstaller_8wekyb3d8bbwe

Шаг 9. Запуск веб-приложения

Создайте и запустите веб-приложение, нажав кнопку запуска на ленте VS, как показано на рисунке ниже:

Screenshot of running web app in Visual Studio

Веб-страница откроется в браузере:

Screenshot of installing app from web page

Щелкните ссылку на веб-странице, чтобы запустить приложение установщика приложений и установить пакет приложения Для Windows 10.

Устранение неполадок

Недостаточно привилегий

Если при запуске веб-приложения в Visual Studio отображается ошибка, например "У вас нет достаточных прав доступа к веб-сайтам IIS на компьютере", вам потребуется запустить Visual Studio от имени администратора. Закройте текущий экземпляр Visual Studio и снова откройте его в качестве администратора.

Настройка начальной страницы

Если при запуске веб-приложения браузер загружается с ошибкой HTTP 403.14 — запрещено, это связано с тем, что веб-приложение не имеет определенной начальной страницы. См. шаг 6 в этом руководстве, чтобы узнать, как определить начальную страницу.