Windows App Development CLI (winapp CLI)

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

Ikon prompt perintah pada ubin timbul di atas gelombang piksel biru

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

Ikon bug pada petak yang dinaikkan di atas pita diagonal piksel biru

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

Gelembung obrolan dengan ikon berkilau pada ubin yang ditinggikan di atas gelombang piksel biru

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

Penunjuk dan ikon sentuh pada ubin terangkat di atas pita diagonal piksel biru

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

Ikon paket pada ubin yang ditinggikan di atas gelombang piksel biru

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

Ikon potongan teka-teki pada ubin yang ditinggikan di atas pita diagonal piksel biru

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.