Dystrybuowanie aplikacji Windows z serwera usług IIS

Ostrzeżenie

Protokół ms-appinstaller: URI używany w tych samouczkach instalacji internetowej jest domyślnie wyłączony od grudnia 2023 r. Użytkownicy na większości urządzeń nie będą mogli korzystać z instalacji inicjowanej jednym kliknięciem w przeglądarce. W przypadku szerokiej dystrybucji opublikuj w Microsoft Store zamiast tego. W przypadku urządzeń zarządzanych przez przedsiębiorstwo, na których IT może ponownie włączyć protokół za pomocą zasad grupowych, zobacz Instalowanie aplikacji Windows ze strony internetowej.

W tym samouczku pokazano, jak skonfigurować serwer usług IIS, sprawdzić, czy aplikacja internetowa może hostować pakiety aplikacji, i skutecznie wywoływać i używać Instalatora aplikacji.

Aplikacja Instalator aplikacji umożliwia deweloperom i informatykom dystrybuowanie aplikacji Windows 10 przez hostowanie ich we własnej usłudze Content Delivery Network (CDN). Jest to przydatne w przypadku przedsiębiorstw, które nie chcą ani nie muszą publikować swoich aplikacji w Microsoft Store, ale nadal chcą korzystać z platformy Windows 10 pakowania i wdrażania.

Konfiguracja

Aby pomyślnie wykonać czynności opisane w tym samouczku, potrzebne są następujące elementy:

  1. Visual Studio 2017
  2. Narzędzia programistyczne sieci Web i usługi IIS
  3. Windows 10 pakiet aplikacji — pakiet aplikacji, który będzie dystrybuowany

Opcjonalnie: Starter Project w GitHub. Jest to przydatne, jeśli nie masz pakietów aplikacji do pracy, ale nadal chcesz dowiedzieć się, jak używać tej funkcji.

Krok 1. Instalowanie usług IIS i ASP.NET

Internet Information Services to funkcja Windows, którą można zainstalować za pomocą menu Start. W menu Start wyszukaj Włącz lub wyłącz funkcje Windows.

Znajdź i wybierz Internet Information Services aby zainstalować usługi IIS.

Uwaga / Notatka

Nie musisz zaznaczać wszystkich pól wyboru w obszarze Internet Information Services. Wystarczą tylko te, które zostaną wybrane, gdy zaznaczysz Internet Information Services.

Konieczne będzie również zainstalowanie ASP.NET wersji 4.5 lub nowszej. Aby go zainstalować, znajdź Internet Information Services -> World Wide Web Services -> Application Development Features. Wybierz wersję ASP.NET większą lub równą ASP.NET 4,5.

 Zrzut ekranu przedstawiający instalowanie funkcji ASP.NET

Krok 2. Instalowanie Visual Studio 2017 i narzędzi do tworzenia aplikacji internetowych

Install Visual Studio 2017 jeśli jeszcze go nie zainstalowano. Jeśli masz już Visual Studio 2017 r., upewnij się, że są zainstalowane następujące obciążenia. Jeśli obciążenia nie są obecne w instalacji, postępuj zgodnie z instrukcjami, korzystając z instalatora Visual Studio (znalezionego w menu Start).

Podczas instalacji wybierz ASP.NET i tworzenie aplikacji internetowych i inne interesujące Cię obciążenia.

Po zakończeniu instalacji uruchom Visual Studio i utwórz nowy projekt (Plik ->Nowy Projekt).

Krok 3. Tworzenie aplikacji internetowej

Uruchom Visual Studio 2017 jako Administrator i utwórz nowy szablon projektu Visual C# Web Application z szablonem projektu empty.

Zrzut ekranu przedstawiający tworzenie nowego projektu internetowego

Krok 4. Konfigurowanie usług IIS za pomocą naszej aplikacji internetowej

W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt główny i wybierz pozycję Właściwości.

We właściwościach aplikacji internetowej wybierz kartę Sieć Web . W sekcji Serwery wybierz pozycję Lokalne usługi IIS z menu rozwijanego, a następnie kliknij pozycję Utwórz katalog wirtualny.

Zrzut ekranu zakładki sieciowej we właściwościach projektu

Krok 5. Dodawanie pakietu aplikacji do aplikacji internetowej

Dodaj pakiet aplikacji, który zamierzasz dystrybuować do aplikacji internetowej. Możesz użyć pakietu aplikacji, który jest częścią dostarczonego pakietu projektu starter w GitHub, jeśli nie masz dostępnego pakietu aplikacji. Certyfikat (MySampleApp.cer), za pomocą którego podpisano pakiet, jest również dostępny razem z przykładem na GitHubie. Przed zainstalowaniem aplikacji musisz mieć zainstalowany certyfikat na urządzeniu (krok 9).

