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.
Windows Uygulama SDK'sı dağıtmanın iki yolu vardır:
- Framework'e bağımlı. Uygulamanız, hedef makinede mevcut olan Windows Uygulama SDK'sı çalışma zamanına ve/veya Framework paketine bağlıdır. Çerçeveye bağımlı dağıtım, makine kaynaklarının verimli kullanımı ve hizmet verilebilirliği için Windows Uygulama SDK'sı varsayılan dağıtım modudur.
- Bağımsız. Uygulamanız Windows Uygulama SDK'sı bağımlılıklarını taşır ve hedef makinede ayrı bir çalışma zamanı yüklemesi gereksinimini ortadan kaldırır.
Bu konu başlığında, paketlenmiş uygulama, dış konum ile paketlenmiş uygulamave paketlenmemiş uygulama terimleri de kullanılır. Bu terimlerin açıklamaları için bkz. Dağıtım genel bakışı.
| Çerçeveye bağımlı dağıtım | Bağımsız dağıtım | |
|---|---|---|
| Avantajları |
Küçük dağıtım. Yalnızca uygulamanız ve diğer bağımlılıkları dağıtılır. Windows Uygulama SDK'sı çalışma zamanı ve Çerçeve paketi, paketlenmiş çerçeve bağımlı uygulamalar tarafından veya dış konumla paketlenmiş veya paketlenmemiş çerçeveye bağımlı uygulamalar tarafından Windows Uygulama SDK'sı çalışma zamanı yükleyicisinin bir parçası olarak otomatik olarak yüklenir. Kullanılabilir. Windows Uygulama SDK'sı hizmet güncelleştirmeleri, uygulamanın herhangi bir eylemi gerekmeden Windows Uygulama SDK'sı Framework paketi aracılığıyla otomatik olarak yüklenir. |
Control Windows Uygulama SDK'sı sürümü. Uygulamanızla Windows Uygulama SDK'sı hangi sürümünün dağıtılacağı sizin denetiminizdedir. Windows Uygulama SDK'sı hizmet güncelleştirmeleri, uygulamanızı yeniden oluşturup yeniden dağıtmadığınız sürece etkilemez. diğer uygulamalardan yalıtılmış. Uygulamalar ve kullanıcılar, uygulamanızın tamamını kaldırmadan Windows Uygulama SDK'sı bağımlılığınızı kaldıramaz. Xcopy dağıtım. Windows Uygulama SDK'sı bağımlılıkları uygulamanız tarafından taşındığından, ek bir yükleme gereksinimi olmaksızın derleme çıktınızı 'xcopy' komutuyla kopyalayarak uygulamanızı dağıtabilirsiniz. |
| Dezavantajları |
ek yükleme bağımlılıkları. Uygulama yüklemesine karmaşıklık katabilen Windows Uygulama SDK'sı çalışma zamanının ve/veya Framework paketinin yüklenmesini gerektirir. Paylaşılan bağımlılıklar. Paylaşılan bağımlılıkların kaldırılması riski. Paylaşılan bileşenleri kaldıran uygulamalar veya kullanıcılar, bağımlılığı paylaşan diğer uygulamaların kullanıcı deneyimini etkileyebilir. uyumluluk riski. Windows Uygulama SDK'sı bakım güncellemelerinin uyumluluk sorunlarına yol açan değişiklikleri beraberinde getirmesi riski. Hizmet güncellemeleri geriye dönük uyumluluk sağlamalıdır, ancak regresyonlar ortaya çıkabilir. |
Daha büyük dağıtımlar (yalnızca paketlenmemiş uygulamalar). Uygulamanız Windows Uygulama SDK'sı içerdiğinden, gereken indirme boyutu ve sabit sürücü alanı çerçeveye bağımlı bir sürüm için geçerli olandan daha büyüktür. Uygulama Performansı (yalnızca paketlenmemiş uygulamalar için),. Daha yavaş yüklenir ve kod sayfaları diğer uygulamalarla paylaşılmadığından daha fazla bellek kullanır. Onarılamaz. Uygulamanızla dağıtılan Windows Uygulama SDK'sı sürümü yalnızca uygulamanızın yeni bir sürümü yayınlanarak güncelleştirilebilir. Windows Uygulama SDK'sı hizmet güncelleştirmelerini uygulamanızla tümleştirmek sizin sorumluluğunuzdadır. |
Ayrıca bkz. İlk WinUI 3 projenizi oluşturma ve Windows Uygulama SDK'sı'yi mevcut bir projede kullanma.
Uyarı
PublishSingleFile (tek dosyalı EXE),paketlenmemiş, bağımsız WinUI 3 uygulamaları (Windows Uygulama SDK'sı 1.5 ve üzeri) için desteklenir. Paketlenmiş uygulamalar ve çerçeveye bağımlı uygulamalar PublishSingleFile öğesini desteklemez. Gerekli MSBuild özellikleri için bkz. Tek dosyalı EXE .
Çerçeveye bağımlı dağıtım hakkında daha fazla bilgi
Çerçeveye bağımlı uygulamanızı dağıtım için yapılandırmadan önce uygulamanızın Windows Uygulama SDK'sı kullanırken aldığı bağımlılıklar hakkında daha fazla bilgi edinmek için Windows Uygulama SDK'sı için
Paketlenmiş uygulamalar
Çerçeveye bağımlı paketlenmiş bir uygulamayla gitmeyi seçtiyseniz (bkz. Deployment overview), Windows Uygulama SDK'sı çalışma zamanını uygulamayla nasıl dağıtacağınıza dair yönergeler aşağıda verilmiştir.
- Çerçeveye bağımlı paketlenmiş uygulamalar için Windows Uygulama SDK'sı dağıtım kılavuzu
- MSIX dağıtımını yönetme
Dış konum veya paketlenmemiş uygulamalar ile birlikte paketlenmiş
Çerçeveye bağımlı paketlenmiş bir uygulamayı dış konumda veya çerçeveye bağımlı paketlenmemiş bir uygulamayı seçtiyseniz (bkz. Dağıtıma genel bakış), uygulamayla birlikte Windows Uygulama SDK'sı çalışma zamanını dağıtma yönergeleri şunlardır:
- `Harici konumla veya paketlenmemiş olan, çerçeveye bağımlı uygulamalar için Windows Uygulama SDK'sı dağıtım kılavuzu`
Öğretici: Harici konum ile paketlenmiş veya Windows Uygulama SDK'sı kullanan paketlenmemiş bir uygulamada önyükleyici API'sini kullanın
Bağımsız dağıtım hakkında daha fazla bilgi
Bağımsız uygulamalar için bkz.
Uyarı
PublishSingleFile (tek dosyalı EXE), uygulamanın hem paketten çıkarılmış hem de bağımsız olmasını gerektirir. Gerekli MSBuild özelliklerinin tam listesi için bkz. Tek dosyalı EXE .
Windows Uygulama SDK'sı başlatma
Windows Uygulama SDK'sı başlatma yöntemi, uygulamanızı nasıl paketleyip paketlemediğinize ve Windows Uygulama SDK'sı çalışma zamanına göre dağıtma yönteminize bağlıdır. Uygulamanız için geçerli olan aşağıdaki bölümü kullanın.
Paketlenmiş uygulamalar
| Uygulamanız nasıl dağıtılır? | Nasıl başlatılır |
|---|---|
| Çerçeveye bağımlı | Şuna bakın: Dağıtım API'siniçağırın. |
| Bağımsız | Başlatma gerekmez. |
Paketlenmemiş uygulamalar ve dış konumla paketlenmiş uygulamalar
| Uygulamanız nasıl dağıtılır? | Nasıl başlatılır |
|---|---|
| Çerçeveye bağımlı | Bkz. Dış bir konuma paketlenmiş veya paketlenmemiş bir uygulamada önyükleyici API'sini kullanma. |
| Bağımsız | Bkz. Otomatik UndockedRegFreeWinRT desteğine dahil olmayı veya olmamayı seçme. |
Mimariyle ilgili dikkat edilmesi gerekenler (x64, ARM64)
Uygulamanızı dağıtırken, kullanıcılarınızın ihtiyaç duyduğu her işlemci mimarisi için ikili dosyalar eklemeniz gerekir. Bu, hem çerçeveye bağımlı hem de bağımsız dağıtım modları için geçerlidir.
ARM64 desteği
ARM cihazlarında (Surface Pro X, Surface Pro 11 ve Copilot+ PCs dahil) Windows ARM64'ü yerel olarak çalıştırır. x64 öykünmesi Windows 11 ARM64 cihazlarında kullanılabilse de, yerel ARM64 ikili dosyaları daha iyi performans ve pil ömrü sağlar ve Copilot+ PCs cihaz içi yapay zeka iş yükleri için en iyi deneyimi elde etmek istediğinizde önerilir.
Yerel ARM64 dağıtımı
MSIX paketleri — Hem
.msixbundlehem dex64mimarileri içeren birARM64oluşturun. Visual Studio, birden çok platform için derleme yaptığınızda bunları otomatik olarak oluşturur. Mağaza ve Uygulama Yükleyicisi yükleme zamanında doğru mimariyi seçer.Bağımsız yayımlama — Her mimari için çalışma zamanı tanımlayıcısını (RID) belirtin:
dotnet publish -c Release -r win-x64 --self-contained true dotnet publish -c Release -r win-arm64 --self-contained trueC++/WinRT — Visual Studio çözümünüzde ve
x64içinARM64ayrı yapılandırmalar oluşturun.Çerçeveye bağımlı uygulamalar — Windows Uygulama SDK'sı çalışma zamanı yükleyicisini kullanırken, mimariye özgü doğru yükleyiciyi sağladığından emin olun. Windows Uygulama SDK'sı x64 ve ARM64 için ayrı yükleyiciler ile birlikte sunulur.
Arm64EC — büyük C/C++ kod temelleri için aşamalı geçiş
Uygulamanızın büyük bir yerel (C/C++) kod tabanı varsa ARM64'e tam yeniden derleme tek bir adımda pratik olmayabilir. Arm64EC (Öykünme Uyumlu), x64 ve ARM64 kodunu aynı işlemde karıştırmanıza olanak tanır. Performans açısından kritik modülleri ARM64 için yerel olarak yeniden derler, kalan x64 modüllerini ise tek bir ikili dosya içinde öykünme altında çalıştırırsınız.
| Approach | En iyi kullanım alanları | Ödünleşme |
|---|---|---|
| ARM64 için tam yeniden derleme | Saf .NET uygulamaları, küçük C++ projeleri | En iyi performans; tüm bağımlılıkların ARM64 uyumlu olmasını gerektirir |
| Arm64EC | Büyük C/C++ uygulamaları, yalnızca x64 eklentileri olan uygulamalar veya üçüncü taraf DLL'leri | Aşamalı geçiş; öykünen bölümler yerel olarak çalışan bölümlerden daha yavaş çalışır |
| Yalnızca x64 (öykünmüş) | Yeniden derlenemeyen ve en yüksek performansa ihtiyaç duymayan uygulamalar | Basit; ARM64 cihazlarında daha az pil ömrü ve daha yüksek gecikme süresi |
Daha fazla bilgi için bkz. Arm64EC — Arm üzerinde yerel performans için uygulamaları derleme ve taşıma.
Öykünme (Prizma)
ARM'de Windows 11, ARM64 donanımında x64 ve x86 uygulamalarını çalıştırmak için Prism adlı bir öykünme katmanı kullanır. Prism, x86/x64 yönergelerini çalışma zamanında ARM64'e çevirerek yeniden derleme gerektirmeden geniş uygulama uyumluluğu sağlar.
- x64 öykünmesi — Yalnızca Windows 11 ARM64 cihazlarında kullanılabilir (ARM'de Windows 10 kullanılamaz).
- x86 öykünmesi — Hem Windows 10 hem de Windows 11 ARM64 cihazlarında kullanılabilir.
- Performans — Öykünmüş uygulamalar genellikle üretkenlik iş yükleri için kabul edilebilir bir performansla çalışır, ancak grafik yoğunluklu veya yoğun işlem yoğunluklu uygulamalar, yerel ARM64 veya Arm64EC derlemesinden önemli ölçüde yararlanıyor.
Tavsiye
Yalnızca x64'i hedeflediyseniz uygulamanız yine de Prism öykünmesi aracılığıyla ARM64 cihazlarında çalışır (yalnızca Windows 11). Ancak üretim uygulamaları için yerel ARM64 derlemeleri kesinlikle önerilir; öykünmüş uygulamalar daha fazla pil kullanır ve daha yüksek gecikme süresine sahiptir. Copilot+ PCs yerel ARM64, cihaz içi yapay zeka iş yükleri için en iyi performansı sağlayabilir.
Mağaza gönderileri için mimariye özgü paketleri veya her ikisini de içeren bir paketi karşıya yükleyin. Mağaza, her cihaza yalnızca eşleşen mimariyi sunar.
İlgili konular
- Dağıtıma genel bakış
- Windows Uygulama SDK'sı için Dağıtım mimarisi
- Çerçeveye bağımlı paketlenmiş uygulamalar için Windows Uygulama SDK'sı dağıtım kılavuzu
- MSIX dağıtımını yönetme
- `Harici konumla veya paketlenmemiş olan, çerçeveye bağımlı uygulamalar için Windows Uygulama SDK'sı dağıtım kılavuzu`
Öğretici: Harici konum ile paketlenmiş veya Windows Uygulama SDK'sı kullanan paketlenmemiş bir uygulamada önyükleyici API'sini kullanın - Bağımsız uygulamalar için Windows Uygulama SDK'sı dağıtım kılavuzu
- İlk WinUI projenizi oluşturma
- Var olan bir projede Windows Uygulama SDK'sı kullanın
Windows developer