Pacote NPM — API Programática

Referência da API TypeScript/JavaScript para @microsoft/winappcli. Cada comando CLI está disponível como uma função assíncrona que captura stdout/stderr e devolve um resultado digitado. Também são exportados utilitários auxiliares para identidade MSIX, identidade de depuração Electron e ferramentas de compilação.

Instalação

npm install @microsoft/winappcli

Início rápido

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' });

Tipos comuns

Cada invólucro de comandos CLI aceita um objeto de opções que se estende CommonOptions e retorna Promise<WinappResult>.

CommonOptions

Opções base partilhadas pela maioria dos comandos.

Property Tipo Obrigatório Description
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão, o valor predefinido é process.cwd()).

WinappResult

Resultado devolvido por cada wrapper de comando.

Property Tipo Obrigatório Description
exitCode number Yes Código de saída do processo (sempre 0 no sucesso – lançamentos não nulos).
stdout string Yes Captura da saída padrão.
stderr string Yes Erro padrão capturado.

Envoltórios de comandos CLI

Estas funções envolvem comandos nativos winapp da CLI. Todos aceitam CommonOptions (quiet, verbose, cwd).

certGenerate()

Crie um certificado auto-assinado apenas para testes locais. O Publisher deve corresponder ao manifest (automaticamente inferido se --manifest fornecido ou Package.appxmanifest estiver no diretório de trabalho). Saída: devcert.pfx (palavra-passe padrão: 'senha'). Para produção, obtenha um certificado de uma Autoridade Certificadora (CA) de confiança. Usa o 'cert install' para confiar nesta máquina.

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

Opções:

Property Tipo Obrigatório Description
exportCer boolean \| undefined No Exporte um ficheiro .cer (apenas chave pública) juntamente com o .pfx
ifExists IfExists \| undefined No Comportamento quando existe um ficheiro de saída: 'erro' (falha, predefinido), 'ignorar' (manter existente) ou 'sobrescrever' (substituir)
install boolean \| undefined No Instale o certificado no repositório local do computador após a geração
json boolean \| undefined No Formatar saída como JSON
manifest string \| undefined No Caminho para o ficheiro Package.appxmanifest ou appxmanifest.xml para extrair informações do publicador
output string \| undefined No Caminho de saída para o ficheiro PFX gerado
password string \| undefined No Palavra-passe para o ficheiro PFX gerado
publisher string \| undefined No Nome do Publisher para o certificado gerado. Se não for especificado, será inferido a partir do manifesto.
validDays number \| undefined No Número de dias em que o certificado é válido

Também aceita CommonOptions (quiet, verbose, cwd).


certInfo()

Mostrar detalhes do certificado (assunto, impressão digital, validade). Útil para verificar se um certificado corresponde ao seu manifesto antes de assinar.

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

Opções:

Property Tipo Obrigatório Description
certPath string Yes Caminho para o ficheiro de certificado (PFX)
json boolean \| undefined No Formatar saída como JSON
password string \| undefined No Palavra-passe para o ficheiro PFX

Também aceita CommonOptions (quiet, verbose, cwd).


certInstall()

Confie num certificado nesta máquina (requer administrador). Executa antes de instalar pacotes MSIX assinados com certificados de desenvolvimento. Exemplo: instalação do certificado winapp ./devcert.pfx. Só é necessário uma vez por certificado.

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

Opções:

Property Tipo Obrigatório Description
certPath string Yes Caminho para o ficheiro de certificado (PFX ou CER)
force boolean \| undefined No Forçar a instalação mesmo que o certificado já exista
password string \| undefined No Palavra-passe para o ficheiro PFX

Também aceita CommonOptions (quiet, verbose, cwd).


createDebugIdentity()

Ativar a identidade do pacote para depuração sem necessidade de criar um pacote MSIX completo. Necessário para testar APIs do Windows (notificações push, share target, etc.) durante o desenvolvimento. Exemplo: winapp create-debug-identity ./myapp.exe. Requer Package.appxmanifest ou appxmanifest.xml no diretório atual ou passado via --manifest. Reexecute depois de alterar o manifesto ou os Assets/.

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

Opções:

Property Tipo Obrigatório Description
entrypoint string \| undefined No Caminho para o .exe que precisa de ser executado com permissões, ou script de ponto de entrada.
keepIdentity boolean \| undefined No Mantenha a identidade do pacote do manifesto as-is, sem adicionar '.debug' ao nome do pacote e ao ID da aplicação.
manifest string \| undefined No Caminho para o Package.appxmanifest ou appxmanifest.xml
noInstall boolean \| undefined No Não instale o pacote após a criação.

Também aceita CommonOptions (quiet, verbose, cwd).


createExternalCatalog()

Gera um ficheiro de catálogo CodeIntegrityExternal.cat com hashes de ficheiros executáveis a partir de diretórios especificados. Usado com o sinalizador TrustedLaunch nos manifestos de pacotes esparsos MSIX (AllowExternalContent), permite a execução de ficheiros externos não incluídos no pacote.

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

Opções:

Property Tipo Obrigatório Description
inputFolder string Yes Lista de pastas de entrada com ficheiros executáveis a processar (separados por ponto e vírgula)
computeFlatHashes boolean \| undefined No Inclua hashes planos ao gerar o catálogo
ifExists IfExists \| undefined No Comportamento quando o ficheiro de saída já existe
output string \| undefined No Caminho do ficheiro de catálogo de saída. Se não especificado, o nome CodeIntegrityExternal.cat padrão é utilizado.
recursive boolean \| undefined No Incluir ficheiros de subdiretórios
usePageHashes boolean \| undefined No Inclua hashes de página ao gerar o catálogo

Também aceita CommonOptions (quiet, verbose, cwd).


getWinappPath()

Imprime o caminho para a pasta .winapp. Use --global para a localização partilhada da cache, ou omita para a pasta .winapp do projeto local. Útil para scripts de build que precisam de referenciar pacotes instalados.

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

