Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
De Windows App Development CLI bevindt zich momenteel in public preview. Functies en opdrachten kunnen vóór de definitieve release worden gewijzigd.
Op deze pagina worden alle beschikbare opdrachten voor de winapp CLI gedocumenten.
Algemene opties
Alle opdrachten ondersteunen deze algemene opties:
| Option | Beschrijving |
|---|---|
--verbose, -v |
Gedetailleerde logboekuitvoer inschakelen voor uitgebreide logging |
--quiet, -q |
Voortgangsberichten onderdrukken |
--help, -h |
Help voor commando's weergeven |
Globale cachemap
WinApp maakt een map voor het opslaan van bestanden die kunnen worden gedeeld tussen meerdere projecten. Dit is standaard $UserProfile/.winapp.
Als u een andere locatie wilt gebruiken, stelt u de WINAPP_CLI_CACHE_DIRECTORY omgevingsvariabele in:
$env:WINAPP_CLI_CACHE_DIRECTORY = "d:\temp\.winapp"
Installatieopdrachten
init
Initialiseer een map met Windows SDK, Windows App SDK en vereiste assets voor moderne Windows-ontwikkeling.
winapp init [base-directory] [options]
Argumenten:
| Argument | Beschrijving |
|---|---|
base-directory |
Basis-/hoofdmap voor de app/werkruimte (standaard: huidige map) |
Opties:
| Option | Beschrijving |
|---|---|
--config-dir <path> |
Configuratie van map voor lezen/opslaan (standaard: huidige map) |
--setup-sdks |
SDK-installatiemodus: stable (standaard), preview, experimental, of none |
--ignore-config, --no-config |
Gebruik geen configuratiebestand voor versiebeheer |
--no-gitignore |
.gitignore-bestand niet bijwerken |
--use-defaults, --no-prompt |
Niet vragen en de standaardinstellingen voor alle prompts gebruiken |
--config-only |
Alleen configuratiebestandsbewerkingen verwerken, pakketinstallatie overslaan |
Wat het doet:
- Configuratiebestand maken
winapp.yaml - Windows SDK- en Windows App SDK-pakketten downloaden
- Hiermee worden C++/WinRT-headers en binaire bestanden gegenereerd
- Hiermee maakt u AppxManifest.xml
- Hiermee stelt u buildhulpprogramma's in en activeert u de ontwikkelaarsmodus.
- Werkt .gitignore bij om gegenereerde bestanden uit te sluiten
Automatische .NET-projectdetectie:
Wanneer een .csproj-bestand wordt gevonden in de doelmap, gebruikt init een gestroomlijnde .NET-specifieke stroom:
- Valideert en werkt de
TargetFrameworkbij naar een Windows-compatibele TFM (bijvoorbeeldnet10.0-windows10.0.26100.0) - Voegt
Microsoft.WindowsAppSDKenMicrosoft.Windows.SDK.BuildToolsals NuGet-vermeldingenPackageReferencerechtstreeks toe in de.csproj - Genereert
appxmanifest.xml, assets en een ontwikkelingscertificaat - Maakt geen C++-projecties aan
winapp.yamlof downloadt ze (gebruikdotnet restorevoor NuGet-pakketten)
Voorbeelden:
# 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
Aanbeveling
Als u init hebt uitgevoerd met --setup-sdks none en later de SDK's nodig hebt, voert u winapp init --use-defaults --setup-sdks stable opnieuw uit. Hiermee blijven bestaande bestanden behouden (manifest, enzovoort).
herstellen
Herstel pakketten en genereer bestanden opnieuw op basis van de bestaande winapp.yaml configuratie.
winapp restore [options]
Opties:
| Option | Beschrijving |
|---|---|
--config-dir <path> |
Map met winapp.yaml (standaard: huidige map) |
Wat het doet:
- Leest de bestaande
winapp.yamlconfiguratie - SDK-pakketten downloaden/bijwerken naar opgegeven versies
- Genereert C++/WinRT-headers en binaire bestanden opnieuw
Opmerking
Voor .NET projecten die zijn geïnitialiseerd met winapp init, is er geen winapp.yaml. Gebruik dotnet restore in plaats daarvan om NuGet-pakketten te herstellen.
Voorbeelden:
# Restore from winapp.yaml in current directory
winapp restore
update
Werk pakketten bij naar de nieuwste versies en werk het configuratiebestand bij.
winapp update [options]
Opties:
| Option | Beschrijving |
|---|---|
--config-dir <path> |
Map met winapp.yaml (standaard: huidige map) |
--setup-sdks |
SDK-installatiemodus: stable (standaard), preview, experimental, of none |
Wat het doet:
- Leest de bestaande
winapp.yamlconfiguratie - Alle pakketten bijwerken naar de nieuwste beschikbare versies
-
winapp.yamlHet bestand bijwerken met nieuwe versienummers - Genereert C++/WinRT-headers en binaire bestanden opnieuw
Voorbeelden:
# Update packages to latest versions
winapp update
# Update including experimental packages
winapp update --setup-sdks experimental
Verpakkingscommando's
pack
MSIX-pakketten maken op basis van voorbereide toepassingsmappen. Vereist dat appxmanifest.xml bestand aanwezig is in de doelmap, in de huidige map of doorgegeven met de --manifest optie.
winapp pack <input-folder> [options]
Argumenten:
| Argument | Beschrijving |
|---|---|
input-folder |
Map met de toepassingsbestanden die moeten worden verpakt |
Opties:
| Option | Beschrijving |
|---|---|
--output <filename> |
MSIX-uitvoerbestandsnaam (standaard: <name>.msix) |
--name <name> |
Pakketnaam (standaard: van manifest) |
--manifest <path> |
Pad naar "AppxManifest.xml" (standaard: automatisch gedetecteerd) |
--cert <path> |
Pad naar handtekeningcertificaat (automatisch ondertekenen is ingeschakeld) |
--cert-password <password> |
Certificaatwachtwoord (standaard: 'wachtwoord') |
--generate-cert |
Een nieuw ontwikkelingscertificaat genereren |
--install-cert |
Certificaat installeren op computer |
--publisher <name> |
Publisher naam voor het genereren van certificaten |
--self-contained |
Bundel Windows App SDK runtime |
--skip-pri |
Pri-bestandsgeneratie overslaan |
--executable <path> |
Pad naar het uitvoerbare bestand ten opzichte van de invoermap. Wordt gebruikt om tijdelijke aanduidingen in het manifest op te lossen $targetnametoken$ . |
Wat het doet:
- Valideert en verwerkt AppxManifest.xml bestanden
- Hiermee wordt
$placeholder$tokens in het manifest omgezet (zie manifestvariabelen) - Zorgt voor de juiste frameworkafhankelijkheden
- Manifesten parallel bijwerken met registraties
- Verwerkt zelfstandige Windows App SDK-implementatie
- Ondertekent het pakket indien het certificaat is verstrekt.
Voorbeelden:
# 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
create-debug-identity
Maak een app-identiteit voor debuggen zonder volledige MSIX-packaging met behulp van externe locatie/sparse-packaging.
winapp create-debug-identity [entrypoint] [options]
Argumenten:
| Argument | Beschrijving |
|---|---|
entrypoint |
Pad naar uitvoerbaar bestand (.exe) of script dat identiteit nodig heeft |
Opties:
| Option | Beschrijving |
|---|---|
--manifest <path> |
Pad naar AppxManifest.xml (standaard: ./appxmanifest.xml) |
--no-install |
Installeer het pakket niet na het maken |
--keep-identity |
Houd de manifestidentiteit zoals het is, zonder .debug toe te voegen aan de pakketnaam en toepassings-ID. |
Wat het doet:
- Wijzigt het side-by-side manifest van het uitvoerbare bestand
- Sparse-pakket voor identiteit registreren
- Hiermee schakelt u de foutopsporing in voor API's waarvoor identiteit nodig is
Voorbeelden:
# 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
Manifestopdrachten
manifest genereren
Genereer AppxManifest.xml op basis van sjablonen.
winapp manifest generate [directory] [options]
Argumenten:
| Argument | Beschrijving |
|---|---|
directory |
Map voor het genereren van manifest in (standaard: huidige map) |
Opties:
| Option | Beschrijving |
|---|---|
--package-name <name> |
Pakketnaam (standaard: mapnaam) |
--publisher-name <name> |
Publisher CN (standaard: CN=<current user>) |
--version <version> |
Versie (standaard: "1.0.0.0") |
--description <text> |
Beschrijving (standaard: 'Mijn toepassing') |
--entrypoint <path> |
Invoerpunt-uitvoerbaar bestand of script |
--template <type> |
Sjabloontype: packaged (standaard) of sparse |
--logo-path <path> |
Pad naar logoafbeeldingsbestand |
--if-exists <Error\|Overwrite\|Skip> |
Gedrag als het bestand al bestaat (standaard: fout) |
Sjablonen:
-
packaged- Standaard verpakte app-manifest -
sparse- Appmanifest met behulp van spaarzame/externe locatieverpakking
Plaatsaanduidingen van het manifest
Gegenereerde manifesten gebruiken $placeholder$ tokens (door dollartekens gescheiden) die automatisch worden omgezet tijdens het verpakken:
| Plaatsaanduiding | Opgelost in | Voorbeeld |
|---|---|---|
$targetnametoken$ |
Uitvoerbare naam zonder extensie |
Executable="$targetnametoken$.exe" wordt Executable="MyApp.exe" |
$targetentrypoint$ |
Windows.FullTrustApplication |
Altijd automatisch opgelost |
Hoe tijdelijke aanduidingen worden omgezet:
-
winapp pack$targetnametoken$wordt omgezet met behulp van de--executable-optie of door automatisch de enkele.exein de invoermap te detecteren. -
winapp create-debug-identity$targetnametoken$wordt omgezet vanuit het invoerpuntargument wanneer deze is opgegeven. -
winapp manifest generate --executableextraheert metagegevens uit het uitvoerbare bestand, maar blijft$targetnametoken$.exein het manifest voor latere resolutie.
Aanbeveling
Door $targetnametoken$ in het ingecheckte manifest te behouden, worden harde coderingen van uitvoerbare bestandsnamen vermeden en is het compatibel met zowel winapp pack- als Visual Studio-builds.
Voorbeelden:
# 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 bijwerken-assets
Genereer alle vereiste MSIX-afbeeldingsbronnen van één bronafbeelding.
winapp manifest update-assets <image-path> [options]
Argumenten:
| Argument | Beschrijving |
|---|---|
image-path |
Pad naar bronafbeeldingsbestand (PNG, JPG, GIF, enzovoort) |
Opties:
| Option | Beschrijving |
|---|---|
--manifest <path> |
Pad naar AppxManifest.xml bestand (standaard: zoeken in huidige map) |
Neemt één bronafbeelding en genereert automatisch alle 12 vereiste MSIX-afbeeldingbestanden op de juiste grootte. Assets worden opgeslagen in de Assets map relatief aan de manifestlocatie.
Voorbeelden:
# 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
Opdrachten voor certificaten en ondertekening
certificaat genereren
Ontwikkelcertificaten genereren voor pakketondertekening.
winapp cert generate [options]
Opties:
| Option | Beschrijving |
|---|---|
--manifest <appxmanifest.xml> |
Gegevens uit publisher appxmanifest.xmlextraheren |
--publisher <name> |
Publisher naam voor certificaat |
--output <path> |
Pad naar uitvoercertificaatbestand |
--password <password> |
Certificaatwachtwoord (standaard: 'wachtwoord') |
--valid-days <days> |
Aantal dagen dat het certificaat geldig is (standaard: 365) |
--install |
Het certificaat na het genereren installeren in het archief van de lokale computer |
--if-exists <Error\|Overwrite\|Skip> |
Gedrag als het certificaatbestand al bestaat (standaard: fout) |
certificaat installeren
Installeer het certificaat in de certificaatopslag van de machine.
winapp cert install <cert-path>
Argumenten:
| Argument | Beschrijving |
|---|---|
cert-path |
Pad naar certificaatbestand dat moet worden geïnstalleerd |
Voorbeelden:
# Generate certificate for specific publisher
winapp cert generate --publisher "CN=My Company" --output ./mycert.pfx
# Install certificate to machine
winapp cert install ./mycert.pfx
teken
Onderteken MSIX-pakketten en uitvoerbare bestanden met certificaten.
winapp sign <file-path> [options]
Argumenten:
| Argument | Beschrijving |
|---|---|
file-path |
Pad naar het MSIX-pakket of uitvoerbare bestand om te ondertekenen |
Opties:
| Option | Beschrijving |
|---|---|
--cert <path> |
Pad naar handtekeningcertificaat |
--cert-password <password> |
Certificaatwachtwoord (standaard: 'wachtwoord') |
Voorbeelden:
# Sign MSIX package
winapp sign MyApp.msix --cert ./mycert.pfx
# Sign executable
winapp sign ./bin/MyApp.exe --cert ./mycert.pfx --cert-password mypassword
Hulpprogrammaopdrachten
werktuig
Toegang tot Windows SDK-hulpprogramma's rechtstreeks. Maakt gebruik van hulpprogramma's die beschikbaar zijn in Microsoft.Windows.SDK.BuildTools.
winapp tool <tool-name> [tool-arguments]
Beschikbare hulpprogramma's:
-
makeappx- App-pakketten maken en bewerken -
signtool- Bestanden ondertekenen en handtekeningen verifiëren -
mt- Manifesthulpprogramma voor assembly's naast elkaar - En andere Windows SDK-hulpprogramma's van Microsoft.Windows.SDK.BuildTools
Voorbeelden:
# Use signtool to verify signature
winapp tool signtool verify /pa MyApp.msix
store
Voer een Microsoft Store Developer CLI-opdracht uit. Met deze opdracht wordt de Microsoft Store Developer CLI gedownload als deze nog niet is gedownload. Meer informatie vindt u in Microsoft Store Developer CLI.
winapp store [args...]
Argumenten:
| Argument | Beschrijving |
|---|---|
args... |
Argumenten die rechtstreeks moeten worden doorgegeven aan de msstore CLI |
Voorbeelden:
# 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
Paden ophalen naar geïnstalleerde Windows SDK-onderdelen.
winapp get-winapp-path [options]
Retourneert paden naar de .winapp werkruimtemap, pakketinstallatiemappen en gegenereerde headerlocaties.
Node.js/Electron-opdrachten
Deze opdrachten zijn alleen beschikbaar in het NPM-pakket.
node uitbreiding-aanmaken
Genereer systeemeigen C++- of C#-invoegtoepassingssjablonen met Windows SDK en Windows App SDK integratie.
npx winapp node create-addon [options]
Opties:
| Option | Beschrijving |
|---|---|
--name <name> |
Naam van invoegtoepassing (standaard: "nativeWindowsAddon") |
--template |
Selecteer het type invoegtoepassing: cs of cpp (standaard: cpp) |
--verbose |
Uitgebreide uitvoer inschakelen |
Wat het doet:
- Maakt een map voor invoegtoepassingen met sjabloonbestanden
- Genereert binding.gyp- en addon-bestanden met Windows SDK-voorbeelden
- Vereiste npm-afhankelijkheden installeren
- Hiermee voegt u een buildscript toe aan package.json
Voorbeelden:
# Generate addon with default name
npx winapp node create-addon
# Generate custom named C# addon
npx winapp node create-addon --name myWindowsAddon --template cs
knooppunt add-electron-debug-identity
Voeg de identiteit van de app toe aan het ontwikkelingsproces van Electron door gebruik te maken van 'sparse packaging'. Hiervoor is een appxmanifest.xml vereist (maak er een met winapp init of winapp manifest generate).
Belangrijk
Er is een bekend probleem met sparse packaging Electron-toepassingen die ervoor zorgen dat de app vastloopt bij het starten of niet genereren van webinhoud. Het probleem is opgelost in Windows, maar is nog niet doorgegeven aan alle apparaten. U kunt sandboxing uitschakelen in uw Electron-app met de --no-sandbox vlag als tijdelijke oplossing. Dit probleem heeft geen invloed op volledige MSIX-pakketten.
Als u de Electron-foutopsporingsidentiteit ongedaan wilt maken, gebruikt u winapp node clear-electron-debug-identity.
npx winapp node add-electron-debug-identity [options]
Opties:
| Option | Beschrijving |
|---|---|
--manifest <path> |
Pad naar aangepaste appxmanifest.xml (standaard: appxmanifest.xml in de huidige map) |
--no-install |
Installeer of wijzig geen afhankelijkheden; alleen de Electron-foutopsporingsidentiteit configureren |
--keep-identity |
Houd de manifestidentiteit ongewijzigd, zonder .debug toe te voegen |
--verbose |
Uitgebreide uitvoer inschakelen |
Voorbeelden:
# 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
knooppunt clear-electron-debug-identity
Verwijder pakketidentiteit uit het electron-foutopsporingsproces door de oorspronkelijke electron.exe te herstellen uit de back-up.
npx winapp node clear-electron-debug-identity [options]
Opties:
| Option | Beschrijving |
|---|---|
--verbose |
Uitgebreide uitvoer inschakelen |
Voorbeelden:
# Remove identity from Electron development process
npx winapp node clear-electron-debug-identity
Verwante onderwerpen
Windows developer