Paquet NPM — API programmatique

Référence TypeScript/API JavaScript pour @microsoft/winappcli. Chaque commande CLI est disponible en tant que fonction asynchrone qui capture stdout/stderr et retourne un résultat typé. Les utilitaires d’assistance pour l’identité MSIX, l’identité de débogage Electron et les outils de compilation sont également exportés.

Installation

npm install @microsoft/winappcli

Démarrage rapide

import { init, packageApp, certGenerate } from '@microsoft/winappcli';

// Initialize a new project with defaults
await init({ useDefaults: true });

// Generate a dev certificate
await certGenerate({ install: true });

// Package the built app
await packageApp({ inputFolder: './dist', cert: './devcert.pfx' });

Types courants

Chaque wrapper de commande CLI accepte un objet options qui s’étend CommonOptions et retourne Promise<WinappResult>.

CommonOptions

Options de base partagées par la plupart des commandes.

Propriété Catégorie Obligatoire Description
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

WinappResult

Résultat renvoyé par chaque enveloppe de commande.

Propriété Catégorie Obligatoire Description
exitCode number Oui Code de sortie du processus (toujours 0 en cas de réussite – non zéro génère une exception).
stdout string Oui Sortie standard capturée.
stderr string Oui Erreur standard capturée.

Enveloppes de commandes CLI

Ces fonctions encapsulent les commandes CLI natives winapp . Acceptent tous CommonOptions (quiet, verbose, cwd).

certGenerate()

Créez un certificat auto-signé pour les tests locaux uniquement. L'éditeur doit correspondre au manifeste (déduit automatiquement si --manifest est fourni ou si Package.appxmanifest se trouve dans le répertoire de travail). Sortie : devcert.pfx (mot de passe par défaut : « mot de passe »). Pour la production, obtenez un certificat auprès d’une autorité de certification approuvée. Utilisez « cert install » pour faire confiance à cet ordinateur.

