Bagikan melalui


Memilih model pengemasan untuk aplikasi Windows Anda

Nota

Membangun aplikasi WinUI 3 baru? Anda sudah dikonfigurasi secara default. Halaman ini ditujukan untuk pengembang yang perlu membuat pilihan eksplisit—biasanya saat memindahkan aplikasi yang ada, menyebarkan ke komputer perusahaan, atau menambahkan fitur Windows ke aplikasi yang awalnya tidak dipaketkan.

Aplikasi Windows dapat dikemas, tidak dikemas, atau di suatu tempat di antaranya. Pilihan yang tepat bergantung pada dua hal: bagaimana Anda mendistribusikan aplikasi danfitur Windows mana yang Anda butuhkan.

Mulai dengan skenario Anda

"Saya adalah pengembang indie yang menerbitkan ke Microsoft Store"

Gunakan aplikasi MSIX yang dipaketkan. Toko memerlukan pengemasan MSIX. Aplikasi WinUI 3 yang dibuat di Visual Studio dimas secara default—Anda tidak perlu membuat perubahan apa pun. Anda mendapatkan instalasi yang bersih, pembaruan otomatis, dan akses ke semua fitur yang dibatasi oleh identitas paket seperti pemberitahuan dan tugas latar belakang.

Mendistribusikan aplikasi paket Anda


"Saya membangun aplikasi perusahaan yang disebarkan melalui Intune atau Configuration Manager"

Mulai dikemas; pertimbangkan lokasi eksternal jika Anda memiliki penginstal yang sudah ada.

  • Jika Anda membangun aplikasi baru, gunakan MSIX. Ini terintegrasi dengan bersih dengan Intune dan SCCM/ConfigMgr dan memberi Anda identitas paket lengkap.
  • Jika Anda memiliki aplikasi yang sudah ada dengan alat penginstalnya sendiri yang tidak dapat Anda ganti, gunakan kemasan dengan lokasi eksternal. Ini memberi identitas paket aplikasi Anda—dan akses ke fitur seperti pemberitahuan dan tugas latar belakang—tanpa mengubah cara atau tempat Anda menyebarkan.
  • Jika aplikasi Anda benar-benar tidak memerlukan fitur yang membutuhkan identitas Windows dan Anda mengontrol lingkungan penyebaran, aplikasi yang tidak dibungkus dapat bekerja, tetapi Anda akan menghadapi kendala saat pertama kali mencoba menambahkan pemberitahuan atau fitur AI.

Menyebarkan aplikasi paket (Windows App SDK)
Berikan identitas paket dengan pengemasan dengan lokasi eksternal


"Saya adalah ISV yang mengirimkan unduhan langsung dengan alat penginstal saya sendiri"

Gunakan kemasan dengan lokasi eksternal (sebelumnya disebut paket sparse).

Ini adalah spot manis untuk aplikasi Win32/WPF/WinForms yang ada yang dikirim melalui penginstal mereka sendiri (NSIS, WiX, InstallShield, dll.) dan tidak ingin menggantinya dengan MSIX. Anda mendaftarkan paket identitas yang ringan bersama dengan penginstal Anda yang sudah ada, biner Anda tetap di tempatnya, dan Anda membuka seluruh rangkaian fitur Windows yang dikontrol oleh identitas paket.

Pengguna Anda tidak akan melihat perubahan apa pun dalam cara mereka menginstal atau memperbarui aplikasi Anda. Anda mendapatkan fitur Windows; mereka mendapatkan pengalaman yang akrab.

Berikan identitas paket dengan pengemasan dengan lokasi eksternal
Menambahkan paket identitas di Visual Studio


"Saya sedang membangun alat internal atau utilitas pengembang"

Tanpa kemasan tidak masalah—dengan syarat tertentu.

Aplikasi yang tidak dikemas adalah yang paling sederhana untuk membangun dan menyebarkan: xcopy, robocopy, atau skrip sederhana adalah yang Anda butuhkan. Windows App SDK berfungsi di aplikasi yang tidak dikemas melalui NuGet. Tetapi beberapa fitur tidak akan tersedia, dan jika nanti Anda memutuskan bahwa Anda membutuhkannya, mengadaptasi identitas paket bukanlah hal yang sepele.

