Aracılığıyla paylaş


Çerçeveye bağımlı uygulamalar için dağıtım mimarisi ve genel bakış

Bu makalede, Windows Uygulama SDK'sı dağıtımının üst düzey mimarisi açıklanmaktadır. Aşağıdaki kavramlar öncelikli olarak Windows Uygulama SDK'sı çerçevesine bağımlı uygulamalar için geçerlidir. Çerçeveye bağımlı bir uygulama, hedef makinede Windows Uygulama SDK'sı çalışma zamanının mevcut olmasına bağlıdır.

Çerçeveye bağımlı bir uygulamayı dağıtmak için iki ana seçenek vardır:

Uygulama dağıtım yöntemi Gereksinimler
Paketlenmiş - Paket bildiriminde Framework paketine bağımlılığı bildirmesi gerekir.
- Microsoft Store dağıtılmış uygulamaları için dağıtım API'si gereklidir ve çalışma zamanı bağımlılıklarının yüklendiğinden emin olmak için Mağaza dışı dağıtılmış uygulamalar için önerilir.
Harici konumla paketlenmiş veya paketlenmemiş - Yükleyici kullanarak veya gerekli MSIX paketlerini doğrudan yükleyerek çalışma zamanını dağıtması gerekir.
- Ek çalışma zamanı gereksinimleri: Bootstrap API'sini kullanarak Windows Uygulama SDK'sı çalışma zamanına erişimi başlatması gerekir.

Bu gereksinimler hakkında daha fazla ayrıntı için aşağıdaki makalelere bakın:

Önemli terimler

Aşağıdaki bölümlerde Windows Uygulama SDK'sı dağıtımı için önemli terimler ve bu paketlerden bazılarıyla ilgili ek ayrıntılar tanımlanmıştır.

Süre Tanım
Windows Uygulama SDK çalışma zamanı Bir uygulamanın Windows Uygulama SDK'sını kullanması için gereken MSIX paketleri. Bu paketler şunlardır: Framework, Main, Singleton ve DDLM. Kullanılan özelliklere ve uygulama dağıtım yönteminize bağlı olarak, hedef makinede bu paketlerin belirli bir kümesine ihtiyacınız olacaktır.
Framework paketi Uygulamalar tarafından çalışma zamanında kullanılan ikili dosyaları içerir (çoğu Windows Uygulama SDK'sı özelliği). Çerçeve, uygulamaların windows uygulama SDK'sının en son sürümünü otomatik olarak yüklemesini sağlayan bir önyükleyici bileşeni içerir ve bu bileşen normal bir sürüm temposunun üzerinde güncelleştirilecektir.
Ana paket Dinamik bağımlılıkları izlemek için arka plan görevleri içeren ve Microsoft Store'dan Framework paketine otomatik güncelleştirmeler sağlayan paket.
Singleton paketi Çerçeve paketine dahil olmayan arka plan görevlerini, hizmetleri, uygulama uzantılarını ve Anında İletme Bildirimleri gibi diğer bileşenleri içerir. Bu genellikle uygulamalar arasında aracılık yapılan uzun süre çalışan tek bir işlemdir.
Dinamik Bağımlılık Yaşam Süresi Yöneticisi (DDLM) paketi İşletim sistemi, harici konumla paketlenmiş veya paketlenmemiş bir uygulama kullanılırken MSIX paketlerinde bakım güncelleştirmeleri yapmasını engeller.
Önyükleyici Dış konumla paketlenmiş ve paketlenmemiş uygulamalar tarafından uygulamanın gerektirdiği en iyi Windows Uygulama SDK'sı sürümü eşleşmesini bulup yüklemek için kullanılan bir uygulama yerel ikili dosyası.
Hizmet Sağlama Diğer kullanıcılar tarafından tekrarlanan yükleme gereksinimini ortadan kaldırmak için sistem genelinde paketleri (dosyalar ve kayıt defteri anahtarları dahil) yükleme ve kaydetme işlemi. bu işlem işletim sisteminin bir parçası olarak veya bir uygulamanın yüklenmesi sırasında gerçekleştirilebilir.
Yükleyici Framework, Main, Singleton ve DDLM paketlerini dağıtan .exe yükleyicisine başvurur.
MSIX Kullanıcıların doğrudan Microsoft Store'dan veya bir web sitesinden kullanıcı başına güvenli bir şekilde uygulama yüklemesini sağlayan modern yükleyici teknolojisi. Kurumsal veya paylaşılan bilgisayarlarda uygulamalar PowerShell ve MDM aracılığıyla tüm kullanıcılar için yüklenebilir.

Çerçeve paketi

Windows Uygulama SDK'sını kullanan bir uygulama oluşturduğunuzda, uygulamanız bir çerçeve paketi aracılığıyla son kullanıcılara dağıtılan bir dizi Windows Uygulama SDK çalışma zamanı bileşenine başvurur. Çerçeve paketi, uygulamaların Windows Uygulama SDK'sı bileşenlerine uygulama paketine paketlemek yerine kullanıcının cihazında tek bir paylaşılan kaynak üzerinden erişmesine olanak tanır. Çerçeve paketi, DLL'ler ve API tanımları (COM ve Windows Çalışma Zamanı kayıtları) gibi kendi kaynaklarını da taşır. Bu kaynaklar uygulamanızın bağlamında çalıştırıldığından uygulamanızın özelliklerini ve ayrıcalıklarını devralır ve kendilerine ait herhangi bir özellik veya ayrıcalık onaylamaz. Çerçeve paketi bağımlılıkları hakkında daha fazla bilgi için bkz. MSIX çerçeve paketleri ve dinamik bağımlılıklar.

Windows Uygulama SDK'sı çerçeve paketi, Microsoft Store aracılığıyla son kullanıcılara dağıtılan bir MSIX paketidir. Güvenlik ve güvenilirlik düzeltmeleri içerebilen hizmet sürümleriyle kolayca ve hızlı bir şekilde güncelleştirilebilir. Aşağıdaki diyagramda gösterildiği gibi, Windows Uygulama SDK'sını kullanan tüm çerçeveye bağımlı uygulamalar, çerçeve paketinin paylaşılan bir örneğine bağımlıdır.

Uygulamaların Windows Uygulama SDK'sı çerçeve paketine erişme şekli diyagramı

Windows Uygulama SDK'sı çerçeve paketinin yeni bir sürümüne hizmet verildiğinde, çerçeveye bağımlı tüm uygulamalar bir kopyayı yeniden dağıtmak zorunda kalmadan yeni sürüme güncelleştirilir. Windows, yayımlandıkları sırada çerçevelerin en yeni sürümüne güncelleştirilir ve uygulamalar yeniden başlatma sırasında otomatik olarak en son çerçeve paketi sürümüne başvurur. Eski çerçeve paketi sürümleri, artık çalışmayan veya sistemdeki uygulamalar tarafından etkin bir şekilde kullanılana kadar sistemden kaldırılmaz.

Uygulamaların Windows Uygulama SDK'sı çerçeve paketi güncelleştirmelerini nasıl edineceklerini gösteren diyagram

Uygulama uyumluluğu Microsoft ve Windows Uygulama SDK'sına bağlı uygulamalar için önemli olduğundan, Windows Uygulama SDK'sı çerçeve paketi AnlamSal Sürüm Oluşturma 2.0.0 kurallarını izler. Bu, Windows Uygulama SDK'sının 1.0 sürümünü kullanıma sunduğumuzda, Windows Uygulama SDK'sı çerçeve paketinin ikincil ve düzeltme eki sürümü değişiklikleri arasındaki uyumluluğu garanti edeceği ve hataya neden olan değişikliklerin yalnızca ana sürüm güncelleştirmeleri arasında gerçekleşeceği anlamına gelir.

Singleton paketi

Singleton paketi, uzun süre çalışan tek bir işlemin birden çok uygulamada kullanılan ve Windows Uygulama SDK'sının farklı sürümlerinde çalışıyor olabilecek hizmetleri işleyebilmesini sağlar.

20H1'in altındaki Windows sürümlerini kullanarak paketlenmemiş uygulamalar ve paketlenmiş Win32 uygulamaları için anında iletme bildirimleri etkinleştirmek için Windows Uygulama SDK'sı singleton gereklidir; bu, mevcut UWP PushNotificationTrigger ve ToastNotificationActionTrigger sınıfı tarafından desteklenemez. Çerçeve paketi tarafından desteklenmeyen gelecekteki Windows Uygulama SDK'sı özellikleri Singleton paketine eklenir.

Paketlenmemiş uygulamalar için ek gereksinimler

Önyükleyici

Önyükleyici, harici konumda veya paketlenmemiş bir uygulamayla birlikte paketinizde bulunması gereken bir kütüphanedir. Önyükleyici API'sini sağlar (bkz. Windows Uygulama SDK'sı çalışma zamanını, dış konum veya paketlenmemişile paketlenmiş uygulamalar için kullanma), bu da paketlenmemiş uygulamaların şu önemli görevleri gerçekleştirmesini sağlar.

  • Windows Uygulama SDK'sı çerçeve paketi için Dinamik Bağımlılık Yaşam Süresi Yöneticisi'ni (DDLM) başlatın.
  • Windows Uygulama SDK'sı çerçeve paketini bulun ve uygulamanın paket grafiğine yükleyin.

