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.
Penting
Windows App Development CLI saat ini dalam pratinjau publik. Fitur dan perintah dapat berubah sebelum rilis akhir. Bagikan umpan balik Anda dengan buat laporan masalah.
Windows App Development CLI (winapp CLI) adalah alat baris perintah untuk membangun aplikasi Windows dengan kerangka kerja yang Anda pilih. Dapat digunakan dari terminal, editor yang Anda sukai, atau agen pengkodian AI.
- Aplikasi WinUI: buat, jalankan, debug, uji, dan kemas aplikasi WinUI tanpa membuka Visual Studio.
- Lintas platform dan kerangka kerja lainnya: hadirkan fitur Windows ke aplikasi Electron, Flutter, Tauri, Rust, .NET, atau C++ yang ada tanpa mengubah kerangka kerja. winapp CLI menyiapkan SDK Aplikasi Windows dan Windows SDK, memberikan identitas paket aplikasi Anda sehingga Anda dapat memanggil API seperti pemberitahuan dan AI di perangkat, dan mengemasnya sebagai MSIX untuk Microsoft Store atau distribusi Anda sendiri.
Manfaat utama winapp CLI
Buat dan jalankan aplikasi WinUI dari terminal
winapp new membuat aplikasi WinUI dari templat resmi, termasuk starter kosong, NavigationView, TabView, dan MVVM.
winapp runmembangun proyek, menginstal Windows App Runtime yang cocok, dan meluncurkan aplikasi, baik dikemas maupun tidak dikemas.
Membangun aplikasi WinUI pertama Anda
Debug dengan identitas paket dan diagnostik crash
Jalankan aplikasi Anda dengan identitas paket sehingga Anda dapat menguji pemberitahuan, AI di perangkat, dan API lain yang memerlukan identitas. Tambahkan --debug-output untuk mengambil pesan debug dan crash dump. Untuk crash WinUI, winapp mendekode pengecualian stowed untuk mengarahkan Anda ke penangan peristiwa XAML yang gagal.
Debug dengan identitas paket
Dasarkan agen pengodean AI pada kode WinUI nyata
winapp find-uimengembalikan XAML dan C# yang berfungsi dari Galeri WinUI 3 dan Toolkit Komunitas Windows.
winapp find-api memeriksa API Windows Runtime yang dirujuk oleh proyek Anda. Agen menggunakannya untuk menghasilkan kode dari sampel dan metadata nyata alih-alih menebak.
Gunakan CLI winapp dengan agen AI
Mengotomatisasi dan menguji UI aplikasi Anda
winapp ui memeriksa dan berinteraksi dengan aplikasi yang sedang berjalan melalui UI Automation, dan mengambil cuplikan layar dan rekaman. Jalankan aplikasi Anda di Windows Sandbox untuk mengujinya di lingkungan yang bersih.
Otomatisasi UI
Kemas, tandatangani, dan kirim
winapp pack membangun proyek Anda, mengemasnya sebagai MSIX, dan menandatanganinya dalam satu langkah. Buat sertifikat pengembangan secara lokal, tanda tangani build rilis dengan Penandatanganan Tepercaya Azure, dan instal winapp CLI pada runner GitHub Actions atau runner Azure DevOps.
Kemas aplikasi Anda
Hadirkan fitur Windows ke framework apa pun
Tambahkan Windows SDK dan SDK Aplikasi Windows, identitas paket, dan kemasan MSIX ke aplikasi yang dibangun dengan .NET, C++, Electron, Flutter, Rust, atau Tauri, tanpa mengubah sistem build Anda.
Lihat framework yang didukung
Mulai menggunakan WinUI
Setelah Anda menginstal winapp CLI dan .NET SDK, buat dan jalankan aplikasi WinUI:
winapp new --name MyWinUIApp --template winui-navview --use-defaults
cd MyWinUIApp
winapp run
Saat Anda siap untuk menguji paket secara lokal, buat sertifikat pengembangan dan buat paket MSIX yang ditandatangani:
winapp cert generate --manifest ./Package.appxmanifest
winapp pack ./MyWinUIApp.csproj -c Release --cert ./devcert.pfx
Sertifikat pengembangan menggunakan kata sandi default dan hanya untuk pengujian lokal. Sebelum Anda mendistribusikan aplikasi, tanda tangani dengan sertifikat tepercaya, misalnya dengan winapp az-sign. Untuk informasi selengkapnya, lihat Keamanan .
Untuk panduan langkah demi langkah yang menyertakan penyiapan dan perubahan UI pertama Anda, lihat Membangun aplikasi WinUI pertama Anda. Untuk melihat semua templat yang tersedia, jalankan winapp new --list. Untuk alur kerja lengkap, termasuk penelusuran kesalahan, otomatisasi UI, dan pengemasan, lihat Menggunakan CLI winapp dengan WinUI.
Penginstalan
WinGet
Cara term mudah untuk menginstal CLI adalah melalui WinGet (Windows Package Manager):
winget install Microsoft.winappcli --source winget
Jika Anda menggunakan modul WinGet PowerShell, jalankan Install-WinGetPackage Microsoft.winappcli sebagai gantinya.
NPM
Untuk proyek Electron, instal melalui NPM:
npm install @microsoft/winappcli --save-dev
GitHub Actions /Azure DevOps
Untuk pipelines CI/CD, gunakan tindakan setup-WinAppCli untuk menginstal CLI secara otomatis pada runner/agen Anda.
Unduhan manual
Unduh build terbaru dari rilis GitHub.
Verifikasi penginstalan
Setelah diinstal, verifikasi penginstalan dengan memanggil CLI:
winapp --help
Atau jika menggunakan Electron/Node.js:
npx winapp --help
Gunakan CLI winapp dengan agen AI
winapp CLI dirancang untuk bekerja dengan baik dengan agen pengodean AI. Perintah seperti find-ui dan find-api mengembalikan output yang dapat dibaca mesin dengan --json, sehingga agen dapat mencari sampel WinUI nyata dan Windows Runtime API sebelum menulis kode.
Instal plugin winapp untuk memberikan keterampilan agen Anda untuk alur kerja CLI winapp:
# GitHub Copilot CLI
copilot plugin install microsoft/WinAppCli
# Claude Code
claude plugin marketplace add microsoft/WinAppCli
claude plugin install winappcli@winappcli
Jika Anda bekerja di Visual Studio Code, ekstensi WinApp VS Code menjalankan perintah CLI winapp dari editor dan meluncurkan aplikasi Anda dengan identitas paket saat Anda menekan F5. Instal ekstensi ini dari Visual Studio Marketplace.
Kerangka kerja yang didukung
winapp CLI berfungsi dengan WinUI dan kerangka kerja aplikasi lainnya:
| Kerangka kerja | Panduan |
|---|---|
| WinUI | Mulai menggunakan WinUI |
| .NET / WPF / WinForms | Mulai dengan .NET |
| .NET MAUI | Mulai menggunakan .NET MAUI |
| C++ (CMake) | Memulai dengan C++ |
| Elektron | Mulai dengan Electron |
| Rust | Mulai dengan Rust |
| Tauri | Mulai dengan Tauri |
| Flutter | Memulai dengan Flutter |
Panduan tambahan:
- Mengemas EXE/CLI: panduan langkah demi langkah untuk mengemas EXE/CLI yang ada sebagai MSIX
- Pemaketan sparse: memberikan identitas paket kepada aplikasi yang tidak dipaketkan dengan MSIX khusus identitas (sparse) dan konten eksternal
- Penyelesaian Shell: mengaktifkan penyelesaian tab untuk perintah, opsi, dan nilai di PowerShell, bash, zsh, dan fish
-
Panduan keamanan: sertifikat pengembangan dan perubahan Mode Pengembang apa pada komputer Anda, cara menangani
devcert.pfx, dan cara menandatangani produksi
Gambaran umum perintah
| Kategori | Perintah |
|---|---|
| Buat & siapkan | new,init,restore,update |
| Jalankan & debug | run,create-debug-identity,embed-identity,unregister |
| Kemasan | pack |
| Manifestasi | manifest generate, manifest update-assets, manifest add-alias |
| Sertifikat & Penandatanganan | cert generate, cert install, sign, az-sign, create-external-catalog |
| Pencarian kode untuk agen | find-ui, find-api |
| Otomatisasi UI & Sandbox | ui, target |
| Utilitas | tool,store,get-winapp-path,complete |
| Node.js/Electron | node create-addon,node generate-bindings,node add-electron-debug-identity,node clear-electron-debug-identity |
Untuk referensi CLI lengkap, lihat referensi CLI.
Samples
Folder sampel di GitHub memiliki proyek yang dapat dijalankan untuk setiap kerangka kerja yang didukung:
| Sample | Description |
|---|---|
| WinUI app | Aplikasi WinUI yang dikemas terdaftar dan diluncurkan dengan winapp run |
| WinUI unpackaged app | Aplikasi WinUI yang tidak dikemas diluncurkan dengan winapp run |
| WinUI solution | Solusi multi-proyek (aplikasi dan proyek pengujian) yang menunjukkan cara winapp run memilih proyek aplikasi |
| C++ WinUI app | Jendela WinUI dibangun di C++ dengan CMake, tanpa XAML atau MSBuild |
| WPF app | aplikasi desktop WPF |
| .NET MAUI app | proyek Windows .NET MAUI yang dikemas dan ditandatangani dengan winapp CLI |
| C++ app | Aplikasi Native C++ Win32 yang dibuat dengan CMake |
| Electron | Aplikasi Electron Forge dengan manifes, aset, dan addon C++ dan C# asli |
| Rust app | Aplikasi Rust yang memanggil API Windows |
| Tauri app | Aplikasi Tauri dengan backend Rust |
| Flutter app | Aplikasi desktop flutter dengan identitas paket dan SDK Aplikasi Windows |
| Sparse app | Aplikasi WPF dengan paket sparse (MSIX khusus identitas) dan alat penginstal |
Mengapa identitas paket?
Banyak API Windows mengharuskan aplikasi Anda memiliki identitas paket. Dengan identitas, aplikasi Anda mendapatkan akses ke fitur seperti pemberitahuan, integrasi sistem operasi, dan AI di perangkat. Templat aplikasi WinUI menyertakan manifes paket, jadi winapp run memberikan identitas pada aplikasi tersebut secara default. Untuk daftar lengkap identitas paket apa yang membuka kunci dan membantu memilih model pengemasan yang tepat, lihat Gambaran umum pengemasan.
Sumber terbuka
winapp CLI sumber terbuka. Anda dapat menemukan kode sumber, masalah file, dan berkontribusi pada GitHub. Untuk bantuan, lihat Dukungan.
Topik terkait
Windows developer