Opções:

Property Tipo Obrigatório Description
global boolean \| undefined No Obtenha o diretório .winapp global em vez do local

Também aceita CommonOptions (quiet, verbose, cwd).


init()

Comece aqui para inicializar uma aplicação Windows com a configuração necessária. Configura tudo o que é necessário para o desenvolvimento de aplicações Windows: cria o Package.appxmanifest com os recursos predefinidos, descarrega pacotes do Windows SDK e SDK de Aplicações Windows e gera projeções. Quando os pacotes SDK são geridos (--setup-sdks stable/preview/experimental), também é criado um ficheiro de configuração winapp.yaml para estabelecer versões de 'restauração'/'atualização'; com --setup-sdks none (por exemplo, para projetos Rust/Tauri que trazem as suas próprias integrações SDK), não é criado o ficheiro winapp.yaml. Interativo por padrão (use --use-defaults para saltar prompts). Usa 'restore' em vez disso se clonaste um repositório que já tenha winapp.yaml. Use 'manifest generate' se só precisar de manifesto, ou 'cert generate' se precisar de um certificado de desenvolvimento para assinatura de código.

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

Opções:

Property Tipo Obrigatório Description
baseDirectory string \| undefined No Diretório base/raiz para o espaço de trabalho da aplicação Windows, para consumo ou instalação.
configDir string \| undefined No Diretório para ler/armazenar configuração (predefinido: diretório atual)
configOnly boolean \| undefined No Apenas tratar de operações de ficheiros de configuração (criar se estiverem em falta, validar se existir). Ignora a instalação de pacotes e outros passos de configuração do espaço de trabalho.
ignoreConfig boolean \| undefined No Não uses ficheiros de configuração para gestão de versões
noGitignore boolean \| undefined No Não atualize o ficheiro .gitignore
setupSdks SdkInstallMode \| undefined No Modo de instalação do SDK: 'estável' (predefinido), 'pré-visualização', 'experimental' ou 'nenhum' (saltar a instalação do SDK)
useDefaults boolean \| undefined No Não solicitar e usar o padrão de todos os prompts

Também aceita CommonOptions (quiet, verbose, cwd).


manifestAddAlias()

Adicione um alias de execução (uap5:AppExecutionAlias) a um Package.appxmanifest. Isto permite iniciar a aplicação empacotada a partir da linha de comandos, escrevendo o nome do alias. Por defeito, o alias é inferido a partir do atributo Executable (por exemplo, $targetnametoken$.exe torna-se $targetnametoken$.exe alias).

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

Opções:

Property Tipo Obrigatório Description
appId string \| undefined No Id de Aplicação para adicionar o alias (por defeito: primeiro elemento de Aplicação)
manifest string \| undefined No Caminho para o ficheiro Package.appxmanifest ou appxmanifest.xml (predefinido: pesquisar diretório atual)
name string \| undefined No Nome do alias (por exemplo, 'myapp.exe'). Padrão: inferido a partir do atributo Executável no manifesto.

Também aceita CommonOptions (quiet, verbose, cwd).


manifestGenerate()

Criar o Package.appxmanifest sem configurar todo o projeto. Use quando só precisa de um manifesto e recursos de imagem (sem SDKs, sem certificado). Para configuração completa, usa 'init' em vez disso. Modelos: 'packaged' (MSIX completo), 'sparse' (aplicação desktop que precisa de APIs do Windows).

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

Opções:

Property Tipo Obrigatório Description
directory string \| undefined No Diretório para gerar manifesto em
description string \| undefined No Descrição da aplicação legível por humanos mostrada durante a instalação e nas Definições do Windows
executable string \| undefined No Caminho para o executável da aplicação. Padrão: <nome> do pacote.exe
ifExists IfExists \| undefined No Comportamento quando o ficheiro de saída já existe: 'erro' (falha, padrão), 'ignorar' (manter o existente), ou 'sobrescrever' (substituir)
logoPath string \| undefined No Caminho para o ficheiro de imagem do logótipo
packageName string \| undefined No Nome do pacote (por defeito: nome da pasta)
publisherName string \| undefined No Publisher CN (predefinido: CN=<utilizador atual>)
template ManifestTemplates \| undefined No Tipo de modelo de manifesto: 'empacotado' (aplicação MSIX completa, predefinido) ou 'esparso' (aplicação desktop com identidade de pacote para APIs Windows)
version string \| undefined No Versão da aplicação em formato Major.Minor.Build.Revision (por exemplo, 1.0.0.0).

Também aceita CommonOptions (quiet, verbose, cwd).


manifestUpdateAssets()

Gerar novos assets para imagens referenciadas num Package.appxmanifest a partir de uma única imagem de origem. A imagem de origem deve ter pelo menos 400x400 píxeis.

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

Opções:

Property Tipo Obrigatório Description
imagePath string Yes Caminho para o ficheiro de imagem de origem (SVG, PNG, ICO, JPG, BMP, GIF)
lightImage string \| undefined No Caminho para a imagem fonte para variantes de tema claro (SVG, PNG, ICO, JPG, BMP, GIF)
manifest string \| undefined No Caminho para o ficheiro Package.appxmanifest ou appxmanifest.xml (predefinido: pesquisar diretório atual)

Também aceita CommonOptions (quiet, verbose, cwd).


packageApp()

Crie o instalador MSIX a partir da sua aplicação construída. Execute depois de criar a sua aplicação. Um manifesto (Package.appxmanifest ou appxmanifest.xml) é necessário para empacotamento – deve estar no diretório de trabalho atual, passado como --manifest ou estar na pasta de entrada. Usa --cert devcert.pfx para fazer a assinatura para fins de teste. Exemplo: winapp package ./dist --manifest Package.appxmanifest --cert ./devcert.pfx

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

Opções:

