Saya membuat alat yang mengubah MSIX Windows menjadi installer EXE yang bisa diinstal dengan double-click.
(github.com/airtaxi)MSIX adalah format packaging modern Windows. Format ini bekerja berbasis sandbox, sehingga perubahan sistem seperti registry atau asosiasi file terisolasi, dan saat dihapus tidak meninggalkan sisa apa pun. MSIXBundle juga bisa memuat x64, x86, dan ARM64 dalam satu file.
Masalahnya ada pada distribusinya.
Untuk menginstal MSIX di luar Store, pengguna harus menyalakan mode pengembang, membuka PowerShell, dan memercayai sertifikat. Bagi developer itu proses yang wajar, tetapi bagi pengguna umum semuanya adalah hambatan. Bahkan jika membuat aplikasi dengan Electron atau Tauri, banyak framework yang tidak mendukung packaging MSIX.
Karena itu saya membuatnya. MSIX Installer Generator adalah alat yang menangani semuanya sekaligus, mulai dari packaging MSIX hingga pembuatan installer EXE double-click.
Bagaimana ini dimulai
Awalnya proyek ini tidak ada hubungannya dengan MSIX.
Untuk mendistribusikan aplikasi yang dibuat dengan WinUI 3 di luar Store, saya sedang membuat framework installer yang memakai format paket buatan sendiri bernama .atp. Strukturnya adalah mengompres dengan 7z lalu menyerahkannya ke installer, dan installer menangani pendaftaran registry atau pembuatan shortcut menu Start. Untuk packaging EXE sederhana, ini sudah bekerja dengan cukup baik.
Lalu tiba-tiba saya berpikir, "Kalau memakai MSIX yang bahkan mendukung sandbox, bagaimana kalau installer dibuat dengan itu?" Metode .atp yang lama memang praktis, tetapi pada akhirnya itu tetap cara instalasi tradisional yang langsung menulis ke registry dan membuat folder di AppData, sehingga penghapusan yang bersih tidak terjamin. Dengan MSIX, Windows akan mengisolasinya ke dalam sandbox secara otomatis, dan saat dihapus tidak meninggalkan sisa apa pun.
Jadi saya mulai menambahkan dukungan instalasi MSIX, tetapi kemudian muncul masalah bahwa pengguna harus menangani sendiri pembuatan sertifikat, penulisan manifest, hingga packaging. Banyak juga framework yang tidak mendukung packaging MSIX. Pada akhirnya saya membuat alat yang mengotomatiskan sampai proses packaging, dan sekarang bentuknya menjadi alat yang menangani semuanya sekaligus, dari packaging MSIX hingga konfigurasi installer EXE.
Masalah apa yang ingin saya selesaikan
Pengalaman pengguna saat mendistribusikan dengan MSIX terasa sangat buruk.
- "Aktifkan mode pengembang" → pengguna bingung
- "Buka PowerShell sebagai administrator lalu masukkan perintah" → makin bingung
- "Percayai sertifikat" → paling bingung
Saya ingin mendapatkan sekaligus kemudahan installer EXE tradisional yang selesai hanya dengan double-click dan keunggulan sandbox dari MSIX.
Apa yang dilakukan MSIX Installer Generator
Secara besar ada dua hal.
1. Packaging MSIX
Pembuatan sertifikat, penulisan manifest, dan packaging output build ditangani lewat GUI. Walaupun framework tidak mendukung packaging MSIX, Anda cukup menentukan folder output build. Jika menambahkan folder per arsitektur seperti x64 atau ARM64, alat ini akan membaca PE header dan mendeteksinya secara otomatis, lalu membuat .msix tunggal atau .msixbundle multi-arsitektur.
2. Konfigurasi installer EXE
MSIX yang sudah dibuat diubah menjadi installer EXE mandiri yang bisa dipasang hanya dengan sekali double-click. Semua proses yang diperlukan untuk sideloading (instalasi sertifikat, penanganan dependensi, dan sebagainya) ditangani otomatis oleh installer. Dari sudut pandang pengguna, cukup unduh dan jalankan installer. Tidak ada PowerShell, tidak perlu mode pengembang, dan tidak muncul prompt sertifikat.
Ada juga alat CLI
Selain GUI, alat CLI (aticmsixgen) juga sudah saya unggah ke NuGet. Di CI atau workflow otomatisasi AI, Anda bisa menangani seluruh packaging MSIX dan konfigurasi EXE lewat baris perintah. Alat ini dibangun dengan NativeAOT sebagai file eksekusi tunggal tanpa dependensi runtime.
dotnet tool install --global aticmsixgen
Mulai dari pembuatan sertifikat, penulisan manifest, packaging MSIX, hingga konfigurasi EXE, semuanya bisa dilakukan lewat CLI.
Cocok untuk orang seperti ini
- Ingin mendistribusikan dengan MSIX tetapi merasa proses sideloading merepotkan
- Menggunakan framework seperti Electron, Tauri, atau WPF yang tidak menyediakan dukungan bawaan untuk packaging MSIX
- Ingin mendistribusikan beberapa arsitektur seperti x64 dan ARM64 dalam satu installer
- Ingin mengotomatiskan packaging MSIX dan konfigurasi EXE di CI
Tautan
- GitHub: https://github.com/airtaxi/AT-Installer
- Microsoft Store: https://apps.microsoft.com/detail/9P5GS17TCDQX
- NuGet (CLI): https://www.nuget.org/packages/aticmsixgen
Lisensinya MIT, dan jika ada masukan atau issue silakan tinggalkan di GitHub. Anda juga boleh menuliskannya dalam bahasa Korea.
Belum ada komentar.