MSIX paket türleri

MSIX dört paket türünü destekler: Main, Framework, Resource ve Optional. MSIX, bir veya daha fazla MSIX paketi için dağıtım kapsayıcıları olan Bundle paketlerini de destekler.

Paket türü dağıtım, bağımlılık, yürütme ve bakım davranışının bir bileşimini tanımlar. Bir manifest bildirimi diğer varsayılanları geçersiz kılabilirken bazı davranışlar türün doğasındadır.

Türü Birincil amaç Manifest veya kimlik göstergesi
Ana Menü Bir uygulama için birincil paket Başka bir paket türü için beyan yok
Çerçeve Paylaşılan kitaplıklar, bileşenler veya çalışma zamanı içeriği <Framework>true</Framework>
Kaynak dil-, ölçek- veya niteleyiciye özgü kaynaklar <ResourcePackage>true</ResourcePackage>
Optional Bir Ana paketle ilişkilendirilmiş ek içerik <uap3:MainPackageDependency>
Görev Demeti Birden çok MSIX paketi için dağıtım kapsayıcısı Paket bildirimi ve ~ değerine sahip ResourceId

Ana paketler

Ana paket, bir uygulamanın birincil paketini temsil eder. Uygulamaları, yetenekleri, bağımlılıkları, uzantıları ve işlem dışı sunucuları bildirebilir.

Manifest, açık bir Main-package işaretçisi içermiyor. Paket, kendisini başka bir paket türü olarak bildirmediğinde bir Ana pakettir.

Çerçeve paketleri

Çerçeve paketi paylaşılan kitaplıklar, bileşenler, kaynaklar veya diğer çalışma zamanı içeriği sağlar. Diğer paketler veya işlemler, içeriğini yüklemeden önce Framework paketini paket graflarına ekler.

Çerçeve paketleri yan yana sürümleri destekler, böylece uygulamalar bağımsız olarak daha yeni sürümlere geçebilir. Paket, Framework bildirim öğesini trueolarak ayarlayarak bu türü bildirir.

Paketlenmiş ve paketlenmemiş işlemlerden Framework paketlerini kullanma hakkında bilgi için bkz. Dinamik bağımlılık API'sini kullanma.

Kaynak paketleri

Bir Kaynak paketi, dile, görüntü ölçeğine veya diğer niteleyicilere özgü kaynakları Ana veya İsteğe Bağlı paketten ayırır. Windows yalnızca bir cihaz veya kullanıcıya uygulanan kaynak paketlerini yükler.

Kaynak paketleri varsayılan olarak yürütmeye izin vermez. Bir paket uap6:AllowExecution ile bu varsayılanı geçersiz kılabilir. Bir paket, ResourcePackage öğesini true olarak ayarlayarak Kaynak türünü bildirir.

İsteğe bağlı paketler

İsteğe bağlı paket, belirli bir Ana paket için ek içerik içerir. Örneğin, bir uygulama indirilebilir haritalar, yüksek çözünürlüklü varlıklar veya isteğe bağlı araçları ayrı paketlere koyabilir.

Framework paketinin aksine, İsteğe bağlı paket tek bir Ana paket ailesi ile ilişkilendirilir. Bu ilişkiyi uap3:MainPackageDependency aracılığıyla bildirir.

İçerik oluşturma ve ilgili küme gereksinimleri için bkz. İsteğe bağlı paketler ve ilgili küme oluşturma.

Paketleri bir araya getirme

MSIX paketi paketi (.msixbundle) bir veya daha fazla MSIX paketi içerir. Paket, tek bir dağıtım yapıtı sağlarken Windows'un yalnızca hedef cihaza uygun mimari ve kaynak paketlerini yüklemesine olanak tanır.

Paketteki tüm paketler aynı paket ailesine aittir. Bundle, beşinci bir dağıtılabilir paket türü değil, bir kapsayıcıdır.

Koddaki paket türlerini tanımlama

Windows. ApplicationModel.Package sınıfı, bir paket türünü tanımlayan özellikleri kullanıma sunar:

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";
}

PowerShell ile paket türlerini tanımlama

Varsayılan olarak, Get-AppxPackage Main ve Framework paketlerini döndürür. Diğer türleri eklemek için -PackageTypeFilter kullanın:

Get-AppxPackage -PackageTypeFilter Main,Framework,Resource,Optional,Bundle |
    Select-Object Name, PackageFullName, IsFramework, IsResourcePackage, IsBundle

Çıkış nesnesi bir IsOptional özelliği kullanıma sunmaz. İsteğe bağlı paketleri dahil etmek için filtreyi kullanın ve bunları ayırt etmeniz gerektiğinde manifest veya paket ilişkilerini inceleyin.