Property Tipo Obrigatório Description
inputFolder string Yes Pasta de entrada com layout de pacotes
cert string \| undefined No Caminho para o certificado de assinatura (assina automaticamente se fornecido)
certPassword string \| undefined No Palavra-passe do certificado (padrão: palavra-passe)
executable string \| undefined No Caminho do executável em relação à pasta de entrada.
generateCert boolean \| undefined No Gerar um novo certificado de desenvolvimento
installCert boolean \| undefined No Instalar certificado na máquina
manifest string \| undefined No Caminho para o ficheiro de manifesto AppX (por defeito: deteção automática a partir da pasta de origem ou do diretório atual)
name string \| undefined No Nome do pacote (por defeito: do manifesto)
output string \| undefined No Nome de ficheiro de saída msix para o pacote gerado (por defeito é <name><version><arch>.msix, podendo ser <name><version>.msix, <name><arch>.msix, ou <name>.msix quando não é possível determinar a versão/arch)
publisher string \| undefined No Nome do Publisher para geração de certificados
selfContained boolean \| undefined No Incluir o runtime do SDK de Aplicações Windows para implementação autónoma
skipPri boolean \| undefined No Saltar a geração de ficheiros PRI

Também aceita CommonOptions (quiet, verbose, cwd).


restore()

Use depois de clonar um repositório ou quando falta a pasta .winapp/. Reinstala pacotes do SDK a partir do winapp.yaml existente sem mudar de versão. Requer o winapp.yaml (criado pelo 'init'). Para verificar versões mais recentes do SDK, use 'update' em vez disso.

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

Opções:

Property Tipo Obrigatório Description
baseDirectory string \| undefined No Diretório base/raiz para o espaço de trabalho winapp
configDir string \| undefined No Diretório para ler configurações a partir (por defeito: diretório atual)

Também aceita CommonOptions (quiet, verbose, cwd).


run()

Cria o layout empacotado, regista a Aplicação e lança a aplicação empacotada.

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

Opções:

Property Tipo Obrigatório Description
inputFolder string Yes Pasta de entrada contendo a aplicação a executar
args string \| undefined No Argumentos da linha de comandos a passar à aplicação
clean boolean \| undefined No Remova os dados da aplicação do pacote existente (LocalState, definições, etc.) antes de voltar a implementar. Por padrão, os dados da aplicação são preservados nas reimplantações.
debugOutput boolean \| undefined No Capturar mensagens de OutputDebugString e exceções de primeira oportunidade da aplicação lançada. Apenas um depurador pode ser ligado a um processo de cada vez, pelo que outros depuradores (Visual Studio, VS Code) não podem ser usados simultaneamente. Usa --no-launch se precisares de anexar um depurador diferente. Não pode ser combinado com --no-launch ou --json.
detach boolean \| undefined No Inicie a aplicação e volte imediatamente, sem esperar que ela saia. Útil para CI/automação, onde precisas de interagir com a aplicação após o lançamento. Imprime o PID para stdout (ou em JSON com --json).
json boolean \| undefined No Formate a saída como JSON
manifest string \| undefined No Caminho para o Package.appxmanifest (por defeito: deteção automática a partir da pasta de entrada ou diretório atual)
noLaunch boolean \| undefined No Apenas criar a identidade de depuração e registar o pacote sem iniciar a aplicação
outputAppxDirectory string \| undefined No Diretório de saída para o pacote de layout flexível. Se não for especificado, será utilizado um diretório chamado AppX dentro da pasta de entrada.
symbols boolean \| undefined No Descarregue símbolos do Microsoft Symbol Server para uma análise nativa de crash mais completa. Usado apenas com --debug-output. A primeira corrida descarrega símbolos e armazena-os em cache localmente; As execuções subsequentes utilizam a cache.
unregisterOnExit boolean \| undefined No Desregistar o pacote de desenvolvimento depois de a aplicação sair. Apenas remove pacotes registados em modo de desenvolvimento.
withAlias boolean \| undefined No Inicie a aplicação usando o seu alias de execução em vez da ativação do AUMID. A aplicação corre no terminal atual com o stdin/stdout/stderr herdado. Requer um uap5:ExecutionAlias no manifesto. Use o "winapp manifest add-alias" para adicionar um alias de execução ao manifesto.

Também aceita CommonOptions (quiet, verbose, cwd).


sign()

Assinar digitalmente um pacote MSIX ou executável. Exemplo: sinal winapp ./app.msix ./devcert.pfx. Use --timestamp para que as versões de produção permaneçam válidas após o certificado expirar. O comando 'package' pode assinar automaticamente com --cert.

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

Opções:

Property Tipo Obrigatório Description
filePath string Yes Caminho para o ficheiro/pacote a assinar
certPath string Yes Caminho para o ficheiro de certificado (formato PFX)
password string \| undefined No Senha do certificado
timestamp string \| undefined No URL do servidor de carimbo temporal

Também aceita CommonOptions (quiet, verbose, cwd).


store()

Executa um comando CLI do Microsoft Store Developer. Este comando irá descarregar a CLI do Microsoft Store Developer se ainda não estiver descarregada. Saiba mais sobre o CLI de Desenvolvedores Microsoft Store aqui: https://aka.ms/msstoredevcli

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

Opções:

Property Tipo Obrigatório Description
storeArgs string[] \| undefined No Argumentos para passar para a CLI do desenvolvedor da Microsoft Store.

Também aceita CommonOptions (quiet, verbose, cwd).


tool()

Executa diretamente as ferramentas do Windows SDK (makeappx, signtool, makepri, etc.). Descarrega automaticamente as ferramentas de construção se necessário. Para a maioria das tarefas, prefira comandos de nível superior como 'pacotejar' ou 'assinar'. Exemplo: winapp tool makeappx pack /d ./folder /p ./out.msix

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

Opções:

