Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kemasan menentukan cara aplikasi Anda diinstal, diperbarui, dan terintegrasi dengan Windows. Aplikasi WinUI 3 dikemas secara default, sementara banyak aplikasi desktop, seperti aplikasi Win32 tradisional, berjalan tanpa kemasan. Memilih antara aplikasi yang dikemas atau tidak dikemas memengaruhi fitur yang dapat Anda gunakan, model penyebaran yang Anda andalkan, dan pengalaman keseluruhan yang didapat pelanggan Anda.
Nota
Membangun aplikasi WinUI 3 baru? Anda sudah dikonfigurasi secara default. Panduan di bawah ini paling relevan bagi pengembang yang perlu membuat pilihan eksplisit - biasanya saat memindahkan aplikasi yang ada, menyebarkan ke mesin perusahaan, atau menambahkan fitur Windows ke aplikasi yang awalnya tidak dipaketkan.
Mengapa kemasan aplikasi penting
Aplikasi paket mendapat manfaat dari model penginstalan bersih, pembaruan otomatis, dan akses ke fitur Windows yang memerlukan identitas paket — termasuk tugas latar belakang, pemberitahuan, ekstensi menu konteks, target berbagi, dan titik ekstensibilitas lainnya. Pengemasan juga membantu memastikan penyebaran yang lebih bersih, pembaruan yang andal, dan distribusi yang disederhanakan melalui saluran seperti Microsoft Store dan alat penyebaran perusahaan.
Fitur yang memerlukan identitas paket
Fitur Windows ini hanya berfungsi di aplikasi yang memiliki identitas paket — baik melalui pengemasan MSIX penuh atau pengemasan dengan lokasi eksternal (pengemasan Sparse).
| Feature | Deskripsi |
|---|---|
| Tugas latar belakang | Jalankan kode saat aplikasi Anda tidak berada di latar depan — misalnya, untuk menyinkronkan data, memproses unduhan, atau merespons peristiwa sistem. |
| Windows API AI (Phi Silica, OCR, dll.) | Akses kemampuan AI di perangkat seperti model bahasa lokal, pengenalan teks, dan analisis gambar. |
| Pemberitahuan push (WNS) | Terima pemberitahuan real time dari layanan awan Anda melalui Windows Notification Service. |
| Bagikan target | Izinkan pengguna berbagi konten dari aplikasi lain langsung ke aplikasi Anda melalui lembar Berbagi sistem. |
| Ekstensi menu konteks khusus | Tambahkan tindakan aplikasi Anda ke menu klik kanan di File Explorer dan permukaan shell lainnya. |
| Jenis file dan asosiasi protokol | Daftarkan aplikasi Anda sebagai handler untuk jenis file atau protokol URI tertentu (misalnya, yourapp://). |
| Tugas pemula sistem | Luncurkan aplikasi Anda secara otomatis saat pengguna masuk ke Windows. |
| Layanan aplikasi | Mengekspos layanan latar belakang yang dapat dipanggil aplikasi lain, memungkinkan komunikasi antar aplikasi. |
Petunjuk / Saran
Jika aplikasi Anda tidak terkemas dan Anda menghadapi kesalahan E_ILLEGAL_METHOD_CALL atau APPMODEL_ERROR_NO_PACKAGE saat memanggil API Windows, itu berkaitan dengan persyaratan identitas paket. Lihat pengemasan dengan lokasi eksternal (Kemasan jarang) sebagai perbaikan gesekan terendah.
Untuk mendeteksi pada runtime apakah proses Anda memiliki identitas paket, gunakan GetCurrentPackageFullName — lihat Apakah Ini Proses Terkemas? di blog Inside MSIX untuk sampel C++ dan C# kanonis.
Untuk informasi selengkapnya, lihat Fitur yang memerlukan identitas paket.
Model pengemasan secara ringkas
| Model | Identitas paket | Penginstal | Dapat disimpan | Paling cocok untuk |
|---|---|---|---|---|
| Dibungkus (MSIX) | ✅ Ya | MSIX menggantikan alat penginstal | ✅ Ya (pengiriman MSIX) | Aplikasi baru, Penerbitan aplikasi di toko, MDM untuk perusahaan |
| Pengemasan dengan lokasi eksternal | ✅ Ya | Penginstal Anda yang ada | ✅ Ya (pengiriman MSI/EXE) | ** Aplikasi yang sudah ada dengan alat penginstal sendiri, Vendor Perangkat Lunak Independen (ISV) |
| Tanpa Kemasan | ❌ Tidak | Installer MSI atau EXE (juga: XCopy atau skrip untuk distribusi di luar Store) | ✅ Ya (pengiriman MSI/EXE — memerlukan penginstal MSI atau EXE dengan dukungan penginstalan senyap) | Distribusi Win32 yang luas, alat internal |
Aplikasi paket (MSIX)
Aplikasi paket menggunakan MSIX dan memiliki identitas paket package, yang diperlukan untuk banyak titik ekstensibilitas Windows. Identitas paket memungkinkan Windows mengidentifikasi pemanggil API platform dengan andal, itulah sebabnya fitur-fitur ini bergantung padanya.
- Aplikasi paket biasanya berjalan dalam kontainer aplikasi ringan dengan sistem file dan virtualisasi registri (lihat AppContainer untuk aplikasi warisan dan aplikasi MSIX AppContainer).
- Aplikasi juga dapat dikonfigurasi untuk tidak berjalan dalam kontainer aplikasi jika diperlukan.
- MSIX digunakan baik untuk pengemasan dan penginstalan (lihat Apa itu MSIX?).
Pengemasan dengan lokasi eksternal (Kemasan jarang)
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 dalam versi Windows 10 2004 (build 19041).
Ini adalah posisi optimal untuk aplikasi Win32/WPF/WinForms yang sudah ada dan saat ini dikirim melalui installer mereka sendiri (NSIS, WiX, InstallShield, dll.) dan tidak ingin menggantinya dengan MSIX. Anda mendaftarkan paket identitas yang ringan, file biner Anda tetap di tempatnya, dan Anda membuka kunci set lengkap fitur Windows yang diproteksi oleh identitas paket.
| Kemampuan | MSIX | Lokasi eksternal |
|---|---|---|
| Menggantikan alat penginstal Anda | Yes | No |
| Biner di dalam paket | Yes | Tidak (eksternal) |
| Dapat disimpan | Ya (pengiriman MSIX) | Ya (pengiriman MSI/EXE) |
| Identitas paket | Yes | Yes |
| Mekanisme pembaruan | Pembaruan MSIX | Mekanisme Anda yang ada |
→ Panduan lengkap: Memberikan identitas paket dengan mengemas dengan lokasi eksternal
Aplikasi yang tidak dikemas
Aplikasi yang tidak dikemas tidak menggunakan MSIX dan tidak memiliki identitas paket, yang berarti mereka tidak dapat mengakses fitur yang tercantum di atas.
- Mereka tetap sepenuhnya tidak terbatas dalam hal permukaan API, akses sistem file, akses registri, peningkatan hak istimewa, dan model proses.
- Penginstalan dan pembaruan bergantung pada
.exe,.msi, penginstal kustom, ClickOnce, atau penyebaran xcopy.
Sebelum Anda berkomitmen untuk membuka kemasan, periksa tabel fitur di atas terhadap peta strategi Anda. Jika ada pemberitahuan, tugas latar belakang, atau API AI yang akan datang, pertimbangkan untuk mengimplementasikan dalam bentuk paket.
Pilih berdasarkan skenario
| Skenario | Model yang direkomendasikan | Rincian |
|---|---|---|
| Publikasi pengembang Indie ke Microsoft Store | Disarankan paket (MSIX) | MSIX adalah jalur yang direkomendasikan — ini memungkinkan pembaruan yang dikelola oleh Store, unduhan pembeda, dan penghapusan instalan yang bersih. Aplikasi WinUI 3 dikemas secara default. Penandatanganan kode ditangani secara gratis oleh Store. → Mendistribusikan aplikasi paket Anda Aplikasi Win32 dengan penginstal MSI atau EXE yang ada juga dapat diterbitkan ke Store melalui jalur pengiriman MSI/EXE, tetapi Store tidak mendorong pembaruan ke pengguna yang ada - pembaruan harus ditangani oleh aplikasi atau alat penginstal. |
| Aplikasi perusahaan yang disebarkan melalui Intune atau Configuration Manager | Lokasi paket atau lokasi eksternal untuk penginstal yang ada | Aplikasi baru harus menggunakan MSIX. Aplikasi yang ada dengan alat penginstal mereka sendiri dapat menggunakan kemasan dengan lokasi eksternal. Code signing: gunakan sertifikat yang ditandatangani sendiri (dipercaya melalui Intune, Group Policy, atau Configuration Manager) atau Azure Artifact Signing (sebelumnya Trusted Signing). → Menyebarkan aplikasi paket |
| ISV mengirimkan unduhan langsung dengan alat penginstal sendiri | Pengemasan dengan lokasi eksternal | Daftarkan paket identitas ringan bersama alat penginstal yang ada.
Penandatanganan kode: sertifikat tepercaya CA diperlukan untuk distribusi non-Store.
Penandatanganan Artefak Azure (sebelumnya Penandatanganan Tepercaya) adalah opsi yang direkomendasikan dengan biaya lebih rendah.
Berikan identitas paket Atau, kirimkan alat penginstal Anda yang ada ke Store melalui jalur pengiriman MSI/EXE. |
| Alat internal atau utilitas pengembang | Tidak dikemas | Paling sederhana untuk membangun dan menyebarkan. SDK Aplikasi Windows berfungsi melalui NuGet, tetapi beberapa fitur tidak akan tersedia. |
Petunjuk / Saran
Tidak yakin tentang biaya penandatanganan kode? Menerbitkan paket MSIX melalui Microsoft Store berarti Anda tidak perlu mendapatkan atau mengelola sertifikat secara terpisah untuk kepercayaan pengguna akhir — Microsoft menandatangani ulang paket. Menerbitkan penginstal Win32 MSI/EXE melalui Store memerlukan rantai sertifikat ke CA di Program Akar Tepercaya Microsoft; sertifikat yang ditandatangani sendiri tidak diterima. Untuk jalur distribusi lainnya, pendekatan penandatanganan Anda bergantung pada konteks penyebaran — lingkungan perusahaan dapat mempercayai sertifikat yang ditandatangani sendiri melalui manajemen perangkat, sementara distribusi non-Store yang lebih luas biasanya memerlukan solusi penandatanganan kode tepercaya CA. Azure Penandatanganan Artefak (sebelumnya Penandatanganan Tepercaya) adalah opsi yang direkomendasikan Microsoft (lihat pricing), tanpa memerlukan token perangkat keras.
Penyebaran yang bergantung pada kerangka kerja vs mandiri
Secara terpisah dari model pengemasan, aplikasi yang menggunakan SDK Aplikasi Windows memilih cara membawa dependensi runtime mereka:
- Framework-dependent: SDK Aplikasi Windows harus diinstal pada komputer pengguna untuk menjalankan runtime. Ukuran aplikasi lebih kecil; bergantung pada runtime yang saat ini ada atau diinstal secara otomatis.
- Mandiri: Semua file biner SDK Aplikasi Windows dikirim dengan aplikasi Anda. Ukuran lebih besar; tanpa persyaratan runtime (waktu proses) eksternal. Bagus untuk lingkungan perusahaan yang terkunci.
→ Menyebarkan aplikasi mandiri
Mulai dengan MSIX
Jika Anda membuat aplikasi desktop Win32 (terkadang disebut aplikasi desktop classic) atau aplikasi .NET — termasuk Windows Presentation Foundation (WPF) dan Formulir Windows (WinForms) — maka Anda dapat mengemas dan menyebarkan aplikasi Menggunakan MSIX.
- Membuat paket MSIX dari alat penginstal yang sudah ada
- Membangun paket MSIX dari kode sumber
- Mengelola penyebaran MSIX Anda
Teknologi penginstalan lainnya
- Penginstalan dan layanan aplikasi
- Windows Installer
- Ikhtisar penerbitan aplikasi .NET
- Penempatan .NET Framework dan aplikasi
- Menerapkan aplikasi WPF
- ClickOnce Penyebaran untuk Formulir Windows
Konten terkait
- Gambaran umum identitas paket
- aplikasi paket Deploy (SDK Aplikasi Windows)
- Deploy aplikasi tanpa kemasan (SDK Aplikasi Windows)
- Tutorial: Membuka kemasan aplikasi WinUI
- Blog Inside MSIX — pembahasan mendalam yang otoritatif tentang identitas paket, arsitektur deployment, dan seluk-beluk internal MSIX oleh tim engineering MSIX Microsoft
Windows developer