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 konu başlığı altında aşağıdakilere ilişkin seçenekleriniz ele alınmaktadır:
- Uygulamanız için hangi paketleme seçeneğinin kullanılacağı (paketlenmiş, dış konumla paketlenmiş veya paketlenmemiş).
- Uygulamanızı nasıl dağıtacağınızı/dağıtabileceğinizi ve nasıl yükleneceğini öğrenin.
- Uygulamanızın çalışma zamanı süreci; buna ne kadar yalıtılmış olacağı ve hangi API'lerin kullanımına sunulacağı da dahildir.
Bu kararları hem yeni hem de mevcut uygulamalar için alabilirsiniz. Ancak hala yeni bir uygulamanın planlama aşamasındaysanız, yukarıdaki konuları düşünmeye başlamadan önce uygulamanız için hangi geliştirme platformu ve kullanıcı arabirimi (UI) çerçevesini kullanacağınıza karar verin. Bu karar için bkz. Windows geliştirme seçeneklerine genel bakış.
Paketleme seçenekleri: paketlenmiş, dış konumla paketlenmiş veya paketlenmemiş
Uygulamanız için hangi paketleme seçeneğinin kullanılacağına ilişkin karar ilk olarak paket kimliği olarak bilinen bir kavram tarafından belirlenir. Birçok Windows genişletilebilirlik özelliği (arka plan görevleri, arka plan teslimi veya COM etkinleştirmesi kullanan anında iletme bildirimi senaryoları, özel bağlam menüsü uzantıları ve paylaşım hedefleri) yalnızca uygulamanın çalışma zamanında paket kimliğine sahip olması durumunda kullanılabilir, çünkü işletim sisteminin (OS) ilgili API'nin çağıranı tanımlayabilmesi gerekir. Yalnızca paketlenmiş uygulamalar ( dış konumla paketlenmiş uygulamalar dahil) paket kimliğine sahiptir.
Paketlenmiş, dış konumla paketlenmiş ve paketlenmemiş modellerin tam açıklaması ve bunlar arasında nasıl seçim yapılacağını öğrenmek için bkz. Paketlemeye genel bakış. Paket kimliğine bağlı özellikler için bkz. Paket kimliği gerektiren özellikler.
Uygulamanızı paketlenmiş veya paketlenmemiş olarak yapılandırma hakkında bilgi için:
-
WinUI 3 uygulamaları (Windows Uygulama SDK'sı).
AppxPackageiçindeki Visual Studio project özelliğine bakın ve bkz. İlk WinUI (Windows Uygulama SDK'sı) project oluşturma. - Masaüstü uygulamaları. Bkz. MSIX paketlemesi için masaüstü uygulamanızı ayarlama.
- Evrensel Windows Platformu (UWP) uygulamaları. UWP uygulamaları zaten paketlenmiş olarak yapılandırılmıştır; ve bu yapılandırma değiştirilemez.
Ayrıca bu konunun Windows Paket Yöneticisi ve WinGet istemcisi bölümüne bakın.
Dağıtım/kurulum/yükleme
Paketlenmiş bir uygulama, MSIX kullanılarak hem paketlenmiş hem de yüklenmiştir. Dış konumla paketlemeyi seçerseniz bu bir "kendi yükleyicinizi getir" modelidir, dolayısıyla yükleyici işini kendiniz yapmaya devam edebilirsiniz (bkz. Dış konumla paketle paket kimliği verme). Paketlenmemiş bir uygulama MSIX içermez.
MSIX kullanıcılarınıza temiz bir yükleme, kaldırma ve güncelleştirme deneyimi sunduğundan, artımlı ve otomatik güncelleştirmeleri desteklediğinden, Microsoft Store tarafından iyileştirildiğinden, Azure Sanal Masaüstü için MSIX uygulamasıyla çalıştığından ve imzalandığında güçlü kurcalama önleme avantajlarından yararlandığından paketleme önemlidir.
Dağıtım ve dağıtım kılavuzu için Bkz. Paketle ve dağıta genel bakış ve Dağıtım yolu seçme. Bu konudaki Windows Paket Yöneticisi ve WinGet istemcisi bölümüne de bakın.
AppContainer veya Medium IL
Uygulamanızı appContainer'da çalıştırma veya çalıştırma seçeneği güvenlikle ilgili bir sorudur. AppContainer uygulamasının süreci ve alt işlemleri, yalnızca belirli olarak kendilerine verilen kaynaklara erişebilecekleri hafif bir uygulama kapsayıcısı içinde çalışır. Ayrıca dosya sistemi ve kayıt defteri sanallaştırması kullanılarak yalıtılmışlardır. Sonuç olarak, AppContainer'da çalıştırılan uygulamalar, sınırlı atanan kaynakların dışında kötü amaçlı eylemlere izin vermek için ele geçirilemez.
Paketlenmiş veya paketlenmemiş uygulamalar AppContainer'da çalışacak şekilde yapılandırılabilir. Ancak paketlenmiş uygulamalar için işlem daha basittir. Uygulama bir AppContainer uygulaması değilse , orta ölçekli il uygulamasıdır.
Daha fazla bilgi için bkz . Eski uygulamalar için AppContainer ve MSIX AppContainer uygulamaları.
Uygulamanızı AppContainer veya Medium IL'de çalışacak şekilde yapılandırma hakkında bilgi için:
-
WinUI uygulamaları (Windows Uygulama SDK'sı).
uap10:TrustLeveluygulama paketi bildirim özniteliğine, AppContainer için WinUI proje yapılandırmasında bakın. -
Masaüstü uygulamaları.
TrustLevelVisual Studio project özelliğine bakın (uygulama türünüz için uygun olan bölümde). - Evrensel Windows Platformu (UWP) uygulamaları. UWP uygulamaları zaten bir AppContainer'da çalışacak şekilde yapılandırılmıştır; ve bu yapılandırma değiştirilemez.
Paketlenmemiş uygulamaların uygulama paketi bildirimi olmadığını unutmayın. Paketlenmemiş uygulamalar için appContainer veya-Medium-IL kararınızı bir uygulama paketi bildirimi yerine project dosyanızda bildirirsiniz.
Win32 uygulama yalıtımı
Win32 uygulama yalıtımı, bir uygulamanın gizliliğinin tehlikeye düşmesi durumunda hasar içermeye yardımcı olan ve kullanıcı gizlilik seçimlerini koruyan bir güvenlik özelliğidir (Windows 11, sürüm 24H2 ve sonraki sürümlerde kullanılabilir). Kaynakları sanallaştıran ve aracılı erişim sağlayan AppContainers ve bileşenleri üzerinde oluşturulur. Daha fazla bilgi için bkz. Win32 uygulama yalıtımına genel bakış ve Win32 uygulama yalıtımı GitHub deposu.
Uygulama özellikleri
Uygulama özellikleri (örneğin, internetClient, konum, mikrofon ve bluetooth), çoğunlukla AppContainer'da çalışan paketlenmiş uygulamalarla ilgilidir. Bu, all Evrensel Windows Platformu (UWP) uygulamalarını ve some masaüstü uygulamalarını içerir.
Ancak, bir Orta IL uygulamasının (AppContainer uygulaması değil ) bile bir özellik bildirmesi gereken bazı senaryolar vardır. Bir örnek runFullTrust kısıtlı özelliğidir.
Uygulama özellikleri, ne tür uygulamalar için geçerli oldukları ve bunların nasıl yapılandıracağı hakkında daha fazla bilgi için bkz. Uygulama özelliği bildirimleri. Uygulama paketi bildiriminizde özellikleri yapılandırırsınız; ve bu nedenle yalnızca paketlenmiş uygulamalar için geçerlidir.
Uygulama türleri
Masaüstü uygulamaları ve Evrensel Windows Platformu (UWP) uygulamaları, masaüstü uygulamaları ailesinde birkaç uygulama türü daha bulunsa da, iki ana uygulama türüdür. Kullanıcı arabirimi çerçevesi (WinForms, WPF, Win32, Direct 2D/3D veya WinUI 3) bu konuda açıklanan yapılandırmalardan bir derece bağımsızdır.
Ancak bu uygulama türlerinin paketleme, dağıtım ve işlem açısından birbirinden nasıl farklı olabileceğine göz atalım.
İlk olarak, tüm UWP uygulamaları paketlenir ve bir AppContainer içinde çalıştırılır. Ancak masaüstü uygulamaları için işler daha esnektir. Masaüstü uygulamanızı paketlemeyi seçebilir veya paketlemeyebilirsiniz. Bu karardan bağımsız olarak, masaüstü uygulamanızı AppContainer veya Medium IL uygulaması olarak yapılandırmayı seçebilirsiniz.
| Paketlenmiş | Unpackaged | |
|---|---|---|
| AppContainer | Masaüstü uygulamaları UWP uygulamaları |
Masaüstü uygulamaları |
| Orta IL | Masaüstü uygulamaları | Masaüstü uygulamaları |
Paketlenmiş uygulamalarda, istediğiniz uygulama türünü yapılandırmak için uygulama paketi bildiriminizde uap10:RuntimeBehavior özniteliğini kullanırsınız (bkz. Application (Windows 10)).
-
Masaüstü uygulamaları, genellikle
.exeveya WinMain giriş noktası işlevi olan Windows uygulamalarıdır. Uygulamanızı masaüstü uygulaması olarak yapılandırmak için "packagedClassicApp" veya "win32App" olarak ayarlayınuap10:RuntimeBehavior.- "packagedClassicApp" değeri bir WinUI uygulamasını (Windows Uygulama SDK'sı) veya bir Masaüstü Köprüsü uygulamasını (Centennial) gösterir. Fark, Centennial uygulamasının AppContainer'da çalışmasıdır.
- Ve "win32App", başka herhangi bir Win32 uygulaması türünü (dış konumla paketlenmiş bir uygulama dahil) gösterir.
- Son olarak,
uap10:RuntimeBehavior'yı "windowsApp" olarak ayarlamak size bir UWP uygulaması verir.
Geliştirebileceğiniz uygulama türlerine yönelik tüm seçenekler için bkz. Windows app geliştirme: seçenekler ve özellikler.
Windows Uygulama SDK'sı: çerçeveye bağımlı veya bağımsız
Uygulamanız Windows Uygulama SDK'sı kullanıyorsa, uygulamanızın bağımlı olduğu SDK çalışma zamanını nasıl dağıtabileceğinizi de seçersiniz: çerçeveye bağımlı (varsayılan, hedef makinede Windows Uygulama SDK'sı çalışma zamanı ve/veya Çerçeve paketinin bulunması gereken varsayılan) veya bağımsız (uygulamanız Windows Uygulama SDK'sı bağımlılıklarını onunla taşır). Daha fazla bilgi için bkz. Windows Uygulama SDK'sı dağıtımına genel bakış.
Windows Paket Yöneticisi ve WinGet istemcisi
package manager, iş akışını otomatikleştirerek kullanıcılarınızın yazılımınızı yüklemesine/yükseltmesine/yapılandırmasına yardımcı olabilir. Paket yöneticileri herhangi bir yazılımın yüklenmesine yardımcı olabilir, ancak çoğunlukla developer tools yüklemek için kullanılırlar. Bu nedenle bir geliştirici aracı oluşturuyorsanız bu seçenek özellikle ilginizi çekebilir. Ancak şu şekilde çalışır:
- Yazılım geliştiricisi olarak, ürününüzün başarıyla yüklenmesi için gereken tüm parçaları package manager (bildirim temelli yönergeler biçiminde) tanımlarsınız.
- Kullanıcı yazılımınızı yüklediğinde package manager, yükleme ve yapılandırma iş akışını otomatikleştirmek için bildirim yönergelerinizi izler.
Sonuç, kullanıcının ortamını hazır hale getirme ve yüklenen bileşenler arasında daha iyi uyumluluk sağlama için harcanan sürenin azalmasıdır. Paketlenmiş veya paketlenmemiş uygulamalarınızı .msix, .msi ve .exe gibi biçimlerde dağıtmak için windows Paket Yöneticisi kullanabilirsiniz.
Daha fazla bilgi için bkz. Windows Paket Yöneticisi.
Windows developer