Bagikan melalui


Arsitektur dan gambaran umum penyebaran untuk aplikasi yang bergantung pada kerangka kerja

Artikel ini menjelaskan arsitektur tingkat tinggi penyebaran Windows App SDK. Konsep di bawah ini terutama berlaku untuk aplikasi yang bergantung pada kerangka kerja Windows App SDK. Aplikasi yang bergantung pada kerangka kerja bergantung pada runtime Windows App SDK yang ada di komputer target.

Ada dua opsi utama untuk mendistribusikan aplikasi yang bergantung pada kerangka kerja:

Metode penyebaran aplikasi Persyaratan
Dikemas dalam kemasan - Harus menyatakan dependensi pada paket Framework dalam manifes paket.
- Deployment API diharuskan untuk aplikasi yang didistribusikan melalui Microsoft Store dan direkomendasikan untuk aplikasi yang didistribusikan di luar Store untuk menjamin pemasangan dependensi runtime.
Dikemas di lokasi eksternal atau tidak menggunakan kemasan - Harus mendistribusikan runtime baik menggunakan Penginstal atau dengan menginstal paket MSIX yang diperlukan secara langsung.
- Persyaratan runtime tambahan: Harus menginisialisasi akses ke runtime Windows App SDK melalui API Bootstrap.

Untuk detail selengkapnya tentang persyaratan ini, lihat artikel berikut ini:

Istilah kunci

Bagian berikut menentukan istilah kunci untuk penyebaran Windows App SDK dan detail tambahan pada beberapa paket ini.

Istilah Definisi
Runtime Windows App SDK Paket MSIX yang diperlukan oleh aplikasi untuk menggunakan Windows App SDK. Paket-paket ini meliputi: Framework, Main, Singleton, dan DDLM. Bergantung pada fitur yang digunakan dan metode penyebaran aplikasi Anda, Anda akan memerlukan serangkaian paket ini tertentu pada komputer target.
paket Framework Berisi biner yang digunakan pada waktu berjalan oleh aplikasi (fitur dari sebagian besar Windows App SDK). Kerangka kerja ini mencakup komponen bootstrapper yang memungkinkan aplikasi menginstal versi terbaru Windows App SDK secara otomatis, yang akan diperbarui pada irama rilis reguler.
paket Utama Paket yang berisi tugas latar belakang untuk melacak dependensi dinamis, dan memungkinkan pembaruan otomatis ke paket Kerangka Kerja dari Microsoft Store.
paket Singleton Berisi tugas latar belakang, layanan, ekstensi aplikasi, dan komponen lain yang tidak disertakan dalam paket Kerangka Kerja seperti Pemberitahuan Push. Ini umumnya adalah satu proses jangka panjang yang ditengahi antara aplikasi.
Paket Dynamic Dependency Lifetime Manager (DDLM) Mencegah OS melakukan pembaruan pemeliharaan pada paket MSIX ketika aplikasi sedang dikemas dengan lokasi eksternal atau ketika aplikasi yang tidak dikemas sedang digunakan.
Bootstrapper Biner lokal aplikasi yang digunakan oleh aplikasi yang dikemas dengan lokasi eksternal serta aplikasi tanpa kemasan untuk menemukan dan memuat versi Windows App SDK terbaik yang sesuai dengan kebutuhan aplikasi.
Penyediaan Proses menginstal dan mendaftarkan paket (termasuk file dan kunci registri) di seluruh sistem untuk menghilangkan kebutuhan akan penginstalan berulang oleh pengguna lain. Ini dapat dilakukan baik sebagai bagian dari OS atau dilakukan selama penginstalan aplikasi.
Alat Penginstal Mengacu pada alat penginstal .exe yang menyebarkan paket Framework, Main, Singleton, dan DDLM.
MSIX Teknologi alat penginstal modern yang memungkinkan pengguna menginstal aplikasi per pengguna dengan aman, langsung dari Microsoft Store atau situs web. Di PC Perusahaan atau bersama, aplikasi dapat diinstal untuk semua pengguna melalui PowerShell dan MDM.

Paket kerangka kerja

Saat Anda membuat aplikasi yang menggunakan Windows App SDK, aplikasi Anda mereferensikan sekumpulan komponen runtime Windows App SDK yang didistribusikan ke pengguna akhir melalui paket kerangka kerja. Paket kerangka kerja memungkinkan aplikasi mengakses komponen Windows App SDK melalui satu sumber bersama di perangkat pengguna, alih-alih membundelnya ke dalam paket aplikasi. Paket kerangka kerja juga membawa sumber dayanya sendiri, seperti DLL dan definisi API (pendaftaran COM dan Windows Runtime). Sumber daya ini berjalan dalam konteks aplikasi Anda, sehingga sumber daya mewarisi kemampuan dan hak istimewa aplikasi Anda, dan tidak menegaskan kemampuan atau hak istimewanya sendiri. Untuk informasi selengkapnya tentang dependensi paket kerangka kerja, lihat paket kerangka kerja MSIX dan dependensi dinamis.