Property Tipo Obrigatório Description
toolArgs string[] \| undefined No Argumentos a passar para a ferramenta SDK, por exemplo, ['makeappx', 'pack', '/d', './folder', '/p', './out.msix'].

Também aceita CommonOptions (quiet, verbose, cwd).


uiClick()

Clique num elemento através do slug ou pesquisa de texto usando simulação de mouse. Funciona em elementos que não suportam InvokePattern (por exemplo, cabeçalhos de colunas, itens de lista). Utilize --double para duplo clique, --right para clique com o botão direito.

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

Opções:

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
double boolean \| undefined No Faça um duplo clique em vez de um clique simples
json boolean \| undefined No Formatar a saída como JSON
right boolean \| undefined No Faça um clique direito em vez de um clique esquerdo
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiFocus()

Mover o foco do teclado para o elemento especificado usando o UIA SetFocus.

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

Opções:

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiGetFocused()

Mostra o elemento que atualmente tem foco do teclado na aplicação alvo.

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

Opções:

Property Tipo Obrigatório Description
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiGetProperty()

Leia os valores das propriedades UIA a partir de um elemento. Especifique --property para uma única propriedade ou omita para todas.

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

Opções:

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/ID de automação
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar saída como JSON
property string \| undefined No Nome da propriedade para ler ou filtrar
window number \| undefined No Janela de alvo por HWND (alvo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiGetValue()

Leia o valor atual de um elemento. Tenta TextPattern (RichEditBox, Document), ValuePattern (TextBox, ComboBox, Slider), depois Name (labels). Utilização: winapp ui get-value <selector> -a <app>

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

Opções:

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar através do nome ou do Id de automação.
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar saída como JSON
window number \| undefined No Janela de alvo por HWND (alvo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiInspect()

Veja a árvore de elementos da interface com rótulos semânticos, tipos de elementos, nomes e limites.

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

Opções:

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para procurar por nome/ID de automação
ancestors boolean \| undefined No Caminhe pela árvore desde o elemento especificado até à raiz
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista as janelas se houver ambiguidade.
depth number \| undefined No Profundidade de inspeção da árvore
hideDisabled boolean \| undefined No Ocultar elementos desativados da saída
hideOffscreen boolean \| undefined No Ocultar elementos fora do ecrã da saída
interactive boolean \| undefined No Mostrar apenas elementos interativos/invocáveis (botões, links, entradas, itens da lista). Aumenta a profundidade padrão para 8.
json boolean \| undefined No Formatar a saída como JSON
window number \| undefined No Janela de alvo por HWND (alvo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiInvoke()

Ativa um elemento por slug ou pesquisa de texto. Tenta InvokePattern, TogglePattern, SelectionItemPattern e ExpandCollapsePattern numa sequência definida.

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

Opções:

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome ou ID de automação
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista as janelas se houver ambiguidades.
json boolean \| undefined No Formatar a saída como JSON
window number \| undefined No Janela de destino por HWND (identificador estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiListWindows()

Liste todas as janelas visíveis com o seu HWND, título, processo e tamanho. Use -a para filtrar por nome da aplicação. Usa o HWND com -w para direcionar uma janela específica.

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

Opções:

Property Tipo Obrigatório Description
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista as janelas caso haja ambiguidade.
json boolean \| undefined No Formatar a saída como JSON

Também aceita CommonOptions (quiet, verbose, cwd).


uiScreenshot()

Captura a janela ou elemento alvo como uma imagem PNG. Quando existem várias janelas (por exemplo, diálogos), captura cada uma num ficheiro separado. Com --json, devolve o caminho do ficheiro e as dimensões. Utiliza --capture-screen para sobreposições popup.

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

Opções:

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
captureScreen boolean \| undefined No Captura a partir do ecrã (inclui popups/sobreposições) em vez de renderização de janelas. Coloca a janela em primeiro plano primeiro.
json boolean \| undefined No Formatar a saída como JSON
output string \| undefined No Guardar o resultado no caminho do ficheiro (por exemplo, captura de ecrã)
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiScroll()

Desloca um elemento de contentor usando o ScrollPattern. Usa --direction para deslocar-te incrementalmente, ou --para saltar para cima/baixo.

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

Opções:

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
direction string \| undefined No Direção de scroll: cima, baixo, esquerda, direita
json boolean \| undefined No Formatar a saída como JSON
to string \| undefined No Deslocar até à posição: cima, inferior
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiScrollIntoView()

Desloca o elemento especificado para a área visível usando UIA ScrollItemPattern.

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

Opções:

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiSearch()

Pesquise na árvore de elementos por elementos que correspondam a uma consulta de texto. Devolve todas as correspondências com slugs semânticos.

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

Opções:

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
max number \| undefined No Resultados máximos de pesquisa
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiSetValue()

Defina um valor num elemento usando o UIA ValuePattern. Funciona para TextBox, ComboBox, Slider e outros controlos editáveis. Utilização: winapp set-value UI <selector><valor> -a <app>

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

Opções:

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
value string \| undefined No Valor a definir (texto para TextBox/ComboBox, número para o Slider)
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiStatus()

Liga-te a uma aplicação alvo e mostra as informações de ligação.

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

Opções:

Property Tipo Obrigatório Description
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


uiWaitFor()

Espere que um elemento apareça, desapareça ou que uma propriedade atinja um valor-alvo. Interroga a intervalos de 100ms até que a condição seja cumprida ou o limite de tempo.

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

Opções:

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
contains boolean \| undefined No Use correspondência parcial para --valor em vez de correspondência exata
gone boolean \| undefined No Esperar que o elemento desapareça em vez de aparecer
json boolean \| undefined No Formatar a saída como JSON
property string \| undefined No Nome da propriedade para ler ou filtrar
timeout number \| undefined No Timeout em milissegundos
value string \| undefined No Espere que o valor do elemento seja igual a esta cadeia. Utiliza um fallback inteligente (TextPattern -> ValuePattern -> Name). Combine com --property para verificar uma propriedade específica em vez disso.
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.

Também aceita CommonOptions (quiet, verbose, cwd).


unregister()

Desregista um pacote de desenvolvimento carregado manualmente. Apenas remove pacotes registados em modo de desenvolvimento (por exemplo, via 'winapp run' ou 'create-debug-identity').

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

Opções:

Property Tipo Obrigatório Description
force boolean \| undefined No Ignora a verificação do diretório de localização de instalação e desregista-te mesmo que o pacote tenha sido registado numa árvore de projeto diferente
json boolean \| undefined No Formatar a saída como JSON
manifest string \| undefined No Caminho para o Package.appxmanifest (padrão: detecção automática a partir do diretório atual)

Também aceita CommonOptions (quiet, verbose, cwd).


update()

Verifique e instale versões mais recentes do SDK. Atualiza o winapp.yaml com as versões mais recentes e reinstala os pacotes. Requer um winapp.yaml existente (criado por 'init'). Utilize --setup-sdks preview para SDKs em pré-visualização. Para reinstalar as versões atuais sem atualizar, use 'restaurar' em vez disso.

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

Opções:

Property Tipo Obrigatório Description
setupSdks SdkInstallMode \| undefined No Modo de instalação do SDK: 'estável' (predefinido), 'pré-visualização', 'experimental' ou 'nenhum' (saltar a instalação do SDK)

Também aceita CommonOptions (quiet, verbose, cwd).


Funções utilitárias

execWithBuildTools()

Executar um comando com o caminho do diretório bin do BuildTools adicionado à variável de ambiente PATH

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

Parâmetros:

Parâmetro Tipo Obrigatório Description
command string Yes O comando para executar
options ExecSyncOptions No Opções para passar para execSync (opcional)

Resultado: A saída do execSync


addMsixIdentityToExe()

Adiciona informação de identidade de pacote a partir de um ficheiro appxmanifest.xml ao manifesto embutido de um executável

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

Parâmetros:

Parâmetro Tipo Obrigatório Description
exePath string Yes Caminho para o ficheiro executável
appxManifestPath string \| undefined No Caminho para o ficheiro appxmanifest.xml contendo dados de identidade de pacote
options MsixIdentityOptions No Configuração opcional

addElectronDebugIdentity()

Adiciona identidade de pacote ao processo de depuração do Electron

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

Parâmetros:

Parâmetro Tipo Obrigatório Description
options MsixIdentityOptions No Opções de configuração

clearElectronDebugIdentity()

Limpa/remove a identidade do pacote do processo de depuração do Electron ao restaurar a partir de backup

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

Parâmetros:

Parâmetro Tipo Obrigatório Description
options MsixIdentityOptions No Opções de configuração

getGlobalWinappPath()

Obtenha o caminho para o diretório global .winapp

function getGlobalWinappPath(): string

Retornos: O caminho completo para o diretório .winapp global


getLocalWinappPath()

Obtenha o caminho para o diretório local .winapp

function getLocalWinappPath(): string

Retornos: O caminho completo para o diretório .winapp local


Node.js comandos CLI

Estes comandos estão disponíveis exclusivamente através npx winapp node <subcommand> e não são exportados como funções programáticas.

node create-addon

Gerar ficheiros de addons nativos para um projeto Electron. Suporta templates C++ (node-gyp) e C# (node-api-dotnet).

npx winapp node create-addon [options]

Opções:

Flag Description
--name <name> Nome do addon (o padrão depende do modelo)
--template <type> Modelo de addon: cpp ou cs (por defeito: cpp)
--verbose Ativar saída detalhada

Nota: Deve ser executado a partir da raiz de um projeto Electron (diretório contendo package.json).

Exemplos:

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

Adicionar identidade de pacote ao processo de depuração do Electron usando empacotamento esparso. Cria uma cópia de segurança de electron.exe, gera um manifesto MSIX esparso, adiciona identidade ao executável e regista o pacote esparso. Requer um Package.appxmanifest (criar um com winapp init ou winapp manifest generate).

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

Opções:

Flag Description
--manifest <path> Caminho para personalizado Package.appxmanifest (por defeito: Package.appxmanifest no diretório atual)
--no-install Não instale o pacote após a criação
--keep-identity Mantenha a identidade manifesta as-is, sem acrescentar sufixo .debug
--verbose Ativar saída detalhada

Nota: Deve ser executado a partir da raiz de um projeto Electron (diretório contendo node_modules/electron). Para desfazer, use npx winapp node clear-electron-debug-identity.

Exemplos:

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

node clear-electron-debug-identity

Remover a identidade do pacote do processo de depuração no Electron. Restaura electron.exe a partir do backup criado por add-electron-debug-identity e remove os ficheiros de backup.

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

Opções:

Flag Description
--verbose Ativar saída detalhada

Nota: Deve ser executado a partir da raiz de um projeto Electron (diretório contendo node_modules/electron).

Exemplos:

npx winapp node clear-electron-debug-identity

Referência de tipos

ExecSyncOptions

Reexportado de Node.js por conveniência. Consulta Node.js documentos.

MsixIdentityOptions

Property Tipo Obrigatório Description
verbose boolean \| undefined No
noInstall boolean \| undefined No
keepIdentity boolean \| undefined No
manifest string \| undefined No

MsixIdentityResult

Property Tipo Obrigatório Description
success boolean Yes

ElectronDebugIdentityResult

Property Tipo Obrigatório Description
success boolean Yes
electronExePath string Yes
backupPath string Yes
manifestPath string Yes
assetsDir string Yes

ClearElectronDebugIdentityResult

Property Tipo Obrigatório Description
success boolean Yes
electronExePath string Yes
restoredFromBackup boolean Yes

CallWinappCliOptions

Property Tipo Obrigatório Description
exitOnError boolean \| undefined No

CallWinappCliResult

Property Tipo Obrigatório Description
exitCode number Yes

CallWinappCliCaptureOptions

Property Tipo Obrigatório Description
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão, o diretório de trabalho corrente é o process.cwd())

CallWinappCliCaptureResult

Property Tipo Obrigatório Description
exitCode number Yes
stdout string Yes
stderr string Yes

GenerateCppAddonOptions

Property Tipo Obrigatório Description
name string \| undefined No
projectRoot string \| undefined No
verbose boolean \| undefined No

GenerateCppAddonResult

Property Tipo Obrigatório Description
success boolean Yes
addonName string Yes
addonPath string Yes
needsTerminalRestart boolean Yes
files string[] Yes

GenerateCsAddonOptions

Property Tipo Obrigatório Description
name string \| undefined No
projectRoot string \| undefined No
verbose boolean \| undefined No

GenerateCsAddonResult

Property Tipo Obrigatório Description
success boolean Yes
addonName string Yes
addonPath string Yes
needsTerminalRestart boolean Yes
files string[] Yes

IfExists

Valores de IfExists.

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

SdkInstallMode

Valores do SdkInstallMode.

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

ManifestTemplates

Valores do ManifestTemplates.

type ManifestTemplates = "packaged" | "sparse"

CertGenerateOptions

Property Tipo Obrigatório Description
exportCer boolean \| undefined No Exporte um ficheiro .cer (apenas chave pública) juntamente com o .pfx
ifExists IfExists \| undefined No Comportamento quando o ficheiro de saída já existe: 'erro' (falha, predeterminado), 'ignorar' (manter o existente) ou 'sobrescrever' (substituir)
install boolean \| undefined No Instale o certificado no repositório local do computador após a geração
json boolean \| undefined No Formatar saída como JSON
manifest string \| undefined No Caminho para o Package.appxmanifest ou ficheiro appxmanifest.xml para extrair informações do editor
output string \| undefined No Caminho de saída para o ficheiro PFX gerado
password string \| undefined No Palavra-passe para o ficheiro PFX gerado
publisher string \| undefined No Nome do Publisher para o certificado gerado. Se não for especificado, será inferido a partir do manifesto.
validDays number \| undefined No Número de dias em que o certificado é válido
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão process.cwd()).

CertInfoOptions

Property Tipo Obrigatório Description
certPath string Yes Caminho para o ficheiro de certificado (PFX)
json boolean \| undefined No Formatar a saída como JSON
password string \| undefined No Palavra-passe para o ficheiro PFX
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativar saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão process.cwd()).

CertInstallOptions

Property Tipo Obrigatório Description
certPath string Yes Caminho para o ficheiro de certificado (PFX ou CER)
force boolean \| undefined No Forçar a instalação mesmo que o certificado já exista
password string \| undefined No Palavra-passe para o ficheiro PFX
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão, o valor predefinido é process.cwd()).

