Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Windows Uygulama SDK'sı dağıtımının üst düzey mimarisi açıklanmaktadır. Aşağıdaki kavramlar öncelikle çerçeveye bağımlı Windows Uygulama SDK'sı uygulamalar için geçerlidir. Çerçeveye bağımlı bir uygulama, hedef makinede mevcut olan Windows Uygulama SDK'sı çalışma zamanı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ının çalışma zamanına erişimi başlatmak gerekir. |
Bu gereksinimler hakkında daha fazla ayrıntı için aşağıdaki makalelere bakın:
- Çerçeveye bağımlı paketlenmiş uygulamalar için Windows Uygulama SDK'sı dağıtım kılavuzu
- `Harici konumla veya paketlenmemiş olan, çerçeveye bağımlı uygulamalar için Windows Uygulama SDK'sı dağıtım kılavuzu`
Önemli terimler
Aşağıdaki bölümlerde Windows Uygulama SDK'sı dağıtımı için temel terimler ve bu paketlerden bazılarıyla ilgili ek ayrıntılar tanımlanmıştır.
| Süre | Tanım |
|---|---|
| Windows Uygulama SDK'sı çalışma zamanı | Bir uygulamanın Windows Uygulama SDK'sı 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ın çalışma zamanında kullandığı ikili dosyaları içerir (çoğu Windows Uygulama SDK'sı özellikleri). Çerçeve, uygulamaların Windows Uygulama SDK'sı'nin en son sürümünü otomatik olarak yüklemesini sağlayan bir önyükleyici bileşeni içerir ve bu SDK düzenli aralıklarla güncellenir. |
| 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 | Paketlenmiş uygulamalarla ve harici konum veya paketlenmemiş uygulamalarla birlikte kullanılan, 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. |
| Hizmet Sağlama | Makinedeki herhangi bir kullanıcının, makine başına hazırlamanın tekrarlanması gerekmeden bunları kaydedebilmesi ve kullanabilmesi için sistem genelinde paket hazırlama işlemi. Sağlama, işletim sistemi görüntüsünün bir parçası olarak veya kurumsal uygulama dağıtımı 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ı kullanan bir uygulama oluşturduğunuzda, uygulamanız framework paketi aracılığıyla son kullanıcılara dağıtılan bir dizi Windows Uygulama SDK'sı çalışma zamanı bileşenine başvurur. Çerçeve paketi, uygulamaların Windows Uygulama SDK'sı bileşenlerine, bunları uygulama paketine dâhil etmek yerine, kullanıcının cihazındaki tek bir paylaşılan kaynak üzerinden erişim sağlamasına 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ı kullanan tüm çerçeveye bağımlı uygulamalar, çerçeve paketinin paylaşılan bir örneğine bağımlıdır.
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.
Uygulama uyumluluğu Microsoft ve Windows Uygulama SDK'sı bağımlı uygulamalar için önemli olduğundan, Windows Uygulama SDK'sı çerçeve paketi Semantic Versioning 2.0.0 kurallarını izler. Bu, Windows Uygulama SDK'sı sürüm 1.0'ı yayınladıktan sonra, 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ı farklı sürümlerinde çalışıyor olabilecek hizmetleri işleyebilmesini sağlar.
paketlenmemiş uygulamalar ve 20H1'in altındaki Windows sürümleri kullanarak paketlenmiş Win32 uygulamaları için push bildirimlerini etkinleştirmek için Windows Uygulama SDK'sı singleton gereklidir, mevcut UWP PushNotificationTrigger ve ToastNotificationActionTrigger sınıfları tarafından desteklenemez. Çerçeve paketi tarafından desteklenmeyen gelecekteki Windows Uygulama SDK'sı özellikleri Singleton paketine eklenecektir.
Paketlenmemiş uygulamalar için ek gereksinimler
Önyükleyici
Önyükleyici, harici konumda veya paketlenmemiş bir uygulamayla birlikte paketinizde bulunması gereken bir kütüphanedir. Paketlenmemiş uygulamaların bu önemli görevleri gerçekleştirmesini sağlayan önyükleyici API'sini sağlar (bakınız Windows Uygulama SDK'sı çalışma zamanını dış konumdaki veya paketlenmemiş uygulamalarla kullanma):
- 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.
Bu görevleri gerçekleştirmek için NuGet paketi, önyükleyiciyi sizin için otomatik olarak başlatmak amacıyla auto-initializers kullanır. project dosyanızda <WindowsPackageType>None</WindowsPackageType> ayarlamanız 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. Tutorial: Önyükleyici API'sini dış konumla paketlenmiş veya Windows Uygulama SDK'sı kullanan paketlenmemiş bir uygulamada kullanın; böylece paketlenmemiş uygulama için sistemi düzgün bir şekilde başlatabilir. Uygulamanızın WinUI 3, Uygulama yaşam döngüsü, MRT Core ve DWriteCore gibi Windows Uygulama SDK'sı özellikleri kullanabilmesi için önyükleyici API'sini kullanması gerekir.
Windows Uygulama SDK'sı 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
- Paketlenmiş uygulamalar için VCLibs çerçevesi paket bağımlılığı bir gereksinimdir. Daha fazla bilgi için bkz. Desktop Bridgeiçin C++ Çalışma Zamanı çerçeve paketleri.
- Paketlenmemiş uygulamalar için Visual C++ Yeniden Dağıtılabilir bir gereksinimdir. Daha fazla bilgi için bkz. Microsoft Visual C++ Yeniden Dağıtılabilir paketinin en son desteklenen indirmeleri.
- C#. .NET çalışma zamanı için bkz. İndir .NET.
MSIX dağıtım işlem hattı
Bir makineye MSIX paketi eklediğinizde, dağıtım altyapısı isteği üç aşamada işler:
| Stage | Scope | Ne olur? |
|---|---|---|
| Dizin | Makine başına | Paket bildirimini ayrıştırır ve meta verileri ve hedeflenen yükleme yolunu kaydeder |
| Aşama | Makine başına | Paket dizinini oluşturur, yükü ayıklar ve ACL'leri uygular |
| Kaydolmak | Kullanıcı başına | Hazırlanan paketi belirli bir kullanıcıyla ilişkilendirir; Başlat menüsü girişleri, dosya türü ilişkilendirmeleri ve çalışma zamanı verileri oluşturur |
Hazırlama, makine başına bir kez gerçekleştirilir; kayıt kullanıcı başınadır. Bu ayrım, bir paketin başkalarını etkilemeden bir kullanıcının kullanımına sunulmasını (veya kaldırılmasını) sağlar.
Note
Yükleme terimi resmi değildir; MSIX dağıtım altyapısında resmi bir kavram değildir. Dağıtım istekleri API'yi PackageManager kullanarak işlemleri (Ekle, Aşama, Kaydet, Kaldır vb.) dağıtım kuyruğuna gönderir. Tam açıklama için Inside MSIX blogundaki Yükleme yok – 'Stage' ve 'Register' bölümüne bakın.
İlgili konular
- Çerçeveye bağımlı paketlenmiş uygulamalar için Windows Uygulama SDK'sı dağıtım kılavuzu
- `Harici konumla veya paketlenmemiş olan, çerçeveye bağımlı uygulamalar için Windows Uygulama SDK'sı dağıtım kılavuzu`
- MSIX'in içinde blogu — MSIX mühendislik ekibinin MSIX mimarisi, paket kimliği, dağıtım işlemleri ve daha fazlası hakkında ayrıntılı bilgi
- MSIX nedir?
- Windows uygulamalarını paketleme, dağıtma ve sorgulama sorunlarını giderme
- Yayın kanalları ve sürüm notları
Windows developer