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.
Belangrijk
Als u uw app naar de Store wilt verzenden, neemt u contact op met de ondersteuning van Windows-ontwikkelaars en krijgt u goedkeuring voor het gebruik van assetpakketten.
Assetpakketten zijn een type pakket dat fungeert als een gecentraliseerde locatie voor de algemene bestanden van een toepassing, waardoor dubbele bestanden in de architectuurpakketten niet meer nodig zijn. Assetpakketten zijn vergelijkbaar met resourcepakketten omdat ze beide zijn ontworpen om statische inhoud te bevatten die nodig is om uw app uit te voeren, maar anders in dat alle assetpakketten altijd worden gedownload, ongeacht de systeemarchitectuur, taal of weergaveschaal van de gebruiker.
Omdat assetpakketten alle architectuur-, taal- en schaalagnostische bestanden bevatten, resulteert het gebruik van assetpakketten in een gereduceerde totale verpakte app-grootte (omdat deze bestanden niet meer worden gedupliceerd), zodat u het gebruik van de schijfruimte voor lokale ontwikkeling voor grote apps kunt beheren en de pakketten van uw app in het algemeen kunt beheren.
Hoe zijn assetpakketten van invloed op publicatie?
Het meest voor de hand liggende voordeel van assetpakketten is de verminderde grootte van verpakte apps. Kleinere app-pakketten versnellen het publicatieproces van de app door de Store minder bestanden te laten verwerken; dit is echter niet het belangrijkste voordeel van assetpakketten.
Wanneer een assetpakket wordt gemaakt, kunt u opgeven of het pakket mag worden uitgevoerd. Omdat assetpakketten alleen architectuuragnostische bestanden moeten bevatten, bevatten ze over het algemeen geen .dll- of .exe-bestanden, dus voor assetpakketten hoeft u meestal niet uit te voeren. Het belang van dit onderscheid is dat tijdens het publicatieproces alle uitvoerbare pakketten moeten worden gescand om ervoor te zorgen dat ze geen malware bevatten en dat dit scanproces langer duurt voor grotere pakketten. Als een pakket echter is aangewezen als niet-uitvoerbaar bestand, zorgt de installatie van de app ervoor dat bestanden in dit pakket niet kunnen worden uitgevoerd. Deze garantie elimineert de noodzaak van een volledige pakketscan en vermindert de malwarescantijd tijdens de publicatie van de app (en ook voor updates), waardoor het publiceren aanzienlijk sneller wordt voor apps die assetpakketten gebruiken. Houd er rekening mee dat platte bundel-app-pakketten ook moeten worden gebruikt om dit publicatievoordeel te krijgen, omdat dit de Store in staat stelt om elk .appx- of MSIX-pakketbestand parallel te verwerken.
Zou ik asset pakketten gebruiken?
Het bijwerken van de bestandsstructuur van uw app om gebruik te maken van assetpakketten kan tastbare voordelen opleveren: verminderde pakketgrootte en slankere iteraties voor ontwikkeling. Als uw architectuurpakketten allemaal aanzienlijke hoeveelheid bestanden gemeen bevatten of als het grootste deel van uw app bestaat uit niet-uitgevoerde bestanden, wordt het ten zeerste aanbevolen dat u de extra tijd investeert om te converteren naar het gebruik van assetpakketten.
Het moet echter voorzichtig zijn dat assetpakketten geen middel zijn om app-inhoud optioneel te maken. Assetpakketbestanden zijn niet optioneel en worden altijd gedownload, ongeacht de architectuur, taal of schaal van het doelapparaat. Optionele inhoud die uw app moet ondersteunen, moet worden geïmplementeerd met optionele pakketten.
Hoe een assetpakket te maken
De eenvoudigste manier om assetpakketten te maken, is door gebruik te maken van de verpakkingsstructuur. Assetpakketten kunnen echter ook handmatig worden gemaakt met behulp van MakeAppx.exe. Als u wilt opgeven welke bestanden moeten worden opgenomen in het assetpakket, moet u een toewijzingsbestand maken. In dit voorbeeld is het enige bestand in het assetpakket 'Video.mp4', maar alle bestanden van het assetpakket moeten hier worden vermeld. Houd er rekening mee dat de ResourceDimensions aanduiding in ResourceMetadata wordt weggelaten voor asset pakketten (ten opzichte van een toewijzingsbestand voor resourcepakketten).
[ResourceMetadata]
"ResourceId" "Videos"
[Files]
"Video.mp4" "Video.mp4"
Gebruik een van deze opdrachten om het assetpakket te maken met behulp van MakeAppx.exe (voor MSIX en .appx).
MakeAppx.exe pack /r /m AppxManifest.xml /f MappingFile.txt /p Videos.appx
MakeAppx.exe pack /r /m AppxManifest.xml /f MappingFile.txt /p Videos.msix
Hier moet worden opgemerkt dat alle bestanden waarnaar wordt verwezen in het AppxManifest (de logobestanden) niet kunnen worden verplaatst naar assetpakketten. Deze bestanden moeten worden gedupliceerd in architectuurpakketten.
Assetpakketten mogen ook geen resources.pri bevatten; MRT kan niet worden gebruikt voor toegang tot assetpakketbestanden. Zie Ontwikkelen met assetpakketten en pakketvouwen voor meer informatie over het openen van assetpakketbestanden en waarom het nodig is dat uw app voor assetpakketten op een NTFS-schijf wordt geïnstalleerd.
Als u wilt bepalen of een assetpakket mag worden uitgevoerd of niet, kunt u uap6:AllowExecution gebruiken in het element Properties van het AppxManifest. U moet ook uap6 toevoegen aan het element Package op het hoogste niveau om het volgende te worden:
<Package IgnorableNamespaces="uap uap6"
xmlns:uap6="http://schemas.microsoft.com/appx/manifest/uap/windows10/6"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10">
Als niet gespecificeerd, is de standaardwaarde voor AllowExecutionTrue. Stel deze waarde in op False voor pakketten met middelen zonder uitvoerbare bestanden om het publiceren sneller te maken.