CreateDebugIdentityOptions

Property Tipo Obrigatório Description
entrypoint string \| undefined No Caminho para o .exe que precisa de ser executado com permissões, ou script de ponto de entrada.
keepIdentity boolean \| undefined No Mantenha a identidade do pacote do manifesto as-is, sem adicionar '.debug' ao nome do pacote e ao ID da aplicação.
manifest string \| undefined No Caminho para o Package.appxmanifest ou appxmanifest.xml
noInstall boolean \| undefined No Não instale o pacote após a criação.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão, o valor predefinido é process.cwd()).

CreateExternalCatalogOptions

Property Tipo Obrigatório Description
inputFolder string Yes Lista de pastas de entrada com ficheiros executáveis a processar (separados por ponto e vírgula)
computeFlatHashes boolean \| undefined No Inclua hashes planos ao gerar o catálogo
ifExists IfExists \| undefined No Comportamento quando o ficheiro de saída já existe
output string \| undefined No Caminho do ficheiro de catálogo de saída. Se não especificado, o nome CodeIntegrityExternal.cat padrão é utilizado.
recursive boolean \| undefined No Incluir ficheiros de subdiretórios
usePageHashes boolean \| undefined No Inclua hashes de página ao gerar o catálogo
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão, o valor predefinido é process.cwd()).