function certGenerate(options?: CertGenerateOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
exportCer boolean \| undefined Non Exporter un fichier .cer (clé publique uniquement) en même temps que le fichier .pfx
ifExists IfExists \| undefined Non Comportement lorsque le fichier de sortie existe : « erreur » (échec, valeur par défaut), « skip » (conserver existant) ou « remplacer » (remplacer)
install boolean \| undefined Non Installer le certificat dans le magasin d’ordinateurs local après la génération
json boolean \| undefined Non Mettre en forme la sortie au format JSON
manifest string \| undefined Non Chemin d’accès au fichier Package.appxmanifest ou appxmanifest.xml pour extraire les informations de l’éditeur.
output string \| undefined Non Chemin d’accès de sortie pour le fichier PFX généré
password string \| undefined Non Mot de passe pour le fichier PFX généré
publisher string \| undefined Non Nom de l'éditeur pour le certificat généré. S’il n’est pas spécifié, il sera déduit du manifeste.
validDays number \| undefined Non Nombre de jours pendant lesquels le certificat est valide

Accepte également CommonOptions (quiet, verbose, cwd).


certInfo()

Afficher les détails du certificat (objet, empreinte numérique, expiration). Utile pour vérifier qu’un certificat correspond à votre manifeste avant la signature.

function certInfo(options: CertInfoOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
certPath string Oui Chemin d’accès au fichier de certificat (PFX)
json boolean \| undefined Non Mettre en forme la sortie au format JSON
password string \| undefined Non Mot de passe pour le fichier PFX

Accepte également CommonOptions (quiet, verbose, cwd).


certInstall()

Approuver un certificat sur cet ordinateur (nécessite l’administrateur). Exécutez avant d’installer des packages MSIX signés avec des certificats de développement. Exemple : winapp cert install ./devcert.pfx. Nécessaire une seule fois par certificat.

function certInstall(options: CertInstallOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
certPath string Oui Chemin d’accès au fichier de certificat (PFX ou CER)
force boolean \| undefined Non Forcer l’installation même si le certificat existe déjà
password string \| undefined Non Mot de passe pour le fichier PFX

Accepte également CommonOptions (quiet, verbose, cwd).


createDebugIdentity()

Activez l'identité du package pour le débogage sans créer un MSIX complet. Requis pour tester Windows API (notifications Push, cible de partage, etc.) pendant le développement. Exemple : winapp create-debug-identity ./myapp.exe. Nécessite Package.appxmanifest ou appxmanifest.xml dans le répertoire actif ou transmis via --manifest. Réexécutez après avoir modifié le manifeste ou les ressources/.

function createDebugIdentity(options?: CreateDebugIdentityOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
entrypoint string \| undefined Non Chemin d’accès au .exe qui devra s’exécuter avec un script d’identité ou de point d’entrée.
keepIdentity boolean \| undefined Non Conservez l’identité du package du manifeste as-is, sans ajouter « .debug » au nom du package et à l’ID d’application.
manifest string \| undefined Non Chemin d’accès au Package.appxmanifest ou appxmanifest.xml
noInstall boolean \| undefined Non N’installez pas le package après la création.

Accepte également CommonOptions (quiet, verbose, cwd).


createExternalCatalog()

Génère un fichier de catalogue CodeIntegrityExternal.cat avec des hachages de fichiers exécutables à partir de répertoires spécifiés. Il est utilisé avec le drapeau TrustedLaunch dans les manifestes de packages MSIX clairsemés (AllowExternalContent) pour permettre l'exécution de fichiers externes non inclus dans le package.

function createExternalCatalog(options: CreateExternalCatalogOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
inputFolder string Oui Liste des dossiers d’entrée avec des fichiers exécutables à traiter (séparés par des points-virgules)
computeFlatHashes boolean \| undefined Non Inclure des hachages plats lors de la génération du catalogue
ifExists IfExists \| undefined Non Comportement lorsque le fichier de sortie existe déjà
output string \| undefined Non Chemin d’accès du fichier catalogue de sortie. S’il n’est pas spécifié, le nom de CodeIntegrityExternal.cat par défaut est utilisé.
recursive boolean \| undefined Non Inclure des fichiers à partir de sous-répertoires
usePageHashes boolean \| undefined Non Inclure des hachages de page lors de la génération du catalogue

Accepte également CommonOptions (quiet, verbose, cwd).


getWinappPath()

Imprimez le chemin d’accès au répertoire .winapp. Utilisez --global pour l’emplacement du cache partagé ou omettez le dossier .winapp local du projet. Utile pour les scripts de génération qui doivent référencer des packages installés.

function getWinappPath(options?: GetWinappPathOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
global boolean \| undefined Non Obtenir le répertoire .winapp global au lieu de local

Accepte également CommonOptions (quiet, verbose, cwd).


init()

Commencez ici pour initialiser une application Windows avec la configuration requise. Configure tout ce qui est nécessaire pour le développement d’applications Windows : crée Package.appxmanifest avec des ressources par défaut, télécharge Windows SDK et SDK d'application Windows packages et génère des projections. Lorsque les packages SDK sont gérés (--setup-sdks stable/preview/experimental), crée également winapp.yaml pour épingler des versions pour « restore »/« update » ; avec --setup-sdks none (par exemple, pour les projets Rust/Tauri qui apportent leurs propres liaisons SDK), aucun winapp.yaml n’est créé. Interactive par défaut (utilisez --use-defaults pour ignorer les invites). Utilisez plutôt « restore » si vous avez cloné un dépôt qui a déjà winapp.yaml. Utilisez « manifest generate » si vous avez uniquement besoin d’un manifeste ou de « cert generate » si vous avez besoin d’un certificat de développement pour la signature de code.

function init(options?: InitOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
baseDirectory string \| undefined Non Répertoire de base/racine de l’espace de travail winapp, pour l'utilisation ou l’installation.
configDir string \| undefined Non Répertoire pour lire/stocker la configuration (par défaut : répertoire actif)
configOnly boolean \| undefined Non Gérez uniquement les opérations de fichier de configuration (créez en cas d’absence, vérifiez s’il existe). Ignorez l’installation du package et d’autres étapes de configuration de l’espace de travail.
ignoreConfig boolean \| undefined Non N’utilisez pas de fichier de configuration pour la gestion des versions
noGitignore boolean \| undefined Non Ne mettez pas à jour le fichier .gitignore
setupSdks SdkInstallMode \| undefined Non Mode d’installation du Kit de développement logiciel (SDK) : « stable » (valeur par défaut), « préversion », « expérimental » ou « none » (ignorer l’installation du SDK)
useDefaults boolean \| undefined Non Ne pas inviter et utiliser la valeur par défaut de toutes les invites

Accepte également CommonOptions (quiet, verbose, cwd).


manifestAddAlias()

Ajoutez un alias d’exécution (uap5 :AppExecutionAlias) à un Package.appxmanifest. Cela permet de lancer l’application empaquetée à partir de la ligne de commande en tapant le nom de l’alias. Par défaut, l’alias est déduit de l’attribut Exécutable (par exemple, $targetnametoken$.exe devient $targetnametoken$.exe alias).

function manifestAddAlias(options?: ManifestAddAliasOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
appId string \| undefined Non ID d’application pour ajouter l’alias à (par défaut : premier élément Application)
manifest string \| undefined Non Chemin d’accès au fichier Package.appxmanifest ou appxmanifest.xml (par défaut : rechercher dans le répertoire actif)
name string \| undefined Non Nom de l’alias (par exemple, 'myapp.exe'). Valeur par défaut : inférée à partir de l’attribut executable dans le manifeste.

Accepte également CommonOptions (quiet, verbose, cwd).


manifestGenerate()

Créez Package.appxmanifest sans configuration complète du projet. Utilisez quand vous avez uniquement besoin d’un manifeste et d’une ressource d’image (aucun SDK, aucun certificat). Pour une configuration complète, utilisez « init » à la place. Modèles : « empaqueté » (MSIX complet), « éparse » (application de bureau nécessitant Windows API).

function manifestGenerate(options?: ManifestGenerateOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
directory string \| undefined Non Répertoire dans lequel générer le manifeste
description string \| undefined Non Description de l’application lisible par l’utilisateur affichée lors de l’installation et dans les paramètres de Windows
executable string \| undefined Non Chemin d’accès à l’exécutable de l’application. Valeur par défaut : <nom-de-package.exe>
ifExists IfExists \| undefined Non Comportement lorsque le fichier de sortie existe : « erreur » (échec, valeur par défaut), « skip » (conserver existant) ou « remplacer » (remplacer)
logoPath string \| undefined Non Chemin d’accès au fichier image du logo
packageName string \| undefined Non Nom du package (par défaut : nom du dossier)
publisherName string \| undefined Non Publisher CN (valeur par défaut : CN=<utilisateur actuel>)
template ManifestTemplates \| undefined Non Type de modèle de manifeste : « empaqueté » (application MSIX complète, valeur par défaut) ou « éparse » (application de bureau avec identité de package pour Windows API)
version string \| undefined Non Version de l’application au format Major.Minor.Build.Revision (par exemple, 1.0.0.0).

Accepte également CommonOptions (quiet, verbose, cwd).


manifestUpdateAssets()

Générez de nouvelles ressources pour les images référencées dans un Package.appxmanifest à partir d’une seule image source. L’image source doit comporter au moins 400 x 400 pixels.

function manifestUpdateAssets(options: ManifestUpdateAssetsOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
imagePath string Oui Chemin d’accès au fichier image source (SVG, PNG, ICO, JPG, BMP, GIF)
lightImage string \| undefined Non Chemin d’accès à l’image source pour les variantes de thème clair (SVG, PNG, ICO, JPG, BMP, GIF)
manifest string \| undefined Non Chemin d’accès au fichier Package.appxmanifest ou appxmanifest.xml (par défaut : rechercher dans le répertoire actif)

Accepte également CommonOptions (quiet, verbose, cwd).


packageApp()

Créez un programme d’installation MSIX à partir de votre application générée. Exécutez après avoir généré votre application. Un manifeste (Package.appxmanifest ou appxmanifest.xml) est requis pour l’empaquetage : il doit se trouver dans le répertoire de travail actuel, passé en tant que --manifest ou se trouver dans le dossier d’entrée. Utilisez --cert devcert.pfx pour signer pour le test. Exemple : package winapp ./dist --manifest Package.appxmanifest --cert ./devcert.pfx

function packageApp(options: PackageOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
inputFolder string Oui Dossier d’entrée avec structure du paquet
cert string \| undefined Non Chemin d’accès au certificat de signature (signer automatiquement s’il est fourni)
certPassword string \| undefined Non Mot de passe du certificat (par défaut : mot de passe)
executable string \| undefined Non Chemin d’accès à l’exécutable par rapport au dossier d’entrée.
generateCert boolean \| undefined Non Générer un nouveau certificat de développement
installCert boolean \| undefined Non Installer un certificat sur l’ordinateur
manifest string \| undefined Non Chemin d’accès au fichier manifeste AppX (par défaut : détection automatique à partir du dossier d’entrée ou du répertoire actif)
name string \| undefined Non Nom du package (valeur par défaut : à partir du manifeste)
output string \| undefined Non Nom de fichier msix de sortie pour le package généré (par défaut nomversionarch.msix, en revenant à nomversion.msix, nomarch.msix, ou nom.msix lorsque la version/l'arch ne peut pas être déterminée)
publisher string \| undefined Non nom de Publisher pour la génération de certificat
selfContained boolean \| undefined Non Packager le runtime SDK d'application Windows pour un déploiement autonome
skipPri boolean \| undefined Non Ignorer la génération de fichiers PRI

Accepte également CommonOptions (quiet, verbose, cwd).


restore()

Utilisez après le clonage d’un dépôt ou lorsque .winapp/ dossier est manquant. Réinstalle les packages sdk à partir de winapp.yaml existants sans modifier les versions. Nécessite winapp.yaml (créé par « init »). Pour rechercher les versions plus récentes du Kit de développement logiciel (SDK), utilisez plutôt « mettre à jour ».

function restore(options?: RestoreOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
baseDirectory string \| undefined Non Répertoire base/racine de l’espace de travail winapp
configDir string \| undefined Non Répertoire à partir duquel lire la configuration (par défaut : répertoire actif)

Accepte également CommonOptions (quiet, verbose, cwd).


run()

Crée une disposition empaquetée, inscrit l’application et lance l’application empaquetée.

function run(options: RunOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
inputFolder string Oui Dossier d’entrée contenant l’application à exécuter
args string \| undefined Non Arguments de la ligne de commande à transmettre à l’application
clean boolean \| undefined Non Supprimez les données d’application du package existant (LocalState, paramètres, etc.) avant le nouveau déploiement. Par défaut, les données d’application sont conservées entre les redéploiements.
debugOutput boolean \| undefined Non Capturez les messages OutputDebugString et les exceptions de première chance de l’application lancée. Un seul débogueur peut s’attacher à un processus à la fois, de sorte que d’autres débogueurs (Visual Studio, VS Code) ne peuvent pas être utilisés simultanément. Utilisez plutôt --no-launch si vous devez attacher un autre débogueur. Impossible de combiner --no-launch ou --json.
detach boolean \| undefined Non Lancez l’application et revenez immédiatement sans attendre qu’elle se termine. Utile pour l’automatisation/ci où vous devez interagir avec l’application après le lancement. Imprime le PID sur stdout (ou au format JSON avec --json).
json boolean \| undefined Non Mettre en forme la sortie au format JSON
manifest string \| undefined Non Chemin d’accès au Package.appxmanifest (par défaut : détection automatique à partir du dossier d’entrée ou du répertoire actif)
noLaunch boolean \| undefined Non Créez uniquement l’identité de débogage et enregistrez le paquet sans lancer l’application.
outputAppxDirectory string \| undefined Non Répertoire de sortie pour le package de disposition libre. S’il n’est pas spécifié, un répertoire nommé AppX à l’intérieur du répertoire input-folder sera utilisé.
symbols boolean \| undefined Non Téléchargez des symboles à partir de Microsoft Symbol Server pour une analyse de crash native plus riche. Utilisé uniquement avec --debug-output. La première exécution télécharge les symboles et les met en cache localement ; les exécutions suivantes utilisent le cache.
unregisterOnExit boolean \| undefined Non Annulez l’inscription du package de développement après la fermeture de l’application. Supprime uniquement les packages inscrits en mode de développement.
withAlias boolean \| undefined Non Lancez l’application à l’aide de son alias d’exécution au lieu de l’activation AUMID. L'application s'exécute dans le terminal actuel avec l'héritage de stdin/stdout/stderr. Nécessite un « uap5:ExecutionAlias » dans le manifeste. Utilisez « winapp manifest add-alias » pour ajouter un alias d’exécution au manifeste.

Accepte également CommonOptions (quiet, verbose, cwd).


sign()

Signer un package MSIX ou un exécutable. Exemple : sign ./app.msix ./devcert.pfx. Utilisez --timestamp pour que les builds de production restent valides après l’expiration du certificat. La commande « package » peut signer automatiquement avec --cert.

function sign(options: SignOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
filePath string Oui Chemin d’accès au fichier/package à signer
certPath string Oui Chemin d’accès au fichier de certificat (format PFX)
password string \| undefined Non Mot de passe du certificat
timestamp string \| undefined Non URL du serveur Timestamp

Accepte également CommonOptions (quiet, verbose, cwd).


store()

Exécutez une commande CLI développeur du Microsoft Store. Cette commande télécharge l’interface CLI Microsoft Store développeur si elle n’est pas déjà téléchargée. En savoir plus sur le CLI développeur du Microsoft Store ici : https://aka.ms/msstoredevcli

function store(options?: StoreOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
storeArgs string[] \| undefined Non Arguments à transmettre à l’interface CLI du développeur Microsoft Store.

Accepte également CommonOptions (quiet, verbose, cwd).


tool()

Exécutez Windows outils sdk directement (makeappx, signtool, makepri, etc.). Télécharge automatiquement les outils de génération si nécessaire. Pour la plupart des tâches, préférez les commandes de niveau supérieur comme « package » ou « sign ». Exemple : winapp tool makeappx pack /d ./folder /p ./out.msix

function tool(options?: ToolOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
toolArgs string[] \| undefined Non Arguments à passer à l’outil SDK, par exemple ['makeappx', 'pack', '/d', './folder', '/p', './out.msix'].

Accepte également CommonOptions (quiet, verbose, cwd).


uiClick()

Cliquez sur un élément en utilisant l'identifiant 'slug' ou en effectuant une recherche de texte à l’aide de la simulation de souris. Fonctionne sur les éléments qui ne prennent pas en charge InvokePattern (par exemple, les en-têtes de colonne, les éléments de liste). Utilisez --double pour double-cliquer, --right pour cliquer avec le bouton droit.

function uiClick(options?: UiClickOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/identifiant d'automatisation
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres en cas d'ambiguïté.
double boolean \| undefined Non Effectuer un double-clic au lieu d’un seul clic
json boolean \| undefined Non Mettre en forme la sortie au format JSON
right boolean \| undefined Non Effectuer un clic droit au lieu d’un clic gauche
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir de la sortie de liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiFocus()

Déplacez le focus clavier vers l’élément spécifié à l’aide d’UIA SetFocus.

function uiFocus(options?: UiFocusOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres en cas d'ambiguïté.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir de la sortie de liste). Prend le dessus sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiGetFocused()

Afficher l’élément qui a actuellement le focus clavier dans l’application cible.

function uiGetFocused(options?: UiGetFocusedOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir de la sortie de liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiGetProperty()

Lire les valeurs de propriété UIA à partir d’un élément. Spécifiez --property pour une propriété unique ou omettez pour toutes.

function uiGetProperty(options?: UiGetPropertyOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom / "automationId"
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si celles-ci sont ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
property string \| undefined Non Nom de propriété sur lequel lire ou filtrer
window number \| undefined Non Fenêtre cible identifiée par HWND (handle stable provenant de la sortie de la liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiGetValue()

Lisez la valeur actuelle à partir d’un élément. Tente TextPattern (RichEditBox, Document), ValuePattern (TextBox, ComboBox, Slider), puis Nom (étiquettes). Utilisation : winapp ui get-value <selector> -a <app>

function uiGetValue(options?: UiGetValueOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom ou identifiant d'automatisation.
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres en cas d'ambiguïté.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir de la sortie de liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiInspect()

Affichez l’arbre des éléments de l’interface utilisateur comprenant des identificateurs sémantiques, des types d’éléments, des noms et leurs limites.

function uiInspect(options?: UiInspectOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
ancestors boolean \| undefined Non Remonter l’arborescence depuis l’élément spécifié jusqu’à la racine
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si elles sont ambiguës.
depth number \| undefined Non Profondeur d’inspection de l’arbre
hideDisabled boolean \| undefined Non Masquer les éléments désactivés de la sortie
hideOffscreen boolean \| undefined Non Masquer les éléments hors écran de la sortie
interactive boolean \| undefined Non Afficher uniquement les éléments interactifs/invocables (boutons, liens, entrées, éléments de liste). Augmente la profondeur par défaut à 8.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible via HWND (handle stable depuis la sortie de la liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiInvoke()

Activez un élément par slug ou par recherche de texte. Essaye InvokePattern, TogglePattern, SelectionItemPattern et ExpandCollapsePattern dans l’ordre.

function uiInvoke(options?: UiInvokeOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible via HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiListWindows()

Répertorie toutes les fenêtres visibles avec leur HWND, leur titre, leur processus et leur taille. Utilisez -a pour filtrer par nom d’application. Utilisez le HWND avec -w pour cibler une fenêtre spécifique.

function uiListWindows(options?: UiListWindowsOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres en cas d'ambiguïté.
json boolean \| undefined Non Mettre en forme la sortie au format JSON

Accepte également CommonOptions (quiet, verbose, cwd).


uiScreenshot()

Capturez la fenêtre ou l’élément cible en tant qu’image PNG. Quand plusieurs fenêtres existent (par exemple, des boîtes de dialogue), capture chacune dans un fichier distinct. Avec --json, retourne le chemin d’accès et les dimensions du fichier. Utilisez --capture-screen pour les fenêtres contextuelles.

function uiScreenshot(options?: UiScreenshotOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
captureScreen boolean \| undefined Non Capture à partir de l’écran (inclut des fenêtres contextuelles/superpositions) au lieu du rendu de fenêtre. Amène d'abord la fenêtre au premier plan.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
output string \| undefined Non Enregistrer la sortie dans le chemin d’accès au fichier (par exemple, capture d’écran)
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiScroll()

Faites défiler un élément de conteneur à l’aide de ScrollPattern. Utilisez --direction pour faire défiler incrémentiellement, ou --pour accéder au haut/bas.

function uiScroll(options?: UiScrollOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
direction string \| undefined Non Direction du défilement : haut, bas, gauche, droite
json boolean \| undefined Non Mettre en forme la sortie au format JSON
to string \| undefined Non Faire défiler jusqu’à la position : haut, bas
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiScrollIntoView()

Faites défiler l’élément spécifié dans la zone visible à l’aide de UIA ScrollItemPattern.

function uiScrollIntoView(options?: UiScrollIntoViewOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiSearch()

Recherchez l’arborescence d’éléments correspondant à une requête de texte. Retourne toutes les correspondances avec des slugs sémantiques.

function uiSearch(options?: UiSearchOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
max number \| undefined Non Résultats de recherche maximum
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiSetValue()

Définissez une valeur sur un élément à l’aide de UIA ValuePattern. Fonctionne pour TextBox, ComboBox, Slider et d’autres contrôles modifiables. Utilisation : winapp IU définir-valeur <sélecteur><valeur> -a <application>

function uiSetValue(options?: UiSetValueOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
value string \| undefined Non Valeur à définir (texte pour TextBox/ComboBox, numéro pour Slider)
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiStatus()

Connectez-vous à une application cible et affichez les informations de connexion.

function uiStatus(options?: UiStatusOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


uiWaitFor()

Attendez qu’un élément apparaisse, disparaisse ou qu’une propriété atteigne une valeur cible. Sonde à des intervalles de 100 ms jusqu’à ce que la condition soit remplie ou que le délai d’expiration soit atteint.

function uiWaitFor(options?: UiWaitForOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
contains boolean \| undefined Non Utiliser la correspondance de sous-chaîne pour --value au lieu d’une correspondance exacte
gone boolean \| undefined Non Attendez que l’élément disparaisse au lieu d’apparaître
json boolean \| undefined Non Mettre en forme la sortie au format JSON
property string \| undefined Non Nom de propriété sur lequel lire ou filtrer
timeout number \| undefined Non Délai d’expiration en millisecondes
value string \| undefined Non Attendez que la valeur de l’élément soit égale à cette chaîne. Utilise le repli intelligent (TextPattern -> ValuePattern -> Name). Combinez-la avec --property pour vérifier une propriété spécifique à la place.
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.

Accepte également CommonOptions (quiet, verbose, cwd).


unregister()

Désinscrit un package de développement chargé en parallèle. Supprime uniquement les packages inscrits en mode de développement (par exemple, via « winapp run » ou « create-debug-identity »).

function unregister(options?: UnregisterOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
force boolean \| undefined Non Ignorez la vérification du répertoire d’emplacement d’installation et annulez l’inscription même si le package a été inscrit à partir d’une autre arborescence de projet
json boolean \| undefined Non Mettre en forme la sortie au format JSON
manifest string \| undefined Non Chemin d’accès au Package.appxmanifest (par défaut : détection automatique à partir du répertoire actif)

Accepte également CommonOptions (quiet, verbose, cwd).


update()

Recherchez et installez des versions plus récentes du SDK. Met à jour winapp.yaml avec les dernières versions et réinstalle les packages. Nécessite winapp.yaml existant (créé par « init »). Utilisez la préversion de --setup-sdks pour les kits sdk en préversion. Pour réinstaller les versions actuelles sans mettre à jour, utilisez plutôt « restore ».

function update(options?: UpdateOptions): Promise<WinappResult>

Options :

Propriété Catégorie Obligatoire Description
setupSdks SdkInstallMode \| undefined Non Mode d’installation du Kit de développement logiciel (SDK) : « stable » (valeur par défaut), « préversion », « expérimental » ou « none » (ignorer l’installation du SDK)

Accepte également CommonOptions (quiet, verbose, cwd).


Fonctions utilitaires

execWithBuildTools()

Exécuter une commande avec le chemin bin de BuildTools ajouté à l'environnement PATH

function execWithBuildTools(command: string, options?: ExecSyncOptions): string | Buffer<ArrayBufferLike>

Paramètres :

Paramètre Catégorie Obligatoire Description
command string Oui Commande à exécuter
options ExecSyncOptions Non Options à passer à execSync (facultatif)

Retourne : Sortie de 'execSync'


addMsixIdentityToExe()

Ajoute des informations d’identité de package à partir d’un fichier appxmanifest.xml au manifeste incorporé d’un exécutable

function addMsixIdentityToExe(exePath: string, appxManifestPath?: string | undefined, options?: MsixIdentityOptions): Promise<MsixIdentityResult>

Paramètres :

Paramètre Catégorie Obligatoire Description
exePath string Oui Chemin d’accès au fichier exécutable
appxManifestPath string \| undefined Non Chemin d’accès au fichier appxmanifest.xml contenant des données d’identité de package
options MsixIdentityOptions Non Configuration facultative

addElectronDebugIdentity()

Ajoute l'identité du package au processus de débogage d'Electron

function addElectronDebugIdentity(options?: MsixIdentityOptions): Promise<ElectronDebugIdentityResult>

Paramètres :

Paramètre Catégorie Obligatoire Description
options MsixIdentityOptions Non Options de configuration

clearElectronDebugIdentity()

Efface/supprime l’identité du paquet du processus de débogage Electron en la restaurant depuis la sauvegarde

function clearElectronDebugIdentity(options?: MsixIdentityOptions): Promise<ClearElectronDebugIdentityResult>

Paramètres :

Paramètre Catégorie Obligatoire Description
options MsixIdentityOptions Non Options de configuration

getGlobalWinappPath()

Obtenir le chemin d’accès au répertoire .winapp global

function getGlobalWinappPath(): string

Retourne : Le chemin complet du répertoire .winapp global


getLocalWinappPath()

Obtenir le chemin d’accès au répertoire .winapp local

function getLocalWinappPath(): string

Retourne: Chemin complet du répertoire .winapp local


Les commandes CLI Node.js

Ces commandes sont disponibles exclusivement via npx winapp node <subcommand> et ne sont pas exportées en tant que fonctions programmatiques.

node create-addon

Générez des fichiers de complément natifs pour un projet Electron. Prend en charge les modèles C++ (node-gyp) et C# (node-api-dotnet).

npx winapp node create-addon [options]

Options :

Flag Description
--name <name> Nom du module complémentaire (la valeur par défaut dépend du modèle)
--template <type> Modèle de complément : cpp ou cs (par défaut : cpp)
--verbose Activer la sortie détaillée

Note : Doit être exécuté depuis la racine d'un projet Electron (le répertoire contenant package.json).

Exemples :

npx winapp node create-addon
npx winapp node create-addon --name myAddon
npx winapp node create-addon --template cs --name MyCsAddon

node add-electron-debug-identity

Ajoutez l’identité de package au processus de débogage Electron à l’aide du packaging sparse. Crée une sauvegarde de electron.exe, génère un manifeste MSIX sparse, ajoute l'identité à l'exécutable et enregistre le package sparse. Nécessite un Package.appxmanifest (créer un avec winapp init ou winapp manifest generate).

npx winapp node add-electron-debug-identity [options]

Options :

Flag Description
--manifest <path> Chemin d’accès personnalisé Package.appxmanifest (par défaut : Package.appxmanifest dans le répertoire actif)
--no-install N’installez pas le package après la création
--keep-identity Conservez l'identité du manifeste telle quelle, sans ajouter de suffixe .debug.
--verbose Activer la sortie détaillée

Note : Doit être lancé depuis la racine d’un projet Electron (le répertoire contenant node_modules/electron). Pour annuler, utilisez npx winapp node clear-electron-debug-identity.

Exemples :

npx winapp node add-electron-debug-identity
npx winapp node add-electron-debug-identity --manifest ./custom/Package.appxmanifest

node clear-electron-debug-identity

Supprimez l’identité du package du processus de débogage Electron. Restaure electron.exe à partir de la sauvegarde créée par add-electron-debug-identity et supprime les fichiers de sauvegarde.

npx winapp node clear-electron-debug-identity [options]

Options :

Flag Description
--verbose Activer la sortie détaillée

Note: Doit être exécuté à partir de la racine d’un projet Electron (répertoire contenant node_modules/electron).

Exemples :

npx winapp node clear-electron-debug-identity

Informations de référence sur les types

ExecSyncOptions

Réexportation à partir de Node.js pour des raisons pratiques. Consultez Node.js documentation.

MsixIdentityOptions

Propriété Catégorie Obligatoire Description
verbose boolean \| undefined Non
noInstall boolean \| undefined Non
keepIdentity boolean \| undefined Non
manifest string \| undefined Non

MsixIdentityResult

Propriété Catégorie Obligatoire Description
success boolean Oui

ElectronDebugIdentityResult

Propriété Catégorie Obligatoire Description
success boolean Oui
electronExePath string Oui
backupPath string Oui
manifestPath string Oui
assetsDir string Oui

ClearElectronDebugIdentityResult

Propriété Catégorie Obligatoire Description
success boolean Oui
electronExePath string Oui
restoredFromBackup boolean Oui

CallWinappCliOptions

Propriété Catégorie Obligatoire Description
exitOnError boolean \| undefined Non

CallWinappCliResult

Propriété Catégorie Obligatoire Description
exitCode number Oui

CallWinappCliCaptureOptions

Propriété Catégorie Obligatoire Description
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd())

CallWinappCliCaptureResult

Propriété Catégorie Obligatoire Description
exitCode number Oui
stdout string Oui
stderr string Oui

GenerateCppAddonOptions

Propriété Catégorie Obligatoire Description
name string \| undefined Non
projectRoot string \| undefined Non
verbose boolean \| undefined Non

GenerateCppAddonResult

Propriété Catégorie Obligatoire Description
success boolean Oui
addonName string Oui
addonPath string Oui
needsTerminalRestart boolean Oui
files string[] Oui

GenerateCsAddonOptions

Propriété Catégorie Obligatoire Description
name string \| undefined Non
projectRoot string \| undefined Non
verbose boolean \| undefined Non

GenerateCsAddonResult

Propriété Catégorie Obligatoire Description
success boolean Oui
addonName string Oui
addonPath string Oui
needsTerminalRestart boolean Oui
files string[] Oui

IfExists

Valeurs IfExists.

type IfExists = "error" | "overwrite" | "skip"

SdkInstallMode

Valeurs de SdkInstallMode.

type SdkInstallMode = "stable" | "preview" | "experimental" | "none"

ManifestTemplates

Valeurs de ManifestTemplates.

type ManifestTemplates = "packaged" | "sparse"

CertGenerateOptions

Propriété Catégorie Obligatoire Description
exportCer boolean \| undefined Non Exporter un fichier .cer (clé publique uniquement) en même temps que le fichier .pfx
ifExists IfExists \| undefined Non Comportement lorsque le fichier de sortie existe : « erreur » (échec, valeur par défaut), « skip » (conserver existant) ou « remplacer » (remplacer)
install boolean \| undefined Non Installer le certificat dans le magasin d’ordinateurs local après la génération
json boolean \| undefined Non Mettre en forme la sortie au format JSON
manifest string \| undefined Non Chemin d’accès au fichier Package.appxmanifest ou appxmanifest.xml pour extraire les informations de l’éditeur.
output string \| undefined Non Chemin d’accès de sortie pour le fichier PFX généré
password string \| undefined Non Mot de passe pour le fichier PFX généré
publisher string \| undefined Non Nom de l'éditeur pour le certificat généré. S’il n’est pas spécifié, il sera déduit du manifeste.
validDays number \| undefined Non Nombre de jours pendant lesquels le certificat est valide
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

CertInfoOptions

Propriété Catégorie Obligatoire Description
certPath string Oui Chemin d’accès au fichier de certificat (PFX)
json boolean \| undefined Non Mettre en forme la sortie au format JSON
password string \| undefined Non Mot de passe pour le fichier PFX
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

CertInstallOptions

Propriété Catégorie Obligatoire Description
certPath string Oui Chemin d’accès au fichier de certificat (PFX ou CER)
force boolean \| undefined Non Forcer l’installation même si le certificat existe déjà
password string \| undefined Non Mot de passe pour le fichier PFX
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

CreateDebugIdentityOptions

Propriété Catégorie Obligatoire Description
entrypoint string \| undefined Non Chemin d’accès au .exe qui devra s’exécuter avec un script d’identité ou de point d’entrée.
keepIdentity boolean \| undefined Non Conservez l’identité du package du manifeste as-is, sans ajouter « .debug » au nom du package et à l’ID d’application.
manifest string \| undefined Non Chemin d’accès au Package.appxmanifest ou appxmanifest.xml
noInstall boolean \| undefined Non N’installez pas le package après la création.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

CreateExternalCatalogOptions

Propriété Catégorie Obligatoire Description
inputFolder string Oui Liste des dossiers d’entrée avec des fichiers exécutables à traiter (séparés par des points-virgules)
computeFlatHashes boolean \| undefined Non Inclure des hachages plats lors de la génération du catalogue
ifExists IfExists \| undefined Non Comportement lorsque le fichier de sortie existe déjà
output string \| undefined Non Chemin d’accès du fichier catalogue de sortie. S’il n’est pas spécifié, le nom de CodeIntegrityExternal.cat par défaut est utilisé.
recursive boolean \| undefined Non Inclure des fichiers à partir de sous-répertoires
usePageHashes boolean \| undefined Non Inclure des hachages de page lors de la génération du catalogue
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

GetWinappPathOptions

Propriété Catégorie Obligatoire Description
global boolean \| undefined Non Obtenir le répertoire .winapp global au lieu de local
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

InitOptions

Propriété Catégorie Obligatoire Description
baseDirectory string \| undefined Non Répertoire de base/racine de l’espace de travail winapp, pour la consommation ou l’installation.
configDir string \| undefined Non Répertoire pour lire/stocker la configuration (par défaut : répertoire actif)
configOnly boolean \| undefined Non Gérez uniquement les opérations de fichier de configuration (créez en cas d’absence, vérifiez s’il existe). Ignorez l’installation du package et d’autres étapes de configuration de l’espace de travail.
ignoreConfig boolean \| undefined Non N’utilisez pas de fichier de configuration pour la gestion des versions
noGitignore boolean \| undefined Non Ne mettez pas à jour le fichier .gitignore
setupSdks SdkInstallMode \| undefined Non Mode d’installation du Kit de développement logiciel (SDK) : « stable » (valeur par défaut), « préversion », « expérimental » ou « none » (ignorer l’installation du SDK)
useDefaults boolean \| undefined Non Ne pas inviter et utiliser la valeur par défaut de toutes les invites
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

ManifestAddAliasOptions

Propriété Catégorie Obligatoire Description
appId string \| undefined Non ID d’application pour ajouter l’alias à (par défaut : premier élément Application)
manifest string \| undefined Non Chemin d’accès au fichier Package.appxmanifest ou appxmanifest.xml (par défaut : rechercher dans le répertoire actif)
name string \| undefined Non Nom de l’alias (par exemple, 'myapp.exe'). Valeur par défaut : déduit de l’attribut Exécutable dans le manifeste.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

ManifestGenerateOptions

Propriété Catégorie Obligatoire Description
directory string \| undefined Non Répertoire dans lequel générer le manifeste
description string \| undefined Non Description de l’application lisible par l’utilisateur affichée lors de l’installation et dans les paramètres de Windows
executable string \| undefined Non Chemin d’accès à l’exécutable de l’application. Par défaut : <package-name>.exe
ifExists IfExists \| undefined Non Comportement lorsque le fichier de sortie existe : « erreur » (échec, valeur par défaut), « skip » (conserver existant) ou « remplacer » (remplacer)
logoPath string \| undefined Non Chemin d’accès au fichier image du logo
packageName string \| undefined Non Nom du package (par défaut : nom du dossier)
publisherName string \| undefined Non Publisher CN (valeur par défaut : CN=<utilisateur actuel>)
template ManifestTemplates \| undefined Non Type de modèle de manifeste : « empaqueté » (application MSIX complète, valeur par défaut) ou « éparse » (application de bureau avec identité de package pour Windows API)
version string \| undefined Non Version de l’application au format Major.Minor.Build.Revision (par exemple, 1.0.0.0).
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

ManifestUpdateAssetsOptions

Propriété Catégorie Obligatoire Description
imagePath string Oui Chemin d’accès au fichier image source (SVG, PNG, ICO, JPG, BMP, GIF)
lightImage string \| undefined Non Chemin d’accès à l’image source pour les variantes de thème clair (SVG, PNG, ICO, JPG, BMP, GIF)
manifest string \| undefined Non Chemin d’accès au fichier Package.appxmanifest ou appxmanifest.xml (par défaut : rechercher dans le répertoire actif)
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

PackageOptions

Propriété Catégorie Obligatoire Description
inputFolder string Oui Dossier d'entrée avec disposition du paquet
cert string \| undefined Non Chemin d’accès au certificat de signature (signer automatiquement s’il est fourni)
certPassword string \| undefined Non Mot de passe du certificat (par défaut : mot de passe)
executable string \| undefined Non Chemin d’accès à l’exécutable par rapport au dossier d’entrée.
generateCert boolean \| undefined Non Générer un nouveau certificat de développement
installCert boolean \| undefined Non Installer un certificat sur l’ordinateur
manifest string \| undefined Non Chemin d’accès au fichier manifeste AppX (par défaut : détection automatique à partir du dossier d’entrée ou du répertoire actif)
name string \| undefined Non Nom du package (valeur par défaut : à partir du manifeste)
output string \| undefined Non Nom de fichier msix de sortie pour le package généré (par défaut à <nom><version><arch>.msix, en cas d'échec, à <nom><version>.msix, <nom><arch>.msix, ou <nom>.msix lorsque la version/arch ne peut être déterminée)
publisher string \| undefined Non nom de Publisher pour la génération de certificat
selfContained boolean \| undefined Non Regrouper le runtime du SDK des applications Windows pour le déploiement autonome
skipPri boolean \| undefined Non Ignorer la génération de fichiers PRI
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

RestoreOptions

Propriété Catégorie Obligatoire Description
baseDirectory string \| undefined Non Répertoire base/racine de l’espace de travail winapp
configDir string \| undefined Non Répertoire à partir duquel lire la configuration (par défaut : répertoire actif)
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

RunOptions

Propriété Catégorie Obligatoire Description
inputFolder string Oui Dossier d’entrée contenant l’application à exécuter
args string \| undefined Non Arguments de ligne de commande à passer à l’application
clean boolean \| undefined Non Supprimez les données d’application du package existant (LocalState, paramètres, etc.) avant le nouveau déploiement. Par défaut, les données d’application sont conservées entre les redéploiements.
debugOutput boolean \| undefined Non Capturez les messages OutputDebugString et les exceptions de première chance de l’application lancée. Un seul débogueur peut s’attacher à un processus à la fois, de sorte que d’autres débogueurs (Visual Studio, VS Code) ne peuvent pas être utilisés simultanément. Utilisez plutôt --no-launch si vous devez attacher un autre débogueur. Impossible de combiner --no-launch ou --json.
detach boolean \| undefined Non Lancez l’application et revenez immédiatement sans attendre qu’elle se termine. Utile pour l’automatisation/ci où vous devez interagir avec l’application après le lancement. Imprime le PID sur stdout (ou au format JSON avec --json).
json boolean \| undefined Non Mettre en forme la sortie au format JSON
manifest string \| undefined Non Chemin d’accès au Package.appxmanifest (par défaut : détection automatique à partir du dossier d’entrée ou du répertoire actif)
noLaunch boolean \| undefined Non Créez uniquement l’identité de débogage et enregistrez le package sans lancer l’application.
outputAppxDirectory string \| undefined Non Répertoire de sortie pour le package de disposition libre. S’il n’est pas spécifié, un répertoire nommé AppX à l’intérieur du répertoire input-folder sera utilisé.
symbols boolean \| undefined Non Téléchargez des symboles depuis le serveur de symboles Microsoft pour une analyse plus approfondie des incidents natifs. Utilisé uniquement avec --debug-output. La première exécution télécharge les symboles et les met en cache localement ; les exécutions suivantes utilisent le cache.
unregisterOnExit boolean \| undefined Non Annulez l’inscription du package de développement après la fermeture de l’application. Supprime uniquement les packages inscrits en mode de développement.
withAlias boolean \| undefined Non Lancez l’application à l’aide de son alias d’exécution au lieu de l’activation AUMID. L'application s'exécute dans le terminal actuel avec l'héritage de stdin/stdout/stderr. Nécessite un « uap5:ExecutionAlias » dans le manifeste. Utilisez « winapp manifest add-alias » pour ajouter un alias d’exécution au manifeste.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

SignOptions

Propriété Catégorie Obligatoire Description
filePath string Oui Chemin d’accès au fichier/package à signer
certPath string Oui Chemin d’accès au fichier de certificat (format PFX)
password string \| undefined Non Mot de passe du certificat
timestamp string \| undefined Non URL du serveur Timestamp
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

StoreOptions

Propriété Catégorie Obligatoire Description
storeArgs string[] \| undefined Non Arguments à transmettre à l’interface CLI du développeur Microsoft Store.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

ToolOptions

Propriété Catégorie Obligatoire Description
toolArgs string[] \| undefined Non Arguments à passer à l’outil SDK, par exemple ['makeappx', 'pack', '/d', './folder', '/p', './out.msix'].
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiClickOptions

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
double boolean \| undefined Non Effectuer un double-clic au lieu d’un seul clic
json boolean \| undefined Non Mettre en forme la sortie au format JSON
right boolean \| undefined Non Effectuer un clic droit au lieu d’un clic gauche
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiFocusOptions

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiGetFocusedOptions

Propriété Catégorie Obligatoire Description
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiGetPropertyOptions

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
property string \| undefined Non Nom de propriété sur lequel lire ou filtrer
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiGetValueOptions

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom ou *automationId*
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir de la sortie de liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiInspectOptions

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/ID d'automatisation
ancestors boolean \| undefined Non Parcourir l'arborescence à partir de l'élément spécifié jusqu'à la racine
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorier les fenêtres si elles sont ambiguës.
depth number \| undefined Non Profondeur d’inspection de l’arbre
hideDisabled boolean \| undefined Non Masquer les éléments désactivés de la sortie
hideOffscreen boolean \| undefined Non Masquer les éléments hors écran du rendu
interactive boolean \| undefined Non Afficher uniquement les éléments interactifs/invocables (boutons, liens, entrées, éléments de liste). Augmente la profondeur par défaut à 8.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir de la sortie de liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiInvokeOptions

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ce n'est pas clair.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir de la sortie de liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiListWindowsOptions

Propriété Catégorie Obligatoire Description
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres lorsqu'elles sont ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiScreenshotOptions

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom ou par automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
captureScreen boolean \| undefined Non Capture à partir de l’écran (inclut des fenêtres contextuelles/superpositions) au lieu du rendu de fenêtre. Amène d'abord la fenêtre au premier plan.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
output string \| undefined Non Enregistrer la sortie dans le chemin d’accès au fichier (par exemple, capture d’écran)
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir de la sortie de liste). Prend le dessus sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiScrollOptions

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom ou par automationId.
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres en cas d'ambiguïté.
direction string \| undefined Non Direction du défilement : haut, bas, gauche, droite
json boolean \| undefined Non Mettre en forme la sortie au format JSON
to string \| undefined Non Faire défiler jusqu’à la position : haut, bas
window number \| undefined Non Fenêtre cible via HWND (handle stable depuis la sortie de liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiScrollIntoViewOptions

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom ou identifiant d'automatisation
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir de la sortie de liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiSearchOptions

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom ou identifiant d'automatisation
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres en cas d'ambiguïté.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
max number \| undefined Non Résultats de recherche maximum
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir de la sortie de liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie verbeuse.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiSetValueOptions

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom ou identifiant d'automatisation.
value string \| undefined Non Valeur à définir (texte pour TextBox/ComboBox, numéro pour Slider)
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Affiche la liste des fenêtres en cas d'ambiguïté.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir de la sortie de liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiStatusOptions

Propriété Catégorie Obligatoire Description
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres si ambiguës.
json boolean \| undefined Non Mettre en forme la sortie au format JSON
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir du résultat de la liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UiWaitForOptions

Propriété Catégorie Obligatoire Description
selector string \| undefined Non Slug sémantique (par exemple, btn-minimize-d1a0) ou texte à rechercher par nom/automationId
app string \| undefined Non Application cible (nom du processus, titre de la fenêtre ou PID). Répertorie les fenêtres en cas d'ambiguïté.
contains boolean \| undefined Non Utiliser la correspondance de sous-chaîne pour --value au lieu d’une correspondance exacte
gone boolean \| undefined Non Attendez que l’élément disparaisse au lieu d’apparaître
json boolean \| undefined Non Mettre en forme la sortie au format JSON
property string \| undefined Non Nom de propriété sur lequel lire ou filtrer
timeout number \| undefined Non Délai d’expiration en millisecondes
value string \| undefined Non Attendez que la valeur de l’élément soit égale à cette chaîne. Utilise le repli intelligent (TextPattern -> ValuePattern -> Name). Combinez-la avec --property pour vérifier une propriété spécifique à la place.
window number \| undefined Non Fenêtre cible par HWND (handle stable à partir de la sortie de liste). Est prioritaire sur --app.
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UnregisterOptions

Propriété Catégorie Obligatoire Description
force boolean \| undefined Non Ignorez la vérification du répertoire d’emplacement d’installation et annulez l’inscription même si le package a été inscrit à partir d’une autre arborescence de projet
json boolean \| undefined Non Mettre en forme la sortie au format JSON
manifest string \| undefined Non Chemin d’accès au Package.appxmanifest (par défaut : détection automatique à partir du répertoire actif)
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).

UpdateOptions

Propriété Catégorie Obligatoire Description
setupSdks SdkInstallMode \| undefined Non Mode d’installation du Kit de développement logiciel (SDK) : « stable » (valeur par défaut), « préversion », « expérimental » ou « none » (ignorer l’installation du SDK)
quiet boolean \| undefined Non Supprimez les messages de progression.
verbose boolean \| undefined Non Activez la sortie détaillée.
cwd string \| undefined Non Répertoire de travail pour le processus CLI (par défaut, process.cwd()).