Paket kerangka kerja Windows App SDK adalah paket MSIX yang disebarkan ke pengguna akhir melalui Microsoft Store. Ini dapat dengan mudah dan cepat diperbarui dengan rilis layanan, yang mungkin mencakup perbaikan keamanan dan keandalan. Semua aplikasi yang bergantung pada kerangka kerja yang menggunakan Windows App SDK memiliki dependensi pada instans bersama paket kerangka kerja, seperti yang diilustrasikan dalam diagram berikut.

Diagram cara aplikasi mengakses paket kerangka kerja Windows App SDK

Saat versi baru paket kerangka kerja Windows App SDK dilayankan, semua aplikasi yang bergantung pada kerangka kerja diperbarui ke versi baru tanpa harus mendistribusikan ulang salinan. Pembaruan Windows ke versi kerangka kerja terbaru saat dirilis, dan aplikasi akan secara otomatis membuat referensi ke versi paket kerangka kerja terbaru saat memulai ulang. Versi paket kerangka kerja yang lebih lama tidak akan dihapus dari sistem sampai tidak lagi berjalan atau digunakan secara aktif oleh aplikasi pada sistem.

Diagram tentang bagaimana aplikasi mendapatkan pembaruan pada paket kerangka kerja Windows App SDK

Karena kompatibilitas aplikasi penting untuk Microsoft dan aplikasi yang bergantung pada Windows App SDK, paket kerangka kerja Windows App SDK mengikuti aturan Semantic Versioning 2.0.0 . Ini berarti bahwa setelah kami merilis versi 1.0 dari Windows App SDK, paket kerangka kerja Windows App SDK akan menjamin kompatibilitas antara perubahan versi minor dan patch, dan perubahan besar yang menyebabkan kompatibilitas terganggu hanya akan terjadi di antara pembaruan versi utama.

Paket singleton

Paket singleton memastikan bahwa satu proses yang berjalan dalam jangka waktu lama dapat menangani layanan yang digunakan oleh berbagai aplikasi, yang mungkin berjalan pada berbagai versi Windows App SDK.

Singleton Windows App SDK diperlukan untuk mengaktifkan pemberitahuan push bagi aplikasi tidak dikemas dan aplikasi Win32 yang dikemas yang menggunakan versi Windows di bawah 20H1, karena tidak dapat didukung oleh kelas UWP yang ada, yaitu PushNotificationTrigger dan ToastNotificationActionTrigger. Fitur Windows App SDK mendatang yang tidak dapat didukung oleh paket Kerangka Kerja akan ditambahkan ke paket Singleton.

Persyaratan tambahan untuk aplikasi yang tidak dikemas

Bootstrapper

Bootstrapper adalah pustaka yang harus disertakan dengan aplikasi Anda, baik yang dikemas dan ditempatkan di lokasi eksternal atau yang tidak dikemas. Ini menyediakan API bootstrapper (lihat Menggunakan runtime Windows App SDK untuk aplikasi yang dikemas dengan lokasi eksternal atau aplikasi yang tidak dikemas), yang memungkinkan aplikasi tidak dikemas untuk menjalankan tugas-tugas penting berikut:

  • Inisialisasi Dynamic Dependency Lifetime Manager (DDLM) untuk paket kerangka kerja Windows App SDK.
  • Temukan dan muat paket kerangka kerja Windows App SDK ke grafik paket aplikasi.

Untuk menyelesaikan tugas-tugas ini, paket NuGet memanfaatkan penginisialisasi modul untuk menyiapkan bootstrapper untuk Anda. Cukup atur <WindowsPackageType>None</WindowsPackageType> dalam file proyek Anda. Dalam skenario lanjutan, jika Anda ingin mengontrol inisialisasi, Anda dapat memanggil API bootstrapper langsung di kode startup aplikasi Anda (lihat Tutorial: Menggunakan API bootstrapper dalam aplikasi yang dikemas dengan lokasi eksternal atau tidak dikemas yang menggunakan Windows App SDK) sehingga dapat menginisialisasi sistem dengan benar untuk aplikasi yang tidak dikemas. Aplikasi Anda harus menggunakan API bootstrapper sebelum dapat menggunakan fitur Windows App SDK seperti WinUI, Siklus hidup aplikasi, MRT Core, dan DWriteCore.

Pustaka bootstrapper dalam rilis Windows App SDK 1.0 meliputi:

  • Microsoft.WindowsAppRuntime.Bootstrap.dll (C++ dan C#)
  • Microsoft.WindowsAppRuntime.Bootstrap.Net.dll (pembungkus C#)

Pengelola Masa Aktif Ketergantungan Dinamis (DDLM)

Tujuan dari DDLM adalah untuk mencegah layanan paket kerangka kerja Windows App SDK saat digunakan oleh aplikasi yang tidak dikemas. Ini berisi server yang harus diinisialisasi oleh bootstrapper di awal startup aplikasi untuk menyediakan fungsionalitas tersebut.

Ada satu DDLM untuk setiap versi dan arsitektur paket kerangka kerja Windows App SDK. Ini berarti pada x64 komputer, Anda dapat memiliki versi x86 dan x64 dari modul DDLM untuk mendukung aplikasi dari kedua arsitektur.

Persyaratan tambahan