GetWinappPathOptions

Property Tipo Obrigatório Description
global boolean \| undefined No Obtenha o diretório .winapp global em vez do local
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão, o valor predefinido é process.cwd()).

InitOptions

Property Tipo Obrigatório Description
baseDirectory string \| undefined No Diretório base/raiz para o espaço de trabalho da aplicação Windows, para consumo ou instalação.
configDir string \| undefined No Diretório para ler/armazenar configuração (predefinido: diretório atual)
configOnly boolean \| undefined No Apenas tratar de operações de ficheiros de configuração (criar se estiverem em falta, validar se existir). Ignora a instalação de pacotes e outros passos de configuração do espaço de trabalho.
ignoreConfig boolean \| undefined No Não uses ficheiros de configuração para gestão de versões
noGitignore boolean \| undefined No Não atualize o ficheiro .gitignore
setupSdks SdkInstallMode \| undefined No Modo de instalação do SDK: 'estável' (predefinido), 'pré-visualização', 'experimental' ou 'nenhum' (saltar a instalação do SDK)
useDefaults boolean \| undefined No Não solicitar e usar o padrão de todos os prompts
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão, o valor predefinido é process.cwd()).

ManifestAddAliasOptions

Property Tipo Obrigatório Description
appId string \| undefined No Id de Aplicação para adicionar o alias (por defeito: primeiro elemento de Aplicação)
manifest string \| undefined No Caminho para o ficheiro Package.appxmanifest ou appxmanifest.xml (predefinido: pesquisar diretório atual)
name string \| undefined No Nome do alias (por exemplo, 'myapp.exe'). Padrão: inferido a partir do atributo Executável no manifesto.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão, o valor predefinido é process.cwd()).

