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.
Uygulamanızın Windows'a nasıl yüklendiğini, güncellendiğini ve entegre edildiğini paketleme belirler. WinUI 3 uygulamaları varsayılan olarak paketlenirken geleneksel Win32 uygulamaları gibi birçok masaüstü uygulaması paketlenmemiş olarak çalışır. Paketlenmiş veya paketlenmemiş bir uygulama arasında seçim, kullanabileceğiniz özellikleri, kullandığınız dağıtım modelini ve müşterilerinizin aldığı genel deneyimi etkiler.
Uyarı
Yeni bir WinUI 3 uygulaması mı oluşturuyorsunuz? Varsayılan olarak zaten paketlenmiş durumdasınız. Aşağıdaki kılavuz, genellikle mevcut bir uygulamayı taşıma, kurumsal makinelere dağıtma veya başlangıçta paketlenmiş olmayan bir uygulamaya Windows özellikleri ekleme gibi açık bir seçim yapması gereken geliştiricilere yöneliktir.
Uygulama paketleme neden önemlidir?
Paketlenmiş uygulamalar temiz bir yükleme modelinden, otomatik güncelleştirmelerden ve arka plan görevleri, bildirimler, bağlam menüsü uzantıları, paylaşım hedefleri ve diğer genişletilebilirlik noktaları gibi paket kimliği gerektiren Windows özelliklere erişim sağlar. Paketleme ayrıca Microsoft Store ve kurumsal dağıtım araçları gibi kanallar aracılığıyla daha temiz dağıtımlar, güvenilir güncelleştirmeler ve kolaylaştırılmış dağıtım sağlamaya da yardımcı olur.
Paket kimliği gerektiren özellikler
Bu Windows özellikleri, yalnızca tam MSIX paketlemesi veya dış konum kullanarak paketleme (Seyrek paketleme) yoluyla paket kimliğine sahip uygulamalarda çalışır.
| Özellik | Açıklama |
|---|---|
| Arka plan görevleri | Uygulamanız ön planda olmadığında kod çalıştırın; örneğin, verileri eşitlemek, indirmeleri işlemek veya sistem olaylarını yanıtlamak için. |
| Windows AI API'leri (Phi Silica, OCR vb.) | Yerel dil modelleri, metin tanıma ve görüntü analizi gibi cihaz içi yapay zeka özelliklerine erişin. |
| Anlık bildirimler (WNS) | Windows Bildirim Hizmeti aracılığıyla bulut hizmetinizden gerçek zamanlı bildirimler alın. |
| Hedefi paylaşma | Kullanıcıların sistem Paylaşım sayfası aracılığıyla diğer uygulamalardan doğrudan sizinkilerle içerik paylaşmasına izin verin. |
| Özel bağlam menüsü uzantıları | Uygulamanızın eylemlerini Dosya Gezgini'ndeki sağ tıklama menüsüne ve diğer kabuk yüzeylerine ekleyin. |
| Dosya türü ve protokol ilişkilendirmeleri | Uygulamanızı belirli dosya türleri veya URI protokolleri için işleyici olarak kaydedin (ör. yourapp://). |
| Başlangıç görevleri | Kullanıcı Windows oturum açtığında uygulamanızı otomatik olarak başlatın. |
| Uygulama hizmetleri | Diğer uygulamaların arayabileceği arka plan hizmetlerini kullanıma sunarak uygulamalar arası iletişimi etkinleştirme. |
Tip
Paketi açtıysanız ve Windows API'leri çağırırken E_ILLEGAL_METHOD_CALL veya APPMODEL_ERROR_NO_PACKAGE hatalarıyla karşılarsanız, paket kimliği gereksinimi de bu olur. En düşük sürtünmeli çözüm olarak dış konumlu (Seyrek paketleme) paketleme işlemine bakın.
Daha fazla bilgi için bkz. Paket kimliği gerektiren özellikler.
Bir bakışta paketleme modelleri
| Model | Paket kimliği | Yükleyici | Uygun mağaza | En iyi kullanım alanı: |
|---|---|---|---|---|
| Paketlenmiş (MSIX) | ✅ Evet | MSIX yükleyicinin yerini aldı | ✅ Evet (MSIX gönderimi) | Yeni uygulamalar, Mağaza yayımlama, kurumsal MDM |
| Dış konumlu paketleme | ✅ Evet | Mevcut yükleyiciniz | ✅ Evet (MSI/EXE gönderimi) | Kendi yükleyicisi olan mevcut uygulamalar, ISV'ler |
| Ambalajsız | ❌ Hayır | MSI veya EXE yükleyicisi (ayrıca: Mağaza dışı dağıtım için XCopy veya betik) | ✅ Evet (MSI/EXE gönderimi — sessiz yükleme desteğine sahip bir MSI veya EXE yükleyicisi gerektirir) | Geniş Win32 dağıtımı, iç araçlar |
Paketlenmiş uygulamalar (MSIX)
Paketlenmiş uygulamalar MSIX kullanır ve, birçok Windows genişletilebilirlik noktası için gerekli olan paket kimliğine sahiptir. Paket kimliği, Windows platform API'lerinin çağıranı güvenilir bir şekilde tanımlamasını sağlar. Bu nedenle bu özellikler buna bağlıdır.
- Paketlenmiş uygulamalar genellikle dosya sistemi ve kayıt defteri sanallaştırması ile basit bir uygulama kapsayıcısında çalışır (bkz. Eski uygulamalar için AppContainer ve MSIX AppContainer uygulamaları).
- Uygulamalar gerekirse bir uygulama kapsayıcısında çalıştırılmayacak şekilde de yapılandırılabilir.
- MSIX hem paketleme hem de yükleme için kullanılır (bkz. MSIX nedir?).
Dış konumlu paketleme (Seyrek paketleme)
Dış konumla paketleme ( seyrek paketler olarak da adlandırılır), yükleyicinizi, ikili konumlarınızı veya güncelleştirme işleminizi değiştirmeden mevcut uygulamanızın yanına küçük bir kimlik paketi kaydetmenizi sağlar. Windows 10 sürüm 2004(derleme 19041) ile kullanıma sunulmuştur.
Bu, kendi yükleyicisi (NSIS, WiX, InstallShield vb.) aracılığıyla gelen ve MSIX ile değiştirmek istemeyen mevcut Win32/WPF/WinForms uygulamaları için harika bir noktadır. Hafif bir kimlik paketi kaydedersiniz, ikili dosyalarınız oldukları yerde kalır ve paket kimliğiyle sınırlandırılmış Windows özelliklerinin tamamının kilidini açarsınız.
| Kapasite | MSIX | Dış konum |
|---|---|---|
| Yükleyicinizin yerini alır | Evet | Hayır |
| Paketin içindeki ikili dosyalar | Evet | Hayır (dış) |
| Uygun mağaza | Evet (MSIX gönderimi) | Evet (MSI/EXE gönderimi) |
| Paket kimliği | Evet | Evet |
| Güncelleştirme mekanizması | MSIX güncelleştirmesi | Mevcut mekanizmanız |
→ Tam izlenecek yol: Dış konumla paketleyerek paket kimliği verme
Paketlenmemiş uygulamalar
Paketlenmemiş uygulamalar MSIX kullanmaz ve paket kimliğine sahip değildir; bu da yukarıda listelenen özelliklere erişemeyecekleri anlamına gelir.
- API yüzeyi erişimi, dosya sistemi erişimi, kayıt defteri erişimi, yükseltme ve işlem modeli açısından tamamen sınırsızdır.
- Yükleme ve güncelleştirmeler , ,
.exeözel yükleyicileri, ClickOnce veya xcopy dağıtımlarını gerektirir.msi.
Paketi kaldırmayı taahhüt etmeden önce yukarıdaki özellikler tablosunu yol haritanızla karşılaştırın. Bildirimler, arka plan görevleri veya yapay zeka API'leri ufuktaysa paketlenmiş olarak başlamayı göz önünde bulundurun.
Senaryoya göre seçme
| Scenario | Önerilen model | Ayrıntılar |
|---|---|---|
| Microsoft Store'a yayın yapan bağımsız geliştirici | Paketlenmiş (MSIX) önerilir | MSIX tercih edilen yöntemdir; Mağaza tarafından yönetilen güncelleştirmeleri, değişiklik indirmelerini ve temiz kaldırmayı etkinleştirir. WinUI 3 uygulamaları varsayılan olarak paketlenir. Kod imzalama, Mağaza tarafından ücretsiz olarak işlenir. → Paketlenmiş uygulamanızı dağıtma Mevcut MSI veya EXE yükleyicisine sahip Win32 uygulamaları MSI/EXE gönderim yolu aracılığıyla Da Store'da yayımlayabilir, ancak Mağaza güncelleştirmeleri mevcut kullanıcılara göndermez; güncelleştirmeler uygulama veya yükleyici tarafından işlenmelidir. |
| Intune veya Yapılandırma Yöneticisi aracılığıyla dağıtılan Kurumsal uygulama | Mevcut yükleyiciler için paketlenmiş veya harici konum | Yeni uygulamalar MSIX kullanmalıdır. Mevcut uygulamalar, kendi yükleyicileri ile harici konum kullanarak paketleme yapabilir. Code signing: kendi kendine imzalanmış bir sertifika (Intune, Grup İlkesi veya Yapılandırma Yöneticisi aracılığıyla güven sağlanan) veya Azure Artifact Signing (eski adıyla Güvenilir İmzalama) kullanın. → Paketlenmiş uygulamaları dağıtma |
| ISV, kendi yükleyicisi ile doğrudan indirme sunuyor | Dış konumla paketleme | Mevcut yükleyicinizle birlikte basit bir kimlik paketi kaydedin.
Kod imzalama: Depolama dışı dağıtım için CA'ya güvenilen bir sertifika gereklidir.
Azure Yapıt İmzalama (eski adıyla Güvenilir İmzalama) önerilen düşük maliyetli seçenektir. → Paket kimliği verme Alternatif olarak, MSI/EXE gönderim yolu aracılığıyla mevcut yükleyicinizi Mağaza'ya gönderin. |
| İç araç veya geliştirici yardımcı programı | Ambalajsız | İnşa etmek ve yayımlamak en kolay olanıdır. Windows Uygulama SDK'sı NuGet aracılığıyla çalışır, ancak bazı özellikler kullanılamaz. |
Tip
Kod imzalama maliyetlerinden emin değil misiniz? Microsoft Store aracılığıyla MSIX paketi yayımlamak, son kullanıcı güveni için ayrı olarak sertifika almanıza veya yönetmenize gerek olmadığı anlamına gelir — Microsoft paketi yeniden imzalar. Mağaza aracılığıyla bir Win32 MSI/EXE yükleyicisi yayımlamak için, Microsoft Güvenilen Kök Programı'na bağlı bir sertifika zincirlemesi gereklidir; kendi imzaladığınız sertifikalar kabul edilmez. Diğer dağıtım yollarında, imzalama yaklaşımınız dağıtım bağlamını temel alır; kurumsal ortamlar cihaz yönetimi aracılığıyla otomatik olarak imzalanan bir sertifikaya güvenebilirken, Depolama dışı daha geniş bir dağıtım için genellikle CA'ya güvenilen bir kod imzalama çözümü gerekir. Azure Yapıt İmzalama (eski adı Güvenilir İmzalama), donanım belirteci gerektirmez ve Microsoft'un önerdiği seçenektir (bkz. fiyatlandırma).
Çerçeveye bağımlı ve bağımsız dağıtım karşılaştırması
Paketleme modelinden ayrı olarak, Windows Uygulama SDK'sı kullanan uygulamalar çalışma zamanı bağımlılıklarını nasıl taşıyacaklarını seçer:
- Framework'e bağımlı: Windows Uygulama SDK'sı çalışma zamanı kullanıcının makinesine yüklenmelidir. Daha küçük uygulama ayak izi; var olan veya otomatik yüklenen çalışma zamanını kullanır.
- Self-contained: Tüm Windows Uygulama SDK'sı ikili dosyaları uygulamanızla birlikte sevk edilir. Daha büyük kapsama alanı; dış çalışma ortamı gereksinimi yok. Kilitli kurumsal ortamlar için uygundur.
→ Bağımsız uygulamalar dağıtma
MSIX ile Başlamaya Başlayın
Bir Win32 masaüstü uygulaması (bazen classic masaüstü uygulaması olarak adlandırılır) veya Windows Presentation Foundation (WPF) ve Windows Forms (WinForms) gibi bir .NET uygulaması oluşturursanız, UYGULAMANıZı MSIX kullanarak paketleyip dağıtabilirsiniz.
- Var olan bir yükleyiciden MSIX paketi oluşturma
- Kaynak kodundan MSIX paketi oluşturma
- MSIX dağıtımını yönet
Diğer yükleme teknolojileri
- Uygulama yükleme ve bakım
- Windows Installer
- .NET uygulama yayımlamaya genel bakış
- .NET Framework ve uygulamalarını dağıtma
- WPF uygulamasını dağıtma
- Windows Forms için ClickOnce Dağıtımı
İlgili içerik
Windows developer