Nuget paketi, bu görevleri gerçekleştirmek için otomatik başlatıcılardan yararlanarak önyükleyiciyi sizin için bağlamanızı sağlar. Proje dosyanızda ayarlamanız <WindowsPackageType>None</WindowsPackageType> yeterlidir. Gelişmiş senaryolarda başlatma üzerinde denetim sahibi olmak istiyorsanız önyükleyici API'sini doğrudan uygulamanızın başlangıç kodunda çağırabilirsiniz (bkz . Öğretici: Dış konumla paketlenmiş veya Windows Uygulama SDK'sını kullanan paketlenmemiş bir uygulamada önyükleyici API'sini kullanma), böylece paketlenmemiş uygulama için sistemi düzgün bir şekilde başlatabilir. Uygulamanızın WinUI, Uygulama yaşam döngüsü, MRT Core ve DWriteCore gibi Windows Uygulama SDK'sı özelliklerini kullanabilmesi için önyükleyici API'sini kullanması gerekir.

Windows Uygulama SDK 1.0 sürümündeki önyükleyici kitaplığı şunları içerir:

  • Microsoft.WindowsAppRuntime.Bootstrap.dll (C++ ve C#)
  • Microsoft.WindowsAppRuntime.Bootstrap.Net.dll (C# sarmalayıcı)

Dinamik Bağımlılık Yaşam Süresi Yöneticisi (DDLM)

DDLM'nin amacı, paketlenmemiş bir uygulama tarafından kullanılırken Windows Uygulama SDK'sı çerçeve paketinin hizmet vermesini önlemektir. Bu işlevi sağlamak için uygulamanın başlangıcında önyükleyici tarafından başlatılması gereken bir sunucu içerir.

Windows Uygulama SDK'sı çerçeve paketinin her sürümü ve mimarisi için bir DDLM vardır. Bu, bir x64 bilgisayarda her iki mimarinin uygulamalarını desteklemek için DDLM'nin hem bir x86 sürümüne hem de sürümüne x64 sahip olabileceğiniz anlamına gelir.

Ek gereksinimler