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
Migrasi ke MSIX dari alat penginstal warisan
Jika aplikasi Anda saat ini menggunakan alat penginstal warisan, Anda dapat bermigrasi ke MSIX untuk mendapatkan penginstalan/penghapusan instalasi yang bersih, pembaruan otomatis, Distribusi toko, dan identitas paket. Jalur migrasi tergantung pada teknologi alat penginstal Anda saat ini dan apakah Anda memiliki akses ke kode sumber.
| Installer saat ini | Jalur migrasi yang direkomendasikan | Kode sumber diperlukan? |
|---|---|---|
| MSI (alat penginstal Windows) | Gunakan MSIX Packaging Tool untuk mengonversi MSI langsung ke MSIX. Menangani sebagian besar pola MSI termasuk tindakan kustom. | No |
| ClickOnce (.NET) | Bangun kembali dari sumber menggunakan proyek pengemasan MSIX Visual Studio. Pembaruan otomatis ClickOnce dapat diganti dengan pembaruan Store atau Penginstal Aplikasi. | Yes |
| InstallShield / Advanced Installer | Gunakan MSIX Packaging Tool untuk menangkap penginstalan pada VM yang bersih. Tindakan kustom yang kompleks mungkin memerlukan perbaikan manual di Editor Paket. | No |
| Inno Setup / NSIS | Gunakan alur kerja perekaman berbasis VM pada MSIX Packaging Tool. Jalankan installer EXE dalam lingkungan bersih alat tersebut. | No |
| App-V (paket virtual) | Konversi langsung menggunakan MSIX Packaging Tool — mendukung paket App-V 5.x sebagai input. | No |
| MSIX yang memerlukan modifikasi | Gunakan Kerangka Kerja Dukungan Paket untuk menerapkan perbaikan runtime (pengalihan file/registri) tanpa mengubah kode aplikasi Anda. | No |
Petunjuk / Saran
Untuk aplikasi yang memiliki penginstal kompleks dengan driver kernel, layanan yang berjalan sebagai SYSTEM, atau registrasi COM di seluruh komputer yang tidak didukung oleh MSIX, pertimbangkan MSIX dengan lokasi eksternal (dipaketkan dengan lokasi eksternal). Ini memberi Anda identitas paket untuk fitur Windows saat menggunakan alat penginstal tradisional untuk komponen yang memerlukan akses yang ditinggikan. Lihat Memberikan identitas paket dengan cara mengemas di lokasi eksternal.
Pertimbangan utama
- Uji pada VM yang bersih — Alat Kemasan MSIX menangkap semua perubahan selama penginstalan. Jalankan ini pada image Windows yang bersih agar perubahan sistem yang tidak terkait tidak ikut terekam.
- Kerangka Kerja Dukungan Paket — Jika aplikasi Anda yang dikonversi memiliki masalah runtime (asumsi jalur file, penulisan registri ke HKLM), Kerangka Kerja Dukungan Paket dapat memperbaikinya tanpa memodifikasi sumber Anda.
- Berdampingan dengan alat penginstal warisan — Anda dapat menyebarkan versi MSIX bersama alat penginstal warisan selama transisi. Rencanakan pengaturan eksplisit/migrasi data (misalnya, impor pada eksekusi pertama) karena identitas paket dan lokasi penyimpanan berbeda antara penginstalan MSIX dan MSI/EXE.
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
- Deklarasi kemampuan aplikasi — mendeklarasikan kemampuan dalam manifes paket Anda untuk mengakses API, perangkat, atau sumber daya yang dilindungi
-
Unduh dan instal pembaruan paket dari Store — gunakan
Windows.Services.StoreAPI untuk memeriksa dan menginstal pembaruan Store secara terprogram - Blog Inside MSIX — pembahasan mendalam yang otoritatif tentang identitas paket, arsitektur deployment, dan seluk-beluk internal MSIX oleh tim engineering MSIX Microsoft
Windows developer