W początkowej aplikacji internetowej projektu nowy folder został dodany do aplikacji internetowej o nazwie pakiety zawierające pakiety aplikacji, które mają być dystrybuowane. Aby utworzyć folder w Visual Studio, kliknij prawym przyciskiem myszy węzeł projektu w Eksplorator rozwiązań, wybierz Dodaj ->Nowy folder i nadaj mu nazwę packages. Aby dodać pakiety aplikacji do folderu, kliknij prawym przyciskiem myszy folder packages i wybierz polecenie Dodaj ->Istniejący element... i przejdź do lokalizacji pakietu aplikacji.

Zrzut ekranu przedstawiający dodawanie pakietu

Krok 6. Tworzenie strony internetowej

Ta przykładowa aplikacja internetowa używa prostego kodu HTML. Możesz bezpłatnie tworzyć aplikację internetową zgodnie z potrzebami.

Kliknij prawym przyciskiem myszy główny projekt Eksploratora rozwiązań, wybierz pozycję Dodaj ->Nowy element i dodaj nową stronę HTML z sekcji Sieci Web .

Po utworzeniu strony HTML kliknij prawym przyciskiem myszy stronę HTML w Eksplorator rozwiązań i wybierz pozycję Set as Start Page.

Kliknij dwukrotnie plik HTML, aby otworzyć go w oknie edytora kodu. W tym samouczku zostaną użyte tylko te elementy strony internetowej, które są niezbędne do pomyślnego wywołania aplikacji Instalatora, aby zainstalować aplikację Windows 10.

Dołącz następujący kod HTML na stronie internetowej. Kluczem do pomyślnego wywołania Instalatora aplikacji jest użycie niestandardowego schematu rejestrowanego przez Instalatora aplikacji w systemie operacyjnym: ms-appinstaller:?source=. Zobacz poniższy przykład kodu, aby uzyskać więcej szczegółów.

Uwaga / Notatka

Upewnij się, że ścieżka adresu URL określona po schemacie niestandardowym jest zgodna z adresem URL projektu w zakładce sieci Web rozwiązania programu 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>

Krok 7. Konfigurowanie aplikacji internetowej dla typów MIME pakietów aplikacji

Otwórz plik Web.config z Eksploratora rozwiązań i dodaj następujące wiersze w elemecie <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>

Uwaga / Notatka

ASP.NET Core nie używa mapowań web.config MIME dla zawartości statycznej. Jeśli aplikacja hostingowa jest kompilowana przy użyciu ASP.NET Core, skonfiguruj wymagane typy zawartości dla .appx, .msix, .appxbundle, .msixbundle i .appinstaller w statycznym kodzie pośredniczącym, zazwyczaj w metodzie Startup.Configure. Aby uzyskać więcej informacji, zobacz dokumentację .NET Core.

Krok 8. Dodawanie wykluczenia sprzężenia zwrotnego dla Instalatora aplikacji

Ze względu na izolację sieci aplikacje Windows 10, takie jak Instalator aplikacji, są ograniczone do używania adresów sprzężenia zwrotnego IP, takich jak http://localhost/. W przypadku korzystania z lokalnego serwera usług IIS instalator aplikacji musi zostać dodany do listy wykluczonych sprzężeń zwrotnych.

W tym celu otwórz Wiersz Polecenia jako Administrator i wprowadzić następujące polecenie:

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

Aby sprawdzić, czy aplikacja została dodana do listy wyjątków pętli zwrotnej, użyj następującego polecenia, aby wyświetlić aplikacje na tej liście:

CheckNetIsolation.exe LoopbackExempt -s

Na liście powinno znaleźć się microsoft.desktopappinstaller_8wekyb3d8bbwe.

Po zakończeniu lokalnej weryfikacji instalacji aplikacji za pomocą Instalatora aplikacji można usunąć wykluczenie sprzężenia zwrotnego dodane w tym kroku:

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

Krok 9. Uruchamianie aplikacji internetowej

Skompiluj i uruchom aplikację internetową, klikając przycisk uruchamiania na wstążce programu VS, jak pokazano na poniższej ilustracji:

 Zrzut ekranu przedstawiający uruchamianie aplikacji internetowej w Visual Studio

Zostanie otwarta strona internetowa w przeglądarce:

Zrzut ekranu przedstawiający instalowanie aplikacji ze strony internetowej

Kliknij link na stronie internetowej, aby uruchomić aplikację Instalator aplikacji i zainstalować pakiet aplikacji Windows 10.

Rozwiązywanie problemów

Brak wystarczających uprawnień

Jeśli uruchomienie aplikacji internetowej w Visual Studio wyświetla błąd, taki jak "Nie masz wystarczających uprawnień dostępu do witryn internetowych usług IIS na komputerze", musisz uruchomić Visual Studio jako administrator. Zamknij bieżące wystąpienie Visual Studio i otwórz je ponownie z uprawnieniami administratora.

Ustawianie strony początkowej

Jeśli uruchomienie aplikacji internetowej powoduje załadowanie przeglądarki przy użyciu błędu HTTP 403.14 — Zabronione, jest to spowodowane tym, że aplikacja internetowa nie ma zdefiniowanej strony początkowej. Zapoznaj się z krokiem 6 w tym samouczku, aby dowiedzieć się, jak zdefiniować stronę początkową.