ManifestGenerateOptions

Property Tipo Obrigatório Description
directory string \| undefined No Diretório para gerar manifesto em
description string \| undefined No Descrição da aplicação legível por humanos mostrada durante a instalação e nas Definições do Windows
executable string \| undefined No Caminho para o executável da aplicação. Padrão: <nome> do pacote.exe
ifExists IfExists \| undefined No Comportamento quando existe um ficheiro de saída: 'erro' (falha, predefinido), 'ignorar' (manter existente) ou 'sobrescrever' (substituir)
logoPath string \| undefined No Caminho para o ficheiro de imagem do logótipo
packageName string \| undefined No Nome do pacote (por defeito: nome da pasta)
publisherName string \| undefined No Publisher CN (predefinido: CN=<utilizador atual>)
template ManifestTemplates \| undefined No Tipo de modelo de manifesto: 'empacotado' (aplicação MSIX completa, predefinido) ou 'esparso' (aplicação desktop com identidade de pacote para APIs Windows)
version string \| undefined No Versão da aplicação em formato Major.Minor.Build.Revision (por exemplo, 1.0.0.0).
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão, o valor predefinido é process.cwd()).

ManifestUpdateAssetsOptions

Property Tipo Obrigatório Description
imagePath string Yes Caminho para o ficheiro de imagem de origem (SVG, PNG, ICO, JPG, BMP, GIF)
lightImage string \| undefined No Caminho para a imagem de origem para variantes de temas de luz (SVG, PNG, ICO, JPG, BMP, GIF)
manifest string \| undefined No Caminho para o ficheiro Package.appxmanifest ou appxmanifest.xml (predefinido: pesquisar diretório atual)
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão process.cwd()).

PackageOptions

Property Tipo Obrigatório Description
inputFolder string Yes Pasta de entrada com layout de pacotes
cert string \| undefined No Caminho para assinar o certificado (assina automaticamente se fornecida)
certPassword string \| undefined No Palavra-passe do certificado (padrão: palavra-passe)
executable string \| undefined No Caminho do executável em relação à pasta de entrada.
generateCert boolean \| undefined No Gerar um novo certificado de desenvolvimento
installCert boolean \| undefined No Instalar certificado na máquina
manifest string \| undefined No Caminho para o ficheiro manifesto AppX (padrão: deteção automática a partir da pasta de entrada ou do diretório atual)
name string \| undefined No Nome do pacote (por defeito: do manifesto)
output string \| undefined No Especifica o nome do ficheiro msix para o pacote gerado (por padrão, <name><version><arquitetura.msix>, ou alternando para <name><version.msix>, <name><arquitetura.msix> ou <name.msix> quando não é possível determinar a versão/a arquitetura)
publisher string \| undefined No Nome do Publisher para geração de certificados
selfContained boolean \| undefined No Empacotar o tempo de execução do SDK de Aplicações Windows para implementação autónoma
skipPri boolean \| undefined No Saltar a geração de ficheiros PRI
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por defeito é process.cwd()).

RestoreOptions

Property Tipo Obrigatório Description
baseDirectory string \| undefined No Diretório base/raiz para o espaço de trabalho winapp
configDir string \| undefined No Diretório para ler configurações a partir (por defeito: diretório atual)
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão process.cwd()).

RunOptions

Property Tipo Obrigatório Description
inputFolder string Yes Pasta de entrada contendo a aplicação a executar
args string \| undefined No Argumentos da linha de comandos para passar à aplicação
clean boolean \| undefined No Remova os dados da aplicação do pacote existente (LocalState, definições, etc.) antes de voltar a implementar. Por defeito, os dados da aplicação são preservados durante as reimplantações.
debugOutput boolean \| undefined No Capturar mensagens OutputDebugString e exceções de primeira oportunidade da aplicação lançada. Apenas um depurador pode ser ligado a um processo de cada vez, pelo que outros depuradores (Visual Studio, VS Code) não podem ser usados simultaneamente. Usa --no-launch se precisares de anexar um depurador diferente. Não pode ser combinado com --no-launch ou --json.
detach boolean \| undefined No Inicie a aplicação e volte imediatamente, sem esperar que ela saia. Útil para CI/automação, onde precisas de interagir com a aplicação após o lançamento. Imprime o PID para stdout (ou em JSON com --json).
json boolean \| undefined No Formatar a saída como JSON
manifest string \| undefined No Caminho para o Package.appxmanifest (por defeito: deteção automática a partir da pasta de entrada ou pasta atual)
noLaunch boolean \| undefined No Apenas criar a identidade de depuração e registar o pacote sem iniciar a aplicação
outputAppxDirectory string \| undefined No Diretório de saída para o pacote de layout flexível. Se não for especificado, será utilizado um diretório chamado AppX dentro da pasta de entrada.
symbols boolean \| undefined No Descarregue símbolos do Microsoft Symbol Server para uma análise nativa de crash mais completa. Usado apenas com --debug-output. A primeira corrida descarrega símbolos e armazena-os em cache localmente; As execuções subsequentes utilizam a cache.
unregisterOnExit boolean \| undefined No Desregistar o pacote de desenvolvimento depois de a aplicação sair. Apenas remove pacotes registados em modo de desenvolvimento.
withAlias boolean \| undefined No Inicie a aplicação usando o seu alias de execução em vez da ativação do AUMID. A aplicação corre no terminal atual com o stdin/stdout/stderr herdado. Requer um uap5:ExecutionAlias no manifesto. Use o "winapp manifest add-alias" para adicionar um alias de execução ao manifesto.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (definido por defeito para "process.cwd()").

SignOptions

Property Tipo Obrigatório Description
filePath string Yes Caminho para o ficheiro/pacote a assinar
certPath string Yes Caminho para o ficheiro de certificado (formato PFX)
password string \| undefined No Senha do certificado
timestamp string \| undefined No URL do servidor de carimbo temporal
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (definido por defeito para "process.cwd()").

