Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Windows App Geliştirme CLI'si şu anda public preview sürümündedir. Özellikler ve komutlar son sürümden önce değişebilir.
Bu sayfa , winapp CLI için tüm kullanılabilir komutları belgelemektedir.
Genel seçenekler
Tüm komutlar şu genel seçenekleri destekler:
| Seçenek | Açıklama |
|---|---|
--verbose, -v |
Ayrıntılı çıktı için ayrıntılı günlük kaydını etkinleştirme |
--quiet, -q |
İlerleme iletilerini gizleme |
--help, -h |
Komut yardımlarını göster |
Genel önbellek dizini
WinApp, birden çok proje arasında paylaşılabilen dosyaları önbelleğe almak için bir dizin oluşturur. Varsayılan olarak, bu şeklindedir $UserProfile/.winapp.
Farklı bir konum kullanmak için ortam değişkenini WINAPP_CLI_CACHE_DIRECTORY ayarlayın:
$env:WINAPP_CLI_CACHE_DIRECTORY = "d:\temp\.winapp"
Kurulum komutları
başlat
Windows SDK'sı, Windows App SDK ve modern Windows geliştirmesi için gerekli varlıklarla bir dizin başlatın.
winapp init [base-directory] [options]
Argümanlar:
| Argument | Açıklama |
|---|---|
base-directory |
Uygulama/çalışma alanı için temel/kök dizin (varsayılan: geçerli dizin) |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--config-dir <path> |
Okuma/depolama yapılandırması dizini (varsayılan: geçerli dizin) |
--setup-sdks |
SDK yükleme modu: stable (varsayılan), preview, experimentalveya none |
--ignore-config, --no-config |
Sürüm yönetimi için yapılandırma dosyasını kullanma |
--no-gitignore |
.gitignore dosyasını güncellemeyin |
--use-defaults, --no-prompt |
İstem göstermeyin ve tüm istemler için varsayılanı kullanın. |
--config-only |
Yalnızca yapılandırma dosyası işlemlerini işleyin, paket yüklemesini atlayın |
Ne yapar:
- Yapılandırma dosyası oluşturur
winapp.yaml - Windows SDK'sı ve Windows App SDK paketlerini indirir
- C++/WinRT üst bilgileri ve ikili dosyaları oluşturur
- AppxManifest.xml oluşturur
- Derleme araçlarını ayarlar ve geliştirici modunu etkinleştirir
- Oluşturulan dosyaları dışlamak için .gitignore güncelleştirmeleri
Otomatik .NET proje tespiti:
Hedef dizinde bir .csproj dosyası bulunduğunda, init kolaylaştırılmış .NET özgü bir akış kullanır:
- Windows uyumlu bir TFM'yi doğrular ve güncelleştirir
TargetFramework(örneğinnet10.0-windows10.0.26100.0) -
Microsoft.WindowsAppSDKveMicrosoft.Windows.SDK.BuildToolsgirdilerini NuGetPackageReferencegirdisi olarak doğrudan.csproj'a ekler. -
appxmanifest.xml, varlıkları ve geliştirme sertifikası oluşturur - C++ projeksiyonları oluşturmaz
winapp.yamlveya indirmez (NuGet paketleri için kullanındotnet restore)
Örnekler:
# Initialize current directory
winapp init
# Initialize with experimental packages
winapp init --setup-sdks experimental
# Initialize specific directory without prompts
winapp init ./my-project --use-defaults
# Initialize a .NET project (auto-detected from .csproj)
cd my-dotnet-app
winapp init
Tavsiye
Eğer init ve --setup-sdks none ile çalıştıysanız ve daha sonra SDK'lara ihtiyacınız varsa, winapp init --use-defaults --setup-sdks stable'yi yeniden çalıştırın. Bu, mevcut dosyaları (bildirim vb.) korur.
eski haline döndürmek
Paketleri geri yükleyin ve mevcut winapp.yaml yapılandırmaya göre dosyaları yeniden oluşturun.
winapp restore [options]
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--config-dir <path> |
winapp.yaml içeren dizin (varsayılan: geçerli dizin) |
Ne yapar:
- Mevcut
winapp.yamlyapılandırmayı okur - SDK paketlerini belirtilen sürümlere indirir/güncelleştirir
- C++/WinRT üst bilgilerini ve ikili dosyalarını yeniden oluşturur
Uyarı
winapp init ile başlatılan .NET projeleri için winapp.yaml yoktur. Bunun yerine NuGet paketlerini geri yüklemek için kullanın dotnet restore .
Örnekler:
# Restore from winapp.yaml in current directory
winapp restore
güncelleştirmek
Paketleri en son sürümlerine güncelleştirin ve yapılandırma dosyasını güncelleştirin.
winapp update [options]
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--config-dir <path> |
winapp.yaml içeren dizin (varsayılan: geçerli dizin) |
--setup-sdks |
SDK yükleme modu: stable (varsayılan), preview, experimentalveya none |
Ne yapar:
- Mevcut
winapp.yamlyapılandırmayı okur - Tüm paketleri en son kullanılabilir sürümlerine güncelleştirir
-
winapp.yamlDosyayı yeni sürüm numaralarıyla güncelleştirir - C++/WinRT üst bilgilerini ve ikili dosyalarını yeniden oluşturur
Örnekler:
# Update packages to latest versions
winapp update
# Update including experimental packages
winapp update --setup-sdks experimental
Paketleme komutları
pack
Hazırlanan uygulama dizinlerinden MSIX paketleri oluşturun. appxmanifest.xml dosyasının hedef dizinde, geçerli dizinde bulunmasını veya seçeneğiyle geçirilmesini --manifest gerektirir.
winapp pack <input-folder> [options]
Argümanlar:
| Argument | Açıklama |
|---|---|
input-folder |
Paketlendirecek uygulama dosyalarını içeren dizin |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--output <filename> |
Çıkış MSIX dosya adı (varsayılan: <name>.msix) |
--name <name> |
Paket adı (varsayılan: manifestodan) |
--manifest <path> |
AppxManifest.xml yolu (varsayılan: otomatik algılama) |
--cert <path> |
İmzalama sertifikası yolu (otomatik imzalamayı etkinleştirir) |
--cert-password <password> |
Sertifika parolası (varsayılan: "parola") |
--generate-cert |
Yeni bir geliştirme sertifikası oluşturma |
--install-cert |
Makineye sertifika yükleme |
--publisher <name> |
Sertifika oluşturma için Publisher adı |
--self-contained |
Windows App SDK çalışma zamanını paketleme |
--skip-pri |
PRI dosya oluşturmayı atlama |
--executable <path> |
Giriş klasörüne göre yürütülebilir dosyanın yolu. Bildirimdeki $targetnametoken$ yer tutucularını çözümlemek için kullanılır. |
Ne yapar:
- AppxManifest.xml dosyalarını doğrular ve işler
- Bildirimdeki
$placeholder$belirteçleri çözümler (bkz Bildirim yer tutucuları) - Uygun çerçeve bağımlılıklarını sağlar
- Yan yana bildirimleri kayıtlarla güncelleştirir
- Bağımsız Windows App SDK dağıtımını işler
- Sertifika sağlandıysa paketi imzalar
Örnekler:
# Package directory with auto-detected manifest
winapp pack ./dist
# Package with custom output name and certificate
winapp pack ./dist --output MyApp.msix --cert ./cert.pfx
# Package with generated and installed certificate and self-contained runtime
winapp pack ./dist --generate-cert --install-cert --self-contained
# Package with explicit executable
winapp pack ./dist --executable MyApp.exe
hata ayıklama kimliği oluştur
Dış konum/seyrek paketleme kullanarak tam MSIX paketlemesi olmadan hata ayıklama için uygulama kimliği oluşturun.
winapp create-debug-identity [entrypoint] [options]
Argümanlar:
| Argument | Açıklama |
|---|---|
entrypoint |
Kimlik doğrulaması gerektiren yürütülebilir dosya (.exe) veya betiğin yolu |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--manifest <path> |
AppxManifest.xml yolu (varsayılan: ./appxmanifest.xml) |
--no-install |
Oluşturma işleminden sonra paketi yüklemeyin |
--keep-identity |
Paket adına ve uygulama kimliğine .debug eklemeden bildirim kimliğini olduğu gibi bırakın. |
Ne yapar:
- Yürütülebilir dosyanın yan yana bildirimini değiştirir
- Kimlik için hafif paketi kaydeder
- Kimlik gerektiren API'lerde hata ayıklamayı etkinleştirir
Örnekler:
# Add identity to executable using local manifest
winapp create-debug-identity ./bin/MyApp.exe
# Add identity with custom manifest location
winapp create-debug-identity ./dist/app.exe --manifest ./custom-manifest.xml
Bildirim komutları
bildirim oluşturma
Şablonlardan AppxManifest.xml oluşturun.
winapp manifest generate [directory] [options]
Argümanlar:
| Argument | Açıklama |
|---|---|
directory |
Içinde bildirim oluşturulacak dizin (varsayılan: geçerli dizin) |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--package-name <name> |
Paket adı (varsayılan: klasör adı) |
--publisher-name <name> |
Publisher CN (varsayılan: CN=<current user>) |
--version <version> |
Sürüm (varsayılan: "1.0.0.0") |
--description <text> |
Açıklama (varsayılan: "Uygulamam") |
--entrypoint <path> |
Giriş noktası yürütülebilir dosyası veya betiği |
--template <type> |
Şablon türü: packaged (varsayılan) veya sparse |
--logo-path <path> |
Logo resim dosyasının yolu |
--if-exists <Error\|Overwrite\|Skip> |
Dosya zaten varsa davranış (varsayılan: Hata) |
Şablon:
-
packaged- Standart paketlenmiş uygulama bildirimi -
sparse- Seyrek/dış konum paketleme kullanan uygulama manifesti
Manifesto yer tutucuları
Paketleme zamanında otomatik olarak çözümlenen (dolar işareti ile sınırlandırılmış) $placeholder$ belirteçlerini kullanan oluşturulmuş bildirimler:
| Yer tutucu | Çözümlenme: | Example |
|---|---|---|
$targetnametoken$ |
Uzantısız yürütülebilir ad |
Executable="$targetnametoken$.exe" Olur Executable="MyApp.exe" |
$targetentrypoint$ |
Windows.FullTrustApplication |
Her zaman otomatik olarak çözümlenir |
Yer tutucular nasıl çözümlenir:
-
winapp packseçeneğini veya giriş klasöründeki tek.exe'yi otomatik olarak algılayarak$targetnametoken$kullanımıyla--executableçözümler. -
winapp create-debug-identitysağlandığında giriş noktası bağımsız değişkeninden$targetnametoken$çözümler. -
winapp manifest generate --executableyürütülebilir dosyadan meta verileri ayıklar, ancak$targetnametoken$.exedaha sonra çözümleme için manifestte tutar.
Tavsiye
$targetnametoken$’yi taahhüt edilen bildiriminizde koruyarak, yürütülebilir adların sabit kodlanmasından kaçınırsınız ve hem winapp pack hem de Visual Studio derlemeleriyle çalışır.
Örnekler:
# Generate standard manifest interactively
winapp manifest generate
# Generate with all options specified
winapp manifest generate ./src --package-name MyApp --publisher-name "CN=My Company" --if-exists overwrite
manifesto varlıkları güncelle
Tüm gerekli MSIX görüntü varlıklarını tek bir kaynak görüntüden oluşturun.
winapp manifest update-assets <image-path> [options]
Argümanlar:
| Argument | Açıklama |
|---|---|
image-path |
Kaynak görüntü dosyasının yolu (PNG, JPG, GIF vb.) |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--manifest <path> |
AppxManifest.xml dosyasının yolu (varsayılan: geçerli dizinde ara) |
Tek bir kaynak görüntü alır ve gerekli 12 MSIX görüntü varlığının tümünü doğru boyutlarda otomatik olarak oluşturur. Varlıklar, bildirim konumuna Assets göre dizine kaydedilir.
Örnekler:
# Generate assets with auto-detected manifest
winapp manifest update-assets mylogo.png
# Specify manifest location explicitly
winapp manifest update-assets mylogo.png --manifest ./dist/appxmanifest.xml
Sertifika ve imzalama komutları
sertifika oluşturma
Paket imzalama için geliştirme sertifikaları oluşturun.
winapp cert generate [options]
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--manifest <appxmanifest.xml> |
Çıkar appxmanifest.xml dosyasından yayımcı bilgilerini |
--publisher <name> |
Sertifika için Publisher adı |
--output <path> |
Çıkış sertifikası dosya yolu |
--password <password> |
Sertifika parolası (varsayılan: "parola") |
--valid-days <days> |
Sertifikanın geçerli olduğu gün sayısı (varsayılan: 365) |
--install |
Sertifikayı oluşturma sonrasında yerel makine deposuna yükleme |
--if-exists <Error\|Overwrite\|Skip> |
Sertifika dosyası zaten varsa davranış (varsayılan: Hata) |
sertifika yükleme
Sertifikayı makine sertifika deposuna yükleyin.
winapp cert install <cert-path>
Argümanlar:
| Argument | Açıklama |
|---|---|
cert-path |
Yüklenecek sertifika dosyasının yolu |
Örnekler:
# Generate certificate for specific publisher
winapp cert generate --publisher "CN=My Company" --output ./mycert.pfx
# Install certificate to machine
winapp cert install ./mycert.pfx
işaret
MSIX paketlerini ve yürütülebilir dosyaları sertifikalarla imzalayın.
winapp sign <file-path> [options]
Argümanlar:
| Argument | Açıklama |
|---|---|
file-path |
İmzalanacak MSIX paketi veya yürütülebilir dosya yolu |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--cert <path> |
İmzalama sertifikası yolu |
--cert-password <password> |
Sertifika parolası (varsayılan: "parola") |
Örnekler:
# Sign MSIX package
winapp sign MyApp.msix --cert ./mycert.pfx
# Sign executable
winapp sign ./bin/MyApp.exe --cert ./mycert.pfx --cert-password mypassword
Yardımcı program komutları
araç
Windows SDK araçlarına doğrudan erişin. Microsoft.Windows.SDK.BuildTools'ta bulunan araçları kullanır.
winapp tool <tool-name> [tool-arguments]
Kullanılabilir araçlar:
-
makeappx- Uygulama paketleri oluşturma ve işleme -
signtool- Dosyaları imzalama ve imzaları doğrulama -
mt- Yan yana derlemeler için manifest aracı - Microsoft.Windows.SDK.BuildTools'un diğer Windows SDK araçları
Örnekler:
# Use signtool to verify signature
winapp tool signtool verify /pa MyApp.msix
store
Bir Microsoft Store Geliştirici CLI komutu çalıştırın. Bu komut, henüz indirilmemişse Microsoft Store Geliştirici CLI'sini indirir. Daha fazla bilgi için bkz. Microsoft Store Geliştirici CLI'sı.
winapp store [args...]
Argümanlar:
| Argument | Açıklama |
|---|---|
args... |
Doğrudan CLI'ya geçirmek için msstore bağımsız değişkenler |
Örnekler:
# List all apps in your Microsoft Partner Center account
winapp store app list
# Publish a package to the Microsoft Store
winapp store publish ./myapp.msix --appId <your-app-id>
get-win-uygulama-yolu
Yüklü Windows SDK bileşenlerinin yollarını alın.
winapp get-winapp-path [options]
Çalışma alanı dizinine .winapp , paket yükleme dizinlerine ve oluşturulan üst bilgi konumlarına giden yolları döndürür.
Node.js/Electron komutları
Bu komutlar yalnızca NPM paketinde kullanılabilir.
node eklenti-oluştur
Windows SDK ve Windows App SDK tümleştirmesi ile yerel C++ veya C# eklenti şablonları oluşturun.
npx winapp node create-addon [options]
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--name <name> |
Addon adı (varsayılan: "nativeWindowsAddon") |
--template |
Eklenti türünü seçin: cs veya cpp (varsayılan: cpp) |
--verbose |
Ayrıntılı çıktıyı etkinleştir |
Ne yapar:
- Şablon dosyalarıyla addon dizini oluşturur
- Windows SDK örnekleriyle binding.gyp ve addon dosyaları oluşturur
- Gerekli npm bağımlılıklarını yükler
- package.json dosyasına derleme komut dosyası ekler
Örnekler:
# Generate addon with default name
npx winapp node create-addon
# Generate custom named C# addon
npx winapp node create-addon --name myWindowsAddon --template cs
node add-electron-debug-identity
Seyrek paketleme kullanarak Elektron geliştirme sürecine uygulama kimliği ekleyin. appxmanifest.xml dosyası gereklidir (veya winapp init veya winapp manifest generate ile oluşturabilirsiniz).
Önemli
Elektron uygulamalarında dağınık paketleme nedeniyle, uygulamanın başlangıçta çökmesine veya web içeriğini görüntülememesine neden olan bilinen bir sorun vardır. Sorun Windows'ta düzeltildi ancak henüz tüm cihazlara yayılmadı. Geçici çözüm olarak Electron uygulamanızda korumalı alanı devre dışı bırakmak için bu bayrağı kullanabilirsiniz.--no-sandbox Bu sorun tam MSIX paketlemesini etkilemez.
Elektron hata ayıklama kimliğini geriye almak için winapp node clear-electron-debug-identity kullanın.
npx winapp node add-electron-debug-identity [options]
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--manifest <path> |
Özel appxmanifest.xml dosyasının yolu (varsayılan: mevcut dizindeki appxmanifest.xml) |
--no-install |
Bağımlılıkları yüklemeyin veya değiştirmeyin; yalnızca Elektron hata ayıklama kimliğini yapılandırma |
--keep-identity |
Manifest kimliğini eklemeden olduğu gibi kalsın .debug |
--verbose |
Ayrıntılı çıktıyı etkinleştir |
Örnekler:
# Add identity to Electron development process
npx winapp node add-electron-debug-identity
# Use a custom manifest file
npx winapp node add-electron-debug-identity --manifest ./custom/appxmanifest.xml
node clear-electron-debug-identity
Özgün electron.exe yedekten geri yükleyerek Electron hata ayıklama işleminden paket kimliğini kaldırın.
npx winapp node clear-electron-debug-identity [options]
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--verbose |
Ayrıntılı çıktıyı etkinleştir |
Örnekler:
# Remove identity from Electron development process
npx winapp node clear-electron-debug-identity
İlgili konular
Windows developer