Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Pakettillägg expanderar apptilläggsmodellen genom att tillåta bredare innehållsdelning mellan paket. En pakettilläggsvärd kan acceptera tillägg från alla paket, vilket gör det lämpligt för utökningsscenarier på plattformsnivå.
Note
Pakettillägg kräver Windows 11 och använder uap17 namnområdet. En tidigare kompatibel metod finns i Apptillägg som använder uap3.
Pakettillägg vs. app tillägg
| Feature | Apptillägg (uap3) |
Pakettillägg (uap17) |
|---|---|---|
| Lägsta operativsystem | Windows 10 1607 | Windows 11 |
| Scope | Per applikation | Per paket |
| Innehållsdelning | Endast gemensam mapp | Fullständig innehållsåtkomst för paket |
| Manifestnamnområde | uap3:AppExtension |
uap17:PackageExtension |
Deklarera en värd för pakettillägg
Lägg till en PackageExtensionHost deklaration i värdappens manifest:
<Package xmlns:uap17="http://schemas.microsoft.com/appx/manifest/uap/windows10/17" ...>
<Applications>
<Application ...>
<Extensions>
<uap17:Extension Category="windows.packageExtensionHost">
<uap17:PackageExtensionHost>
<uap17:Name>com.example.myplatform.extensions</uap17:Name>
</uap17:PackageExtensionHost>
</uap17:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Deklarera ett pakettillägg
I tilläggspaketets manifest:
<Package xmlns:uap17="http://schemas.microsoft.com/appx/manifest/uap/windows10/17" ...>
<Applications>
<Application ...>
<Extensions>
<uap17:Extension Category="windows.packageExtension">
<uap17:PackageExtension Name="com.example.myplatform.extensions"
Id="MyExtension"
DisplayName="My Extension"
Description="Adds features to the platform">
<uap17:Properties>
<ExtensionType>content</ExtensionType>
<Version>1.0</Version>
</uap17:Properties>
</uap17:PackageExtension>
</uap17:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Identifiera pakettillägg
Använd samma AppExtensionCatalog-API för att identifiera pakettillägg vid körning. Värdnamnet matchar det Name deklarerade i manifestet:
var catalog = AppExtensionCatalog.Open("com.example.myplatform.extensions");
var extensions = await catalog.FindAllAsync();
foreach (var ext in extensions)
{
System.Diagnostics.Debug.WriteLine(
$"Found extension: {ext.DisplayName} ({ext.Id})");
// Read custom properties
var properties = await ext.GetExtensionPropertiesAsync();
// Access properties as needed
}
Metodtips
- Använd en namngivningskonvention för omvänd domän för tilläggsnamn (till exempel
com.company.app.extensions). - Version ditt tilläggsprotokoll så att värdappar kan hantera gamla och nya tilläggsformat.
- Verifiera tilläggsinnehåll innan du använder det – tillägg kommer från andra paket och bör inte vara blint betrodda.
Relaterat innehåll
Windows developer