Platte bundel-app-pakketten

Belangrijk

Deze functie is bedoeld voor de implementatie van bedrijfs-apps en wordt niet ondersteund voor apps die naar de Store worden verzonden.

Platte bundels zijn een verbeterde manier om de pakketbestanden van uw app te bundelen. Een typisch Windows app-bundelbestand maakt gebruik van een pakketstructuur met meerdere niveaus waarin de app-pakketbestanden moeten worden opgenomen in de bundel. Platte bundels verwijderen dit nodig door alleen te verwijzen naar de app-pakketbestanden, zodat ze zich buiten de app-bundel bevinden. Omdat de app-pakketbestanden niet meer in de bundel zijn opgenomen, kunnen ze parallel worden verwerkt, wat resulteert in een kortere uploadtijd, snellere publicatie (omdat elk app-pakketbestand tegelijkertijd kan worden verwerkt) en uiteindelijk snellere iteraties voor ontwikkeling.

Vlakbundeldiagram

Een ander voordeel van platte bundels is de noodzaak om minder pakketten te maken. Omdat er alleen naar app-pakketbestanden wordt verwezen, kunnen twee versies van de app verwijzen naar hetzelfde pakketbestand als het pakket niet is gewijzigd in de twee versies. Hiermee kunt u alleen de app-pakketten maken die zijn gewijzigd bij het bouwen van de pakketten voor de volgende versie van uw app. Standaard verwijzen de platte bundels naar app-pakketbestanden in dezelfde map als zichzelf. Deze verwijzing kan echter worden gewijzigd in andere paden (relatieve paden, netwerklocaties en HTTP-locaties). Hiervoor moet u rechtstreeks een BundleManifest opgeven tijdens het maken van de platte bundel.

Een platte bundel maken

Een platte bundel kan worden gemaakt met behulp van het hulpprogramma MakeAppx.exe of met behulp van de verpakkingsindeling om de structuur van uw bundel te definiëren.

MakeAppx.exe gebruiken

Als u een platte bundel wilt maken met behulp van MakeAppx.exe, gebruikt u de opdracht 'MakeAppx.exe bundel' zoals gebruikelijk, maar met de schakeloptie /fb om het bundelbestand voor platte apps te genereren (wat zeer klein is omdat deze alleen verwijst naar de app-pakketbestanden en geen werkelijke nettoladingen bevat).

Hier volgt een voorbeeld van de syntaxis van de opdracht:

MakeAppx bundle [options] /d <content directory> /fb /p <output flat bundle name>

Zie Een app-pakket maken met het hulpprogramma MakeAppx.exe voor meer informatie over het gebruik van MakeAppx.exe.

Verpakkingsindeling gebruiken

U kunt ook een platte bundel maken met behulp van de verpakkingsindeling. Hiervoor stelt u het kenmerk FlatBundle in op true in het PackageFamily-element van uw app-bundelmanifest. Zie Pakket maken met de verpakkingsindeling voor meer informatie over de verpakkingsindeling.

Een platte bundel implementeren

Voordat een platte bundel kan worden geïmplementeerd, moeten alle app-pakketten (naast de app-bundel) worden ondertekend met hetzelfde certificaat. Dit komt doordat alle app-pakketbestanden (.appx/.msix) nu onafhankelijke bestanden zijn en zich niet meer in het app-bundelbestand (.appxbundle/.msixbundle) bevinden.

Nadat de pakketten zijn ondertekend, kunt u de app installeren via een van de volgende opties:

  • Dubbelklik op het app-bundelbestand dat u wilt installeren met app-installatieprogramma.
  • Gebruik de Add-AppxPackage cmdlet in PowerShell en wijs naar het app-bundelbestand (ervan uitgaande dat de app-pakketten zich bevinden waar de app-bundel ze verwacht).

U kunt de afzonderlijke .appx/.msix-pakketten van een platte bundel niet zelf implementeren. Ze moeten worden geïmplementeerd via de .appxbundle/.msixbundle. U kunt echter afzonderlijke .appx/.msix-pakketten van een platte bundel bijwerken na de eerste installatie. Als u een afzonderlijk .appx/.msix-pakket bijwerkt, moet u ook het manifest van de platte bundel bijwerken.

Als uw v1-flatbundel bijvoorbeeld bestaat uit een .msixbundle, een x86 .msix, een x64 .msix en een asset .msix, en u weet dat uw v2-bundel alleen wijzigingen heeft in het assetpakket, hoeft u alleen de .msixbundle en de asset .msix te bouwen om de update te kunnen installeren. U moet de .msixbundle voor v2 bouwen omdat de bundel alle versies van de .msix-pakketten bijhoudt. Door de versie van de asset .msix naar v2 te stoten, hebt u een nieuwe .msixbundle nodig die deze nieuwe verwijzing bevat. De v2 .msixbundle kan verwijzingen bevatten naar de v1 x86 .msix en x64 .msix; de .msix-pakketten van een platte bundel hoeven niet hetzelfde versienummer te hebben.