Sebelum Anda berkomitmen untuk membuka kemasan, periksa tabel fitur di bawah ini terhadap peta strategi Anda. Jika ada pemberitahuan, tugas latar belakang, atau API AI yang akan datang, pertimbangkan untuk mengimplementasikan dalam bentuk paket.


Model pengemasan secara ringkas

Model Identitas paket Penginstal Dapat disimpan Paling cocok untuk
Dibungkus (MSIX) ✅ Ya MSIX menggantikan alat penginstal ✅ Ya Aplikasi baru, Penerbitan aplikasi di toko, MDM untuk perusahaan
Pengemasan dengan lokasi eksternal ✅ Ya Penginstal Anda yang ada ❌ Tidak ** Aplikasi yang sudah ada dengan alat penginstal sendiri, Vendor Perangkat Lunak Independen (ISV)
Tanpa Kemasan ❌ Tidak XCopy / skrip ❌ Tidak Alat internal, utilitas dev, skenario sederhana

Fitur yang memerlukan identitas paket

Fitur Windows ini hanya berfungsi di aplikasi yang memiliki identitas paket aplikasi—baik melalui pengemasan MSIX penuh atau pengemasan dengan lokasi eksternal.

Feature Catatan
Pemberitahuan aplikasi (toast) AppNotificationManager memerlukan identitas paket
Tugas latar belakang Pendaftaran memerlukan identitas paket
API AI Windows (Phi Silica, OCR, dan lain-lain) Sebagian besar API Windows AI memerlukan identitas paket
Pemberitahuan push (WNS) Pendaftaran saluran memerlukan identitas paket
Bagikan target Dideklarasikan dalam manifes paket
Ekstensi menu konteks khusus Dideklarasikan dalam manifes paket
Jenis file dan asosiasi protokol Asosiasi kaya memerlukan identitas paket
Tugas pemula sistem Memerlukan identitas paket
Layanan aplikasi Memerlukan identitas paket

Petunjuk / Saran

Jika Anda tanpa paket dan mengalami kesalahan E_ILLEGAL_METHOD_CALL atau APPMODEL_ERROR_NO_PACKAGE saat memanggil Windows API, itulah persyaratan identitas paket. Lihat pengemasan dengan lokasi eksternal sebagai metode dengan hambatan paling sedikit.

Pengemasan dengan lokasi eksternal

Pengemasan dengan lokasi eksternal (juga disebut paket jarang) memungkinkan Anda mendaftarkan paket identitas kecil bersama aplikasi yang ada—tanpa mengubah alat penginstal, lokasi biner, atau proses pembaruan Anda. Ini diperkenalkan di Windows 10 versi 2004 (build 19041).

Anda menyediakan:

  • Manifes paket (file XML yang menjelaskan identitas aplikasi Anda)
  • Ditandatangani .msix yang hanya berisi manifes (tanpa file biner)

Alat penginstal Anda yang ada mendaftarkan paket identitas ini, dan Windows memperlakukan aplikasi Anda sebagai memiliki identitas paket sejak saat itu.

Ini berbeda dari kemasan MSIX penuh:

MSIX Lokasi eksternal
Menggantikan alat penginstal Anda Yes No
Biner di dalam paket Yes Tidak (eksternal)
Dapat disimpan Yes No
Identitas paket Yes Yes
Mekanisme pembaruan Pembaruan MSIX Mekanisme Anda yang ada

Panduan lengkap: Memberikan identitas paket dengan mengemas dengan lokasi eksternal

Penyebaran yang bergantung pada kerangka kerja vs mandiri

Secara terpisah dari model pengemasan, aplikasi yang menggunakan Windows App SDK memilih cara membawa dependensi runtime mereka:

  • Tergantung kerangka kerja: Runtime Windows App SDK harus diinstal pada komputer pengguna. Ukuran aplikasi lebih kecil; bergantung pada runtime yang saat ini ada atau diinstal secara otomatis.
  • Mandiri: Semua file biner Windows App SDK dikirimkan bersama aplikasi Anda. Ukuran lebih besar; tanpa persyaratan runtime (waktu proses) eksternal. Bagus untuk lingkungan perusahaan yang terkunci.

Menyebarkan aplikasi mandiri