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.
Op deze pagina wordt alles behandeld dat nodig is om een toepassing te verpakken om gebruik te maken van Win32-app-isolatie.
Belangrijk
Deze functie is in preview: Sommige informatie heeft betrekking op een prereleaseproduct dat aanzienlijk kan worden gewijzigd voordat deze commercieel wordt uitgebracht. Microsoft geeft geen garanties, uitdrukkelijk of impliciet, met betrekking tot de informatie die hier wordt verstrekt.
Voorwaarden
Het volgende is vereist voor het verpakken van een toepassing in een geïsoleerde Win32-app:
- Visual Studio versie 17.10.2 of hoger
Stap 1: installeer de vereiste workloads in Visual Studio, inclusief Windows 11 SDK 10.0.26100.0 (of hoger)
Open het installatieprogramma van Visual Studio en wijzig de bestaande installatie. Schakel op het tabblad Workloads het selectievakje ontwikkeling van Windows-toepassingen in (en schakel desgewenst het selectievakje ontwikkelhulpprogramma's voor WinUI-apps in voor ontwikkeling in C++). De Windows 11 SDK 10.0.26100.0 (of hoger) is ook vereist.
Stap 2: uw app-project maken
Maak in Visual Studio een nieuw C# of C++-project met behulp van de sjabloon Lege app, verpakt met Windows Application Packaging Project (WinUI 3 in Desktop). Klik op maken en selecteer vervolgens 10.0.26100.0 (of hoger) voor Target Platform Versie (TPV) en Target Platform Minimum Versie (TPMinV).
Stap 3: Installeer Microsoft.Windows.SDK.BuildTools versie 10.0.26100.1742 of hoger met NuGet
Ga naar Project -> NuGet-pakketten beheren om Microsoft.Windows.SDK.BuildTools versie 10.0.26100.1 (of hoger) te installeren.
Stap 4: de packaging.appxmanifest- en projectbestanden bewerken
In het manifestbestand moeten de volgende wijzigingen worden aangebracht:
Opmerking: Geïsoleerde Win32-toepassingen zijn niet compatibel met andere toepassingstypen binnen hetzelfde pakket.
Voeg
xmlns:uap18="http://schemas.microsoft.com/appx/manifest/uap/windows10/18"toe aan het<Package>-element als dit nog niet is gebeurd.- Voeg
uap18toe aanIgnorableNamespacesaan het einde van het<Package>element.
- Voeg
In
<Dependencies>, wijzigTargetDeviceFamilynaar<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.26100.0" MaxVersionTested="10.0.26226.0" />.Notitie
Niet alle functies zijn beschikbaar in de minimale build, bekijk de releaseopmerkingen voor meer gedetailleerde informatie. Bovendien kunnen de volgende manifestwijzigingen ervoor zorgen dat de app een geïsoleerde app wordt, maar deze kan blijven worden uitgevoerd als een Win32-app in besturingssystemen waar win32-app-isolatie niet wordt ondersteund.
Vervang in
<Application>alle bestaande entrypoints/trustlevels/runtimebehaviors doorEntryPoint="Windows.FullTrustApplication"uap18:EntryPoint="Isolated.App"uap18:TrustLevel="appContainer" uap18:RuntimeBehavior="appSilo".Verwijder in
<Application>-extensies alleEntryPoints=*ofExecutable=*, aangezien deze van de bovenliggende<Application>zijn overgenomen.Voeg
desktop7:Scope="user"toe aan het extensie-element voorwindows.protocol.Notitie
Visual Studio voegt standaard automatisch
<rescap:Capability name="runFullTrust">toe aan<Capabilities>omdat de app een verpakte Win32-app is. Dit moet worden verwijderd, tenzij de app andere manifestextensies heeft die van invloed kunnen zijn op de globale status van de gebruiker, zoalscomServerofFirewallRules, omdat deze derunFullTrustmogelijkheid vereisen.
- Voeg
<AppxOSMaxVersionTestedReplaceManifestVersion>false</AppxOSMaxVersionTestedReplaceManifestVersion>toe aan het wapproj-bestand, direct na de versieregels van het doelplatform
Stap 5: App-pakketten bouwen en publiceren
Bouw de Visual Studio-oplossing.
Publiceer het app-pakket met behulp van de wizard App-pakketten maken....
Na het publiceren van de app-pakketten toont de uitvoerlocatie de hoofdmap waarin het MSIX-pakket per versie wordt gepubliceerd. Open de versiemap om het Install.ps1-bestand te vinden voor het installeren van de app.