Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
CLI för Windows App Development finns för närvarande i public preview. Funktioner och kommandon kan ändras innan den slutliga versionen.
På den här sidan dokumenteras alla tillgängliga kommandon för winapp CLI.
Globala alternativ
Alla kommandon har stöd för följande globala alternativ:
| Option | Beskrivning |
|---|---|
--verbose, -v |
Aktivera utförliga utdata för detaljerad loggning |
--quiet, -q |
Ignorera förloppsmeddelanden |
--help, -h |
Visa kommandohjälp |
Global cachekatalog
WinApp skapar en katalog för cachelagring av filer som kan delas mellan flera projekt. Som standard är detta $UserProfile/.winapp.
Om du vill använda en annan plats anger du WINAPP_CLI_CACHE_DIRECTORY miljövariabeln:
$env:WINAPP_CLI_CACHE_DIRECTORY = "d:\temp\.winapp"
Installationskommandon
init
Initiera en katalog med Windows SDK, Windows App SDK och nödvändiga tillgångar för modern Windows-utveckling.
winapp init [base-directory] [options]
Argument:
| Argument | Beskrivning |
|---|---|
base-directory |
Bas-/rotkatalog för appen/arbetsytan (standard: aktuell katalog) |
Alternativ:
| Option | Beskrivning |
|---|---|
--config-dir <path> |
Katalog för att läsa/lagra konfiguration (standard: aktuell katalog) |
--setup-sdks |
SDK-installationsläge: stable (standard), preview, experimentaleller none |
--ignore-config, --no-config |
Använd inte konfigurationsfilen för versionshantering |
--no-gitignore |
Uppdatera inte .gitignore-filen |
--use-defaults, --no-prompt |
Fråga inte och använd standardvärdet för alla prompter |
--config-only |
Hantera endast konfigurationsfilåtgärder, hoppa över paketinstallation |
Vad den gör:
- Skapar
winapp.yamlkonfigurationsfil - Laddar ned Windows SDK- och Windows App SDK-paket
- Genererar C++/WinRT-huvuden och binärfiler
- Skapar AppxManifest.xml
- Konfigurerar byggverktyg och aktiverar utvecklarläge
- Uppdaterar .gitignore för att exkludera genererade filer
Automatisk .NET projektdetektering:
När en .csproj-fil finns i målkatalogen använder init ett effektiviserat .NET specifikt flöde:
- Validerar och uppdaterar
TargetFrameworktill en Windows-kompatibel TFM (till exempelnet10.0-windows10.0.26100.0) - Lägger till
Microsoft.WindowsAppSDKochMicrosoft.Windows.SDK.BuildToolssom NuGet-posterPackageReferencedirekt i.csproj - Genererar
appxmanifest.xml, tillgångar och ett utvecklingscertifikat - Skapar inte eller laddar ned C++-projektioner (använd
dotnet restoreför NuGet-paket)
Exempel:
# 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
Tips/Råd
Om du körde init med --setup-sdks none och senare behöver SDK:erna, kör om winapp init --use-defaults --setup-sdks stable. Detta bevarar befintliga filer (manifest osv.).
återställ
Återställ paket och återskapa filer baserat på befintlig winapp.yaml konfiguration.
winapp restore [options]
Alternativ:
| Option | Beskrivning |
|---|---|
--config-dir <path> |
Katalog som innehåller winapp.yaml (standard: aktuell katalog) |
Vad den gör:
- Läser befintlig
winapp.yamlkonfiguration - Laddar ned/uppdaterar SDK-paket till angivna versioner
- Återskapar C++/WinRT-huvuden och binärfiler
Anmärkning
För .NET projekt som initierats med winapp init finns det ingen winapp.yaml. Använd dotnet restore för att återställa NuGet-paket i stället.
Exempel:
# Restore from winapp.yaml in current directory
winapp restore
uppdatering
Uppdatera paketen till de senaste versionerna och uppdatera konfigurationsfilen.
winapp update [options]
Alternativ:
| Option | Beskrivning |
|---|---|
--config-dir <path> |
Katalog som innehåller winapp.yaml (standard: aktuell katalog) |
--setup-sdks |
SDK-installationsläge: stable (standard), preview, experimentaleller none |
Vad den gör:
- Läser befintlig
winapp.yamlkonfiguration - Uppdaterar alla paket till de senaste tillgängliga versionerna
-
winapp.yamlUppdaterar filen med nya versionsnummer - Återskapar C++/WinRT-huvuden och binärfiler
Exempel:
# Update packages to latest versions
winapp update
# Update including experimental packages
winapp update --setup-sdks experimental
Paketeringskommandon
pack
Skapa MSIX-paket från förberedda programkataloger. Kräver att appxmanifest.xml filen finns i målkatalogen, i den aktuella katalogen eller skickas --manifest med alternativet .
winapp pack <input-folder> [options]
Argument:
| Argument | Beskrivning |
|---|---|
input-folder |
Katalog som innehåller programfilerna som ska paketera |
Alternativ:
| Option | Beskrivning |
|---|---|
--output <filename> |
Utdata för MSIX-filnamn (standard: <name>.msix) |
--name <name> |
Paketnamn (standard: från manifest) |
--manifest <path> |
Sökväg till AppxManifest.xml (standard: automatisk identifiering) |
--cert <path> |
Sökväg till signeringscertifikat (möjliggör automatisk signering) |
--cert-password <password> |
Certifikatlösenord (standard: "lösenord") |
--generate-cert |
Generera ett nytt utvecklingscertifikat |
--install-cert |
Installera certifikatet på datorn |
--publisher <name> |
Publisher namn för certifikatgenerering |
--self-contained |
Bunta Windows App SDK körtid |
--skip-pri |
Hoppa över PRI-filgenerering |
--executable <path> |
Sökväg till den körbara filen i förhållande till indatamappen. Används för att lösa $targetnametoken$ platshållare i manifestet. |
Vad den gör:
- Validerar och bearbetar AppxManifest.xml filer
- Löser
$placeholder$token i manifestet (se Platshållare för manifest) - Säkerställer rätt ramverksberoenden
- Uppdaterar manifest sida vid sida med registreringar
- Hanterar fristående Windows App SDK-utplacering
- Signerar paket om certifikatet tillhandahålls
Exempel:
# 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
skapa-debug-identitet
Skapa app-identitet för felsökning utan fullständig MSIX-paketering med extern lagring/gles paketering.
winapp create-debug-identity [entrypoint] [options]
Argument:
| Argument | Beskrivning |
|---|---|
entrypoint |
Sökväg till körbar (.exe) eller skript som behöver identitet |
Alternativ:
| Option | Beskrivning |
|---|---|
--manifest <path> |
Sökväg till AppxManifest.xml (standard: ./appxmanifest.xml) |
--no-install |
Installera inte paketet när du har skapat det |
--keep-identity |
Behåll manifestidentiteten as-is, utan att lägga .debug till paketnamnet och program-ID:t |
Vad den gör:
- Ändrar körbara manifest sida vid sida
- Registrerar sparse-paket för identitet
- Aktiverar felsökning av identitetskrävande API:er
Exempel:
# 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
Manifestkommandon
manifestet generera
Generera AppxManifest.xml från mallar.
winapp manifest generate [directory] [options]
Argument:
| Argument | Beskrivning |
|---|---|
directory |
Katalog för att generera manifest i (standard: aktuell katalog) |
Alternativ:
| Option | Beskrivning |
|---|---|
--package-name <name> |
Paketnamn (standard: mappnamn) |
--publisher-name <name> |
Publisher CN (förvalt: CN=<current user>) |
--version <version> |
Version (förval: "1.0.0.0") |
--description <text> |
Beskrivning (standard: "Mitt program") |
--entrypoint <path> |
Exekverbar startpunkt eller skript |
--template <type> |
Malltyp: packaged (standard) eller sparse |
--logo-path <path> |
Sökväg till logotypbildfil |
--if-exists <Error\|Overwrite\|Skip> |
Beteende om filen redan finns (standard: Fel) |
Mallar:
-
packaged– Standardpaketerad appmanifest -
sparse– Appmanifest med gles/extern plats paketering
Platshållare för manifest
Genererade manifest använder $placeholder$ tokens (avgränsade med dollartecken) som löses automatiskt under paketeringen.
| Platshållare | Löst till | Exempel |
|---|---|---|
$targetnametoken$ |
Körbart namn utan filändelse |
Executable="$targetnametoken$.exe" blir Executable="MyApp.exe" |
$targetentrypoint$ |
Windows.FullTrustApplication |
Alltid löst automatiskt |
Så här hanteras platshållarna:
-
winapp packlöser$targetnametoken$genom--executablealternativ eller genom att automatiskt identifiera den enda.exei indatamappen. -
winapp create-debug-identitylöses$targetnametoken$från argumentet entrypoint när det tillhandahålls. -
winapp manifest generate --executableextraherar metadata från den körbara filen men behåller$targetnametoken$.exei manifestet för senare lösning.
Tips/Råd
Om du håller $targetnametoken$ i ditt incheckade manifest undviker du hårdkodande körbara programnamn och fungerar med både winapp pack och Visual Studio byggen.
Exempel:
# 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
manifest uppdatera-tillgångar
Generera alla nödvändiga MSIX-avbildningstillgångar från en enda källbild.
winapp manifest update-assets <image-path> [options]
Argument:
| Argument | Beskrivning |
|---|---|
image-path |
Sökväg till källbildfilen (PNG, JPG, GIF osv.) |
Alternativ:
| Option | Beskrivning |
|---|---|
--manifest <path> |
Sökväg till AppxManifest.xml fil (standard: sök aktuell katalog) |
Tar en enda källbild och genererar automatiskt de 12 nödvändiga MSIX-avbildningsresurserna med rätt dimensioner. Tillgångar sparas i Assets katalogen i förhållande till manifestets plats.
Exempel:
# 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
Certifikat- och signeringskommandon
certifikat generera
Generera utvecklingscertifikat för paketsignering.
winapp cert generate [options]
Alternativ:
| Option | Beskrivning |
|---|---|
--manifest <appxmanifest.xml> |
Extrahera publiceringsinformation från appxmanifest.xml |
--publisher <name> |
Publicerarnamn för certifikat |
--output <path> |
Sökväg till outputcertifikatfil |
--password <password> |
Certifikatlösenord (standard: "lösenord") |
--valid-days <days> |
Antal dagar som certifikatet är giltigt (standard: 365) |
--install |
Installera certifikatet i det lokala datorarkivet efter genereringen |
--if-exists <Error\|Overwrite\|Skip> |
Beteende om certifikatfilen redan finns (standard: Fel) |
installera certifikat
Installera certifikat till certifikatlager för maskin.
winapp cert install <cert-path>
Argument:
| Argument | Beskrivning |
|---|---|
cert-path |
Sökväg till certifikatfilen som ska installeras |
Exempel:
# Generate certificate for specific publisher
winapp cert generate --publisher "CN=My Company" --output ./mycert.pfx
# Install certificate to machine
winapp cert install ./mycert.pfx
tecken
Signera MSIX-paket och körbara filer med certifikat.
winapp sign <file-path> [options]
Argument:
| Argument | Beskrivning |
|---|---|
file-path |
Sökväg till MSIX-paket eller körbar fil för signering |
Alternativ:
| Option | Beskrivning |
|---|---|
--cert <path> |
Sökväg till signeringscertifikat |
--cert-password <password> |
Certifikatlösenord (standard: "lösenord") |
Exempel:
# Sign MSIX package
winapp sign MyApp.msix --cert ./mycert.pfx
# Sign executable
winapp sign ./bin/MyApp.exe --cert ./mycert.pfx --cert-password mypassword
Verktygskommandon
verktyg
Åtkomst till Windows SDK-verktyg direkt. Använder verktyg som är tillgängliga i Microsoft.Windows.SDK.BuildTools.
winapp tool <tool-name> [tool-arguments]
Tillgängliga verktyg:
-
makeappx– Skapa och manipulera apppaket -
signtool– Signera filer och verifiera signaturer -
mt– Manifestverktyg för sammansättningar sida vid sida - Och andra Windows SDK-verktyg från Microsoft.Windows.SDK.BuildTools
Exempel:
# Use signtool to verify signature
winapp tool signtool verify /pa MyApp.msix
store
Kör ett CLI-kommando för Microsoft Store Developer. Det här kommandot laddar ned Microsoft Store Developer CLI om det inte redan har laddats ned. Läs mer på Microsoft Store Developer CLI.
winapp store [args...]
Argument:
| Argument | Beskrivning |
|---|---|
args... |
Argumenten som ska skickas direkt till msstore CLI |
Exempel:
# 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-winapp-path
Hämta sökvägar till installerade Windows SDK-komponenter.
winapp get-winapp-path [options]
Returnerar sökvägar till .winapp arbetskatalogen, paketinstallationskataloger och genererade headerplatser.
Node.js/Electron-kommandon
Dessa kommandon är endast tillgängliga i NPM-paketet.
node create-addon
Generera interna C++ eller C#-tilläggsmallar med Windows SDK och Windows App SDK integrering.
npx winapp node create-addon [options]
Alternativ:
| Option | Beskrivning |
|---|---|
--name <name> |
Addon-namn (standard: "nativeWindowsAddon") |
--template |
Välj typ av tillägg: cs eller cpp (standard: cpp) |
--verbose |
Aktivera utförliga utdata |
Vad den gör:
- Skapar addon-katalog med mallfiler
- Genererar binding.gyp- och addon-filer med Windows SDK-exempel
- Installerar nödvändiga npm-beroenden
- Lägger till byggskript i package.json
Exempel:
# 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
Lägg till appidentitet i Electron-utvecklingsprocessen med hjälp av gles paketering. Kräver en appxmanifest.xml (skapa en med winapp init eller winapp manifest generate).
Viktigt!
Det finns ett känt problem med gles paketering av Elektronprogram som gör att appen kraschar vid start eller inte renderar webbinnehåll. Problemet har åtgärdats i Windows men har inte spridits till alla enheter ännu. Du kan inaktivera sandbox-miljön i din Electron-app med --no-sandbox flaggan som en lösning. Det här problemet påverkar inte fullständig MSIX-paketering.
Om du vill ångra Electron-felsökningsidentiteten använder du winapp node clear-electron-debug-identity.
npx winapp node add-electron-debug-identity [options]
Alternativ:
| Option | Beskrivning |
|---|---|
--manifest <path> |
Sökväg till anpassad appxmanifest.xml (standard: appxmanifest.xml i aktuella katalogen) |
--no-install |
Installera eller ändra inte beroenden. konfigurera endast electron-felsökningsidentiteten |
--keep-identity |
Behåll manifestidentiteten som den är, utan att lägga till .debug |
--verbose |
Aktivera utförliga utdata |
Exempel:
# 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
nod clear-electron-debug-identity
Ta bort paketidentiteten från Electron-felsökningsprocessen genom att återställa den ursprungliga electron.exe från säkerhetskopian.
npx winapp node clear-electron-debug-identity [options]
Alternativ:
| Option | Beskrivning |
|---|---|
--verbose |
Aktivera utförliga utdata |
Exempel:
# Remove identity from Electron development process
npx winapp node clear-electron-debug-identity
Relaterade ämnen
Windows developer