Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze zelfstudie laat zien hoe u een IIS-server instelt, controleert of uw web-app app-pakketten kan hosten en app-installatieprogramma effectief kan aanroepen en gebruiken.
Met de App Installer-app kunnen ontwikkelaars en IT-professionals Windows 10-apps distribueren door ze te hosten op hun eigen CDN (Content Delivery Network). Dit is handig voor ondernemingen die hun apps niet willen of publiceren naar de Microsoft Store, maar toch willen profiteren van het Pakket- en implementatieplatform van Windows 10.
Configuratie
Als u deze zelfstudie wilt doorlopen, hebt u het volgende nodig:
- Visual Studio 2017
- Hulpprogramma's voor webontwikkeling en IIS
- Windows 10-app-pakket: het app-pakket dat u distribueert
Optioneel: Starter Project op GitHub. Dit is handig als u geen app-pakketten hebt om mee te werken, maar nog steeds wilt weten hoe u deze functie gebruikt.
Stap 1: IIS en ASP.NET installeren
Internet Information Services is een Windows-functie die kan worden geïnstalleerd via het menu Start. Zoek in het menu Start naar Windows-functies in- of uitschakelen.
Zoek en selecteer Internet Information Services om IIS te installeren.
Opmerking
U hoeft niet alle selectievakjes onder Internet Information Services in te schakelen. Alleen de geselecteerde opties wanneer u Internet Information Services controleert, zijn voldoende.
U moet ook ASP.NET 4,5 of hoger installeren. Als u deze wilt installeren, zoekt u Internet Information Services -> World Wide Web Services -> Functies voor toepassingsontwikkeling. Selecteer een versie van ASP.NET die groter is dan of gelijk is aan ASP.NET 4.5.
Stap 2: Hulpprogramma's voor Visual Studio 2017 en webontwikkeling installeren
Installeer Visual Studio 2017 als u deze nog niet hebt geïnstalleerd. Als u Visual Studio 2017 al hebt, controleert u of de volgende workloads zijn geïnstalleerd. Als de werkbelastingen niet aanwezig zijn in uw installatie, volgt u het Installatieprogramma van Visual Studio (te vinden in het menu Start).
Selecteer tijdens de installatie ASP.NET en webontwikkeling en eventuele andere workloads waarin u geïnteresseerd bent.
Zodra de installatie is voltooid, start u Visual Studio en maakt u een nieuw project (File ->New Project).
Stap 3: een web-app bouwen
Start Visual Studio 2017 als beheerder en maak een nieuw Visual C#-webtoepassingsproject met een lege projectsjabloon.
Stap 4: IIS configureren met onze web-app
Klik in Solution Explorer met de rechtermuisknop op het hoofdproject en selecteer Eigenschappen.
Selecteer het tabblad Web in de eigenschappen van de web-app. Kies in de sectie Serverslokale IIS in de vervolgkeuzelijst en klik op Virtuele map maken.
Stap 5: een app-pakket toevoegen aan een webtoepassing
Voeg het app-pakket toe dat u gaat distribueren naar de webtoepassing. U kunt het app-pakket gebruiken dat deel uitmaakt van de meegeleverde startersprojectpakketten op GitHub als u geen app-pakket beschikbaar hebt. Het certificaat (MySampleApp.cer) waarmee het pakket is ondertekend, is ook beschikbaar bij het voorbeeld op GitHub. U moet het certificaat op uw apparaat hebben geïnstalleerd voordat u de app installeert (stap 9).
In de startersprojectwebtoepassing is een nieuwe map toegevoegd aan de web-app, genaamd packages, die de app-pakketten bevatten die moeten worden gedistribueerd. Als u de map in Visual Studio wilt maken, klikt u met de rechtermuisknop op het projectknooppunt in Solution Explorer, selecteert u Add ->New Folder en geeft u deze pakketten een naam. Als u app-pakketten aan de map wilt toevoegen, klikt u met de rechtermuisknop op de map pakkettenen selecteert u Add ->Existing Item... en bladert u naar de locatie van het app-pakket.
Stap 6: een webpagina maken
Deze voorbeeldweb-app maakt gebruik van eenvoudige HTML. U kunt uw web-app naar behoefte bouwen.
Klik met de rechtermuisknop op het hoofdproject van Solution Explorer, selecteer Add ->New Item en voeg een nieuwe HTML-pagina toe vanuit de websectie .
Zodra de HTML-pagina is gemaakt, klikt u met de rechtermuisknop op de HTML-pagina in Solution Explorer en selecteert u Set As Start Page.
Dubbelklik op het HTML-bestand om het te openen in het venster van de code-editor. In deze zelfstudie worden alleen de vereiste elementen op de webpagina gebruikt die nodig zijn om de App Installer te gebruiken voor het installeren van een Windows 10-app.
Neem de volgende HTML-code op uw webpagina op. De sleutel tot het succesvol aanroepen van App Installer is om het aangepaste schema te gebruiken dat App Installer registreert bij het besturingssysteem: ms-appinstaller:?source=. Zie het onderstaande codevoorbeeld voor meer informatie.
Opmerking
Zorg ervoor dat het URL-pad dat is opgegeven nadat het aangepaste schema overeenkomt met de Project-URL op het webtabblad van uw VS-oplossing.
<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>
Stap 7: Configureer de webapp voor MIME-typen van het apppakket
Open het bestandWeb.config vanuit Solution Explorer en voeg de volgende regels toe binnen het <configuration> element.
<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>
Opmerking
Op de nieuwste Microsoft-webtechnologie .NET Core. Website gebouwd met behulp van .NET Core ASP negeert web.config statische inhoud mimeMap. Als gevolg hiervan moet u een juiste configuratie hebben van de .NET Core-website die uw MSIX-installatie zal hosten. U moet de Configure-methode wijzigen in het bestand Startup.cs. Ga naar de .NET Core-documentatie voor meer informatie.
Stap 8: Een loopback-uitzondering voor app-installatieprogramma toevoegen
Vanwege netwerkisolatie zijn Windows 10-apps zoals App Installer beperkt tot het gebruik van IP-loopback-adressen, zoals http://localhost/. Wanneer u lokale IIS-server gebruikt, moet het app-installatieprogramma worden toegevoegd aan de uitgesloten lijst voor loopbacks.
Hiervoor opent u de opdrachtprompt als beheerder en voert u het volgende in:
CheckNetIsolation.exe LoopbackExempt -a -n=microsoft.desktopappinstaller_8wekyb3d8bbwe
Als u wilt controleren of de app is toegevoegd aan de lijst met uitzonderingen, gebruikt u de volgende opdracht om de apps weer te geven in de uitzonderingslijst voor loopbacks:
CheckNetIsolation.exe LoopbackExempt -s
Je zou microsoft.desktopappinstaller_8wekyb3d8bbwe in de lijst moeten vinden.
Zodra de lokale validatie van de app-installatie via het app-installatieprogramma is voltooid, kunt u de loopback-uitzondering verwijderen die u in deze stap hebt toegevoegd:
CheckNetIsolation.exe LoopbackExempt -d -n=microsoft.desktopappinstaller_8wekyb3d8bbwe
Stap 9: de web-app uitvoeren
Bouw en voer de webtoepassing uit door te klikken op de knop Uitvoeren op het VS-lint, zoals wordt weergegeven in de onderstaande afbeelding:
Er wordt een webpagina geopend in uw browser:
Klik op de koppeling op de webpagina om de App Installer-app te starten en uw Windows 10-app-pakket te installeren.
Problemen oplossen
Onvoldoende bevoegdheden
Als het uitvoeren van de web-app in Visual Studio een fout weergeeft, zoals 'U beschikt niet over voldoende bevoegdheden voor toegang tot IIS-websites op uw computer', moet u Visual Studio uitvoeren als beheerder. Sluit het huidige exemplaar van Visual Studio en open het opnieuw als beheerder.
Startpagina instellen
Als het uitvoeren van de web-app ervoor zorgt dat de browser wordt geladen met een HTTP 403.14 - Verboden fout, komt dit doordat de web-app geen gedefinieerde startpagina heeft. Raadpleeg stap 6 in deze zelfstudie voor meer informatie over het definiëren van een startpagina.