StoreOptions

Property Tipo Obrigatório Description
storeArgs string[] \| undefined No Argumentos para passar para a CLI do desenvolvedor da Microsoft Store.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (definido por defeito para "process.cwd()").

ToolOptions

Property Tipo Obrigatório Description
toolArgs string[] \| undefined No Argumentos a passar para a ferramenta SDK, por exemplo, ['makeappx', 'pack', '/d', './folder', '/p', './out.msix'].
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (definido por defeito para "process.cwd()").

UiClickOptions

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
double boolean \| undefined No Faça um duplo clique em vez de um clique simples
json boolean \| undefined No Formatar a saída como JSON
right boolean \| undefined No Faça um clique direito em vez de um clique esquerdo
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (definido por defeito para "process.cwd()").

UiFocusOptions

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (definido por defeito para "process.cwd()").

UiGetFocusedOptions

Property Tipo Obrigatório Description
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (definido por defeito para "process.cwd()").

UiGetPropertyOptions

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
property string \| undefined No Nome da propriedade para ler ou filtrar
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (definido por defeito para "process.cwd()").

UiGetValueOptions

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (definido por defeito para "process.cwd()").

UiInspectOptions

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
ancestors boolean \| undefined No Caminhe pela árvore desde o elemento especificado até à raiz
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
depth number \| undefined No Profundidade de inspeção da árvore
hideDisabled boolean \| undefined No Ocultar elementos desativados da saída
hideOffscreen boolean \| undefined No Ocultar elementos fora do ecrã da saída
interactive boolean \| undefined No Mostrar apenas elementos interativos/invocáveis (botões, links, entradas, itens da lista). Aumenta a profundidade padrão para 8.
json boolean \| undefined No Formatar a saída como JSON
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (definido por defeito para "process.cwd()").

UiInvokeOptions

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (definido por defeito para "process.cwd()").

UiListWindowsOptions

Property Tipo Obrigatório Description
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (definido por defeito para "process.cwd()").

UiScreenshotOptions

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
captureScreen boolean \| undefined No Captura a partir do ecrã (inclui popups/sobreposições) em vez de renderização de janelas. Coloca a janela em primeiro plano primeiro.
json boolean \| undefined No Formatar a saída como JSON
output string \| undefined No Guardar o resultado no caminho do ficheiro (por exemplo, captura de ecrã)
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão, process.cwd()).

UiScrollOptions

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas em caso de ambiguidade.
direction string \| undefined No Direção de scroll: cima, baixo, esquerda, direita
json boolean \| undefined No Formatar a saída como JSON
to string \| undefined No Deslocar até à posição: cima, inferior
window number \| undefined No Janela alvo por identificador HWND (identificador estável da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por defeito: process.cwd()).

UiScrollIntoViewOptions

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas caso haja ambiguidade.
json boolean \| undefined No Formatar saída como JSON
window number \| undefined No Janela de destino por HWND (identificador estável a partir da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão process.cwd()).

UiSearchOptions

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/automationId
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
json boolean \| undefined No Formatar a saída como JSON
max number \| undefined No Resultados máximos de pesquisa
window number \| undefined No Janela identificada por HWND (identificador estável da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (o padrão é process.cwd()).

UiSetValueOptions

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome/ID de automação
value string \| undefined No Valor a definir (texto para TextBox/ComboBox, número para o Slider)
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se forem ambíguas.
json boolean \| undefined No Formatar a saída em JSON
window number \| undefined No Janela de alvo por HWND (alvo estável a partir da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por defeito process.cwd()).

UiStatusOptions

Property Tipo Obrigatório Description
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se forem ambíguas.
json boolean \| undefined No Formatar saída como JSON
window number \| undefined No Janela de destino pela HWND (manípulo estável a partir da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (padronizado para process.cwd()).

UiWaitForOptions

Property Tipo Obrigatório Description
selector string \| undefined No Slug semântico (por exemplo, btn-minimize-d1a0) ou texto para pesquisar por nome ou ID de automação
app string \| undefined No Aplicação alvo (nome do processo, título da janela ou PID). Lista janelas se for ambíguo.
contains boolean \| undefined No Use correspondência parcial para --valor em vez de correspondência exata
gone boolean \| undefined No Esperar que o elemento desapareça em vez de aparecer
json boolean \| undefined No Formatar a saída como JSON
property string \| undefined No Nome da propriedade para ler ou filtrar
timeout number \| undefined No Timeout em milissegundos
value string \| undefined No Espere que o valor do elemento seja igual a esta cadeia. Utiliza um fallback inteligente (TextPattern -> ValuePattern -> Name). Combine com --property para verificar uma propriedade específica em vez disso.
window number \| undefined No Janela de destino por HWND (identificador estável a partir da saída da lista). Tem prioridade sobre --app.
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (o padrão é process.cwd()).

UnregisterOptions

Property Tipo Obrigatório Description
force boolean \| undefined No Ignora a verificação do diretório de localização de instalação e desregista-te mesmo que o pacote tenha sido registado numa árvore de projeto diferente
json boolean \| undefined No Formatar a saída como JSON
manifest string \| undefined No Caminho para o Package.appxmanifest (padrão: detecção automática a partir do diretório atual)
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (por padrão, process.cwd()).

UpdateOptions

Property Tipo Obrigatório Description
setupSdks SdkInstallMode \| undefined No Modo de instalação do SDK: 'estável' (predefinido), 'pré-visualização', 'experimental' ou 'nenhum' (saltar a instalação do SDK)
quiet boolean \| undefined No Suprimir mensagens de progresso.
verbose boolean \| undefined No Ativa a saída verbosa.
cwd string \| undefined No Diretório de trabalho para o processo CLI (predefinido como process.cwd()).