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.
MSIX ondersteunt vier pakkettypen: Main, Framework, Resource en Optional. MSIX biedt ook ondersteuning voor bundelpakketten, die distributiecontainers zijn voor een of meer MSIX-pakketten.
Een pakkettype definieert een combinatie van uitrol-, afhankelijkheids-, uitvoerings- en onderhoudsgedrag. Sommige gedragingen zijn inherent aan het type, terwijl een manifestdeclaratie andere standaardinstellingen kan overschrijven.
| Type | Primair doel | manifest- of identiteitsindicator |
|---|---|---|
| Hoofd | Primair pakket voor een applicatie | Geen declaratie voor een ander pakkettype |
| Framework | Gedeelde bibliotheken, onderdelen of runtime-inhoud | <Framework>true</Framework> |
| Resource | Taal-, schaal- of kwalificeerderspecifieke bronnen | <ResourcePackage>true</ResourcePackage> |
| Optioneel | Aanvullende inhoud die is gekoppeld aan één hoofdpakket | <uap3:MainPackageDependency> |
| Bundel | Distributiecontainer voor meerdere MSIX-pakketten | Bundelmanifest en een ResourceId waarde van ~ |
Hoofdpakketten
Een Main-pakket vertegenwoordigt het primaire pakket voor een toepassing. Het kan toepassingen, mogelijkheden, afhankelijkheden, extensies en out-of-process-servers declareren.
Het manifest bevat geen expliciete Main-package-markering. Een pakket is een hoofdpakket wanneer het zichzelf niet als een ander pakkettype definieert.
Framework-pakketten
Een Framework-pakket biedt gedeelde bibliotheken, onderdelen, resources of andere runtime-inhoud. Andere pakketten of processen voegen het Framework-pakket toe aan hun pakketgrafiek voordat de inhoud ervan wordt geladen.
Framework-pakketten bieden ondersteuning voor versies naast elkaar, zodat toepassingen onafhankelijk van elkaar kunnen overstappen op nieuwere versies. Een pakket declareert dit type door het manifestelement Framework in te stellen op true.
Zie De dynamische afhankelijkheids-API gebruiken voor informatie over het gebruik van Framework-pakketten van verpakte en uitgepakte processen.
Resourcepakketten
Een resourcepakket houdt taal-, weergaveschaal- of andere kwalificatiespecifieke resources gescheiden van een hoofd- of optioneel pakket. Windows installeert alleen de resourcepakketten die van toepassing zijn op een apparaat of gebruiker.
Resourcepakketten mogen standaard niet worden uitgevoerd. Een pakket kan deze standaardwaarde overschrijven met uap6:AllowExecution. Een pakket declareert het resourcetype door ResourcePackage in te stellen op true.
Optionele pakketten
Een optioneel pakket bevat aanvullende inhoud voor een specifiek hoofdpakket. Een toepassing kan bijvoorbeeld downloadbare kaarten, assets met hoge resolutie of optionele hulpprogramma's in afzonderlijke pakketten plaatsen.
In tegenstelling tot een Framework-pakket is een optioneel pakket gekoppeld aan één hoofdpakketfamilie. Het declareert die relatie via uap3:MainPackageDependency.
Zie Optionele pakketten en gerelateerde sets voor vereisten voor het ontwerpen en gerelateerde sets.
Bundelpakketten
Een MSIX-bundel (.msixbundle) bevat een of meer MSIX-pakketten. Een bundel biedt één distributieartefact, terwijl Windows alleen de architectuur en resourcepakketten kan installeren die van toepassing zijn op het doelapparaat.
Alle pakketten in een bundel behoren tot dezelfde pakketfamilie. Een bundel is een container in plaats van een vijfde implementeerbaar pakkettype.
Pakkettypen in code identificeren
De klasse Windows.ApplicationModel.Package stelt eigenschappen beschikbaar waarmee een pakkettype wordt geïdentificeerd:
static string GetPackageType(Windows.ApplicationModel.Package package)
{
if (package.IsBundle)
{
return "Bundle";
}
if (package.IsFramework)
{
return "Framework";
}
if (package.IsResourcePackage)
{
return "Resource";
}
if (package.IsOptional)
{
return "Optional";
}
return "Main";
}
Pakkettypen identificeren met PowerShell
Standaard worden door Get-AppxPackage Main- en Framework-pakketten geretourneerd. Gebruik -PackageTypeFilter om andere typen toe te voegen:
Get-AppxPackage -PackageTypeFilter Main,Framework,Resource,Optional,Bundle |
Select-Object Name, PackageFullName, IsFramework, IsResourcePackage, IsBundle
Het uitvoerobject stelt geen eigenschap IsOptional beschikbaar. Gebruik het filter om optionele pakketten op te nemen en hun manifest- of pakketrelatie te inspecteren wanneer u deze moet onderscheiden.