Arsitektur dan gambaran umum penyebaran untuk aplikasi yang bergantung pada kerangka kerja
Artikel ini menjelaskan arsitektur tingkat tinggi dari penyebaran SDK Aplikasi Windows. Konsep di bawah ini terutama berlaku untuk SDK Aplikasi Windows aplikasi yang bergantung pada kerangka kerja. Aplikasi yang bergantung pada kerangka kerja tergantung pada runtime SDK Aplikasi Windows yang ada di komputer target.
Ada dua opsi utama untuk mendistribusikan aplikasi yang bergantung pada kerangka kerja:
Metode penyebaran aplikasi | Persyaratan |
---|---|
Paket | - Harus menyatakan dependensi pada paket Framework dalam manifes paket. - DEPLOYMENT API diperlukan untuk aplikasi terdistribusi Microsoft Store dan direkomendasikan untuk aplikasi terdistribusi non-Store untuk memastikan dependensi runtime diinstal. |
Dikemas dengan lokasi eksternal atau tidak dikemas | - Harus mendistribusikan runtime baik menggunakan Penginstal atau dengan menginstal paket MSIX yang diperlukan secara langsung. - Persyaratan runtime tambahan: Harus menginisialisasi akses ke runtime SDK Aplikasi Windows melalui API Bootstrap. |
Untuk detail selengkapnya tentang persyaratan ini, lihat artikel berikut ini:
- SDK Aplikasi Windows panduan penyebaran untuk aplikasi paket yang bergantung pada kerangka kerja
- SDK Aplikasi Windows panduan penyebaran untuk aplikasi yang bergantung pada kerangka kerja yang dikemas dengan lokasi eksternal atau tidak dikemas
Istilah kunci
Bagian berikut menentukan istilah kunci untuk penyebaran SDK Aplikasi Windows dan detail tambahan pada beberapa paket ini.
Term | Definisi |
---|---|
runtime SDK Aplikasi Windows | Paket MSIX yang diperlukan oleh aplikasi untuk menggunakan SDK Aplikasi Windows. 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 kerangka kerja | Berisi biner yang digunakan pada waktu proses menurut aplikasi (sebagian besar fitur SDK Aplikasi Windows). Kerangka kerja ini mencakup komponen bootstrapper yang memungkinkan aplikasi menginstal versi terbaru SDK Aplikasi Windows 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 layanan ke paket MSIX saat dikemas dengan lokasi eksternal atau aplikasi yang tidak dikemas sedang digunakan. |
Bootstrapper | Biner lokal aplikasi yang digunakan oleh dikemas dengan lokasi eksternal dan aplikasi yang tidak dikemas untuk menemukan dan memuat kecocokan versi SDK Aplikasi Windows terbaik sesuai kebutuhan oleh aplikasi. |
Bawaan | 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. |
Pemasang | 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 SDK Aplikasi Windows, aplikasi Anda mereferensikan serangkaian komponen runtime SDK Aplikasi Windows yang didistribusikan ke pengguna akhir melalui paket kerangka kerja. Paket kerangka kerja memungkinkan aplikasi mengakses komponen SDK Aplikasi Windows melalui satu sumber bersama di perangkat pengguna, alih-alih menggabungkannya 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 SDK Aplikasi Windows 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 SDK Aplikasi Windows memiliki dependensi pada instans bersama paket kerangka kerja, seperti yang diilustrasikan dalam diagram berikut.
Saat versi baru paket kerangka kerja SDK Aplikasi Windows 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 mereferensikan versi paket kerangka kerja terbaru selama peletakan 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.
Karena kompatibilitas aplikasi penting untuk Microsoft dan untuk aplikasi yang bergantung pada SDK Aplikasi Windows, paket kerangka kerja SDK Aplikasi Windows mengikuti aturan Semantic Versioning 2.0.0. Ini berarti bahwa setelah kami merilis versi 1.0 dari SDK Aplikasi Windows, paket kerangka kerja SDK Aplikasi Windows akan menjamin kompatibilitas antara perubahan versi minor dan patch, dan perubahan yang melanggar hanya akan terjadi di antara pembaruan versi utama.
Paket singleton
Paket singleton memastikan bahwa satu proses jangka panjang dapat menangani layanan yang digunakan di beberapa aplikasi, yang mungkin berjalan pada versi SDK Aplikasi Windows yang berbeda.
Singleton SDK Aplikasi Windows diperlukan untuk mengaktifkan pemberitahuan push untuk aplikasi yang tidak dikemas dan aplikasi Win32 yang dikemas menggunakan versi Windows di bawah 20H1, yang tidak dapat didukung oleh kelas UWP PushNotificationTrigger dan ToastNotificationActionTrigger yang ada. Fitur SDK Aplikasi Windows 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 paket Anda dengan lokasi eksternal atau aplikasi yang tidak dikemas. Ini menyediakan API bootstrapper (lihat Menggunakan runtime SDK Aplikasi Windows untuk aplikasi yang dikemas dengan lokasi eksternal atau tidak dikemas), yang memungkinkan aplikasi yang tidak dikemas untuk melakukan tugas-tugas penting ini:
- Inisialisasi Dynamic Dependency Lifetime Manager (DDLM) untuk paket kerangka kerja SDK Aplikasi Windows.
- Temukan dan muat paket kerangka kerja SDK Aplikasi Windows ke grafik paket aplikasi.
Untuk menyelesaikan tugas-tugas ini, paket nuget memanfaatkan penginisialisasi modul untuk menghubungkan 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 SDK Aplikasi Windows) sehingga dapat menginisialisasi sistem dengan benar untuk aplikasi yang tidak dikemas. Aplikasi Anda harus menggunakan API bootstrapper sebelum dapat menggunakan fitur SDK Aplikasi Windows seperti WinUI, Siklus hidup aplikasi, MRT Core, dan DWriteCore.
Pustaka bootstrapper dalam rilis SDK Aplikasi Windows 1.0 meliputi:
- Microsoft.WindowsAppRuntime.Bootstrap.dll (C++ dan C#)
- Microsoft.WindowsAppRuntime.Bootstrap.Net.dll (pembungkus C#)
Dynamic Dependency Lifetime Manager (DDLM)
Tujuan dari DDLM adalah untuk mencegah layanan paket kerangka kerja SDK Aplikasi Windows 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 SDK Aplikasi Windows. Ini berarti di x64
komputer, Anda mungkin memiliki x86
x64
dan versi DDLM untuk mendukung aplikasi kedua arsitektur.
Persyaratan tambahan
- Untuk aplikasi paket, dependensi paket kerangka kerja VCLibs adalah persyaratan. Untuk informasi selengkapnya, lihat Paket kerangka kerja Runtime C++ untuk Desktop Bridge.
- Untuk aplikasi yang tidak dikemas, Visual C++ Redistributable adalah persyaratan. Untuk informasi selengkapnya, lihat Unduhan terbaru yang didukung Microsoft Visual C++ Redistributable.
- C#. Untuk runtime .NET, lihat Mengunduh .NET.
Topik terkait
Windows developer