NPM 패키지 - 프로그래밍 방식 API

@microsoft/winappcli 대한 TypeScript/JavaScript API 참조입니다. 각 CLI 명령은 stdout/stderr를 캡처하고 형식화된 결과를 반환하는 비동기 함수로 사용할 수 있습니다. MSIX ID, Electron 디버그 ID 및 빌드 도구에 대한 도우미 유틸리티도 내보내집니다.

설치

npm install @microsoft/winappcli

빠른 시작

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

일반 형식

모든 CLI 명령 래퍼는 CommonOptions을(를) 확장하는 옵션 객체를 받아들이고 Promise<WinappResult>을(를) 반환합니다.

CommonOptions

대부분의 명령에서 공유하는 기본 옵션입니다.

재산 Type 필수 Description
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

WinappResult

각 명령 래퍼에서 반환된 결과입니다.

재산 Type 필수 Description
exitCode number Yes 프로세스 종료 코드(성공 시 항상 0이며, 0이 아닌 경우 예외 발생).
stdout string Yes 캡처된 표준 출력입니다.
stderr string Yes 캡처된 표준 오류입니다.

CLI 명령 포장기

이러한 함수는 네이티브 winapp CLI 명령을 래핑합니다. 모두 CommonOptions (quiet, verbose, cwd)를 허용합니다.

certGenerate()

로컬 테스트용으로만 자체 서명된 인증서를 만듭니다. Publisher 매니페스트와 일치해야 합니다(--manifest가 제공되었거나 Package.appxmanifest가 작업 디렉터리에 있는 경우 자동 유추됨). 출력: devcert.pfx(기본 암호: '암호'). 프로덕션의 경우 신뢰할 수 있는 CA에서 인증서를 가져옵니다. '인증서 설치'를 사용하여 이 컴퓨터를 신뢰합니다.

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

옵션:

재산 Type 필수 Description
exportCer boolean \| undefined No .pfx와 함께 .cer 파일(공개 키만 해당) 내보내기
ifExists IfExists \| undefined No 출력 파일이 있을 때의 동작: 'error'(fail, default), 'skip'(기존 항목 유지) 또는 '덮어쓰기'(바꾸기)
install boolean \| undefined No 생성 후 로컬 컴퓨터 저장소에 인증서 설치
json boolean \| undefined No 출력을 JSON으로 서식 지정
manifest string \| undefined No 게시자 정보를 추출할 Package.appxmanifest 또는 appxmanifest.xml 파일의 경로
output string \| undefined No 생성된 PFX 파일의 출력 경로
password string \| undefined No 생성된 PFX 파일의 암호
publisher string \| undefined No 생성된 인증서의 Publisher 이름입니다. 지정하지 않으면 매니페스트에서 유추됩니다.
validDays number \| undefined No 인증서가 유효한 기간(일)

CommonOptions(quiet, verbose, cwd)도 허용합니다.


certInfo()

인증서 세부 정보(주체, 지문, 만료)를 표시합니다. 서명하기 전에 인증서가 매니페스트와 일치하는지 확인하는 데 유용합니다.

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

옵션:

재산 Type 필수 Description
certPath string Yes 인증서 파일 경로(PFX)
json boolean \| undefined No 출력을 JSON으로 서식 지정
password string \| undefined No PFX 파일의 암호

CommonOptions(quiet, verbose, cwd)도 허용합니다.


certInstall()

이 컴퓨터에서 인증서를 신뢰합니다(관리자 필요). 개발 인증서로 서명된 MSIX 패키지를 설치하기 전에 실행합니다. 예: winapp cert install ./devcert.pfx. 인증서당 한 번만 필요합니다.

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

옵션:

재산 Type 필수 Description
certPath string Yes 인증서 파일 경로(PFX 또는 CER)
force boolean \| undefined No 인증서가 이미 있는 경우에도 강제 설치
password string \| undefined No PFX 파일의 암호

CommonOptions(quiet, verbose, cwd)도 허용합니다.


createDebugIdentity()

전체 MSIX를 만들지 않고 디버깅에 패키지 ID를 사용하도록 설정합니다. 개발 중에 Windows API(푸시 알림, 공유 대상 등)를 테스트하는 데 필요합니다. 예: winapp create-debug-identity ./myapp.exe. 현재 디렉터리에 Package.appxmanifest 또는 appxmanifest.xml 필요하거나 --manifest를 통해 전달됩니다. 매니페스트 또는 자산을 변경한 후 다시 실행합니다.

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

옵션:

재산 Type 필수 Description
entrypoint string \| undefined No ID 또는 진입점 스크립트를 사용하여 실행해야 하는 .exe 경로입니다.
keepIdentity boolean \| undefined No 패키지 이름 및 애플리케이션 ID에 '.debug'를 추가하지 않고 매니페스트에 있는 패키지 ID를 원래대로 유지합니다.
manifest string \| undefined No Package.appxmanifest 또는 appxmanifest.xml 경로
noInstall boolean \| undefined No 만든 후에는 패키지를 설치하지 마세요.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


createExternalCatalog()

지정된 디렉터리에서 실행 파일 해시를 사용하여 CodeIntegrityExternal.cat 카탈로그 파일을 생성합니다. 패키지에 포함되지 않은 외부 파일의 실행을 허용하기 위해 MSIX 스파스 패키지 매니페스트(AllowExternalContent)의 TrustedLaunch 플래그와 함께 사용됩니다.

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

옵션:

재산 Type 필수 Description
inputFolder string Yes 처리할 실행 파일이 있는 입력 폴더 목록(세미콜론으로 구분)
computeFlatHashes boolean \| undefined No 카탈로그를 생성할 때 플랫 해시 포함
ifExists IfExists \| undefined No 출력 파일이 이미 있는 경우의 동작
output string \| undefined No 출력 카탈로그 파일 경로입니다. 지정하지 않으면 기본 CodeIntegrityExternal.cat 이름이 사용됩니다.
recursive boolean \| undefined No 하위 디렉터리의 파일 포함
usePageHashes boolean \| undefined No 카탈로그를 생성할 때 페이지 해시 포함

CommonOptions(quiet, verbose, cwd)도 허용합니다.


getWinappPath()

.winapp 디렉터리의 경로를 인쇄합니다. 공유 캐시 위치에 --global을 사용하거나 프로젝트-로컬 .winapp 폴더를 생략합니다. 설치된 패키지를 참조해야 하는 빌드 스크립트에 유용합니다.

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

옵션:

재산 Type 필수 Description
global boolean \| undefined No 로컬이 아닌 전역 .winapp 디렉터리 가져오기

CommonOptions(quiet, verbose, cwd)도 허용합니다.


init()

필요한 설정으로 Windows 앱을 초기화하려면 여기에서 시작합니다. Windows 앱 개발에 필요한 모든 것을 설정합니다. 기본 자산을 포함하는 Package.appxmanifest를 만들고, Windows SDK와 Windows 앱 SDK 패키지를 다운로드하고, 프로젝션을 생성합니다. SDK 패키지가 관리될 때(--setup-sdks stable/preview/experimental), 'restore'/'update'의 버전을 고정하기 위해 winapp.yaml도 생성됩니다. 그러나 --setup-sdks none(예: 자체 SDK 바인딩을 사용하는 Rust/Tauri 프로젝트의 경우)이 선택되면 winapp.yaml은 생성되지 않습니다. 기본적으로 대화형(--use-defaults를 사용하여 프롬프트 건너뛰기). winapp.yaml이 이미 있는 리포지토리를 복제한 경우 대신 'restore'를 사용합니다. 매니페스트만 필요한 경우 '매니페스트 생성'을 사용하거나 코드 서명에 개발 인증서가 필요한 경우 '인증서 생성'을 사용합니다.

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

옵션:

재산 Type 필수 Description
baseDirectory string \| undefined No 사용 또는 설치를 위한 winapp 작업 영역의 기본/루트 디렉터리입니다.
configDir string \| undefined No 읽기/저장 구성을 위한 디렉터리(기본값: 현재 디렉터리)
configOnly boolean \| undefined No 구성 파일 작업만 처리합니다(누락된 경우 만들고, 존재하는지 확인). 패키지 설치 및 기타 작업 영역 설정 단계를 건너뜁니다.
ignoreConfig boolean \| undefined No 버전 관리에 구성 파일을 사용하지 마세요.
noGitignore boolean \| undefined No .gitignore 파일을 업데이트하지 마세요.
setupSdks SdkInstallMode \| undefined No SDK 설치 모드: 'stable'(기본값), '미리 보기', '실험적' 또는 '없음'(SDK 설치 건너뛰기)
useDefaults boolean \| undefined No 프롬프트를 표시하지 않고 모든 프롬프트의 기본값을 사용합니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


manifestAddAlias()

Package.appxmanifest에 실행 별칭(uap5:AppExecutionAlias)을 추가합니다. 이렇게 하면 별칭 이름을 입력하여 명령줄에서 패키지된 앱을 시작할 수 있습니다. 기본적으로 별칭은 실행 파일 특성에서 유추됩니다(예: $targetnametoken$.exe $targetnametoken$.exe 별칭이 됩니다).

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

옵션:

재산 Type 필수 Description
appId string \| undefined No 별칭을 추가할 애플리케이션 ID(기본값: 첫 번째 Application 요소)
manifest string \| undefined No Package.appxmanifest 또는 appxmanifest.xml 파일의 경로(기본값: 현재 디렉터리 검색)
name string \| undefined No 별칭 이름(예: 'myapp.exe'). 기본값: 매니페스트의 실행 파일 특성에서 유추됩니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


manifestGenerate()

전체 프로젝트 설정 없이 Package.appxmanifest를 만듭니다. 매니페스트 및 이미지 자산(SDK 없음, 인증서 없음)만 필요한 경우에만 사용합니다. 전체 설정의 경우 대신 'init'를 사용합니다. 템플릿: 'packaged'(전체 MSIX), '스파스'(Windows API가 필요한 데스크톱 앱).

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

옵션:

재산 Type 필수 Description
directory string \| undefined No 에서 매니페스트를 생성할 디렉터리
description string \| undefined No 설치 중 및 Windows 설정에 표시되는 사람이 읽을 수 있는 앱 설명
executable string \| undefined No 애플리케이션의 실행 파일 경로입니다. 기본값: <패키지 이름>.exe
ifExists IfExists \| undefined No 출력 파일이 있을 때의 동작: 'error'(fail, default), 'skip'(기존 항목 유지) 또는 '덮어쓰기'(바꾸기)
logoPath string \| undefined No 로고 이미지 파일의 경로
packageName string \| undefined No 패키지 이름(기본값: 폴더 이름)
publisherName string \| undefined No Publisher CN(기본값: CN=< 현재 사용자>)
template ManifestTemplates \| undefined No 매니페스트 템플릿 유형: 'packaged'(전체 MSIX 앱, 기본값) 또는 '스파스'(Windows API에 대한 패키지 ID가 있는 데스크톱 앱)
version string \| undefined No Major.Minor.Build.Revision 형식의 앱 버전(예: 1.0.0.0).

CommonOptions(quiet, verbose, cwd)도 허용합니다.


manifestUpdateAssets()

단일 원본 이미지에서 Package.appxmanifest에서 참조되는 이미지에 대한 새 자산을 생성합니다. 원본 이미지는 400x400픽셀 이상이어야 합니다.

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

옵션:

재산 Type 필수 Description
imagePath string Yes 원본 이미지 파일 경로(SVG, PNG, ICO, JPG, BMP, GIF)
lightImage string \| undefined No 밝은 테마 변형에 대한 원본 이미지 경로(SVG, PNG, ICO, JPG, BMP, GIF)
manifest string \| undefined No Package.appxmanifest 또는 appxmanifest.xml 파일의 경로(기본값: 현재 디렉터리 검색)

CommonOptions(quiet, verbose, cwd)도 허용합니다.


packageApp()

빌드된 앱에서 MSIX 설치 관리자를 만듭니다. 앱을 빌드한 후 실행합니다. 매니페스트(Package.appxmanifest 또는 appxmanifest.xml)는 패키징에 필요합니다. 현재 작업 디렉터리에 있어야 하며 -- 매니페스트로 전달되거나 입력 폴더에 있어야 합니다. --cert devcert.pfx를 사용하여 테스트에 서명합니다. 예: winapp package ./dist --manifest Package.appxmanifest --cert ./devcert.pfx

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

옵션:

재산 Type 필수 Description
inputFolder string Yes 패키지 레이아웃이 있는 입력 폴더
cert string \| undefined No 서명 인증서 경로(제공된 경우 자동 서명)
certPassword string \| undefined No 인증서 암호(기본값: 암호)
executable string \| undefined No 입력 폴더를 기준으로 실행 파일의 경로입니다.
generateCert boolean \| undefined No 새 개발 인증서 생성
installCert boolean \| undefined No 컴퓨터에 인증서 설치
manifest string \| undefined No AppX 매니페스트 파일 경로(기본값: 입력 폴더 또는 현재 디렉터리에서 자동 검색)
name string \| undefined No 패키지 이름(기본값: 매니페스트에서)
output string \| undefined No 생성된 패키지의 출력 msix 파일 이름 (기본값은 <name><version><arch>.msix이며, 버전 또는 아키텍처를 확인할 수 없는 경우 <name><version>.msix 또는 <name><arch>.msix, 혹은 <name>.msix로 대체됩니다.)
publisher string \| undefined No 인증서 생성에 대한 Publisher 이름
selfContained boolean \| undefined No Windows 앱 SDK 런타임을 자체 포함 배포를 위해 번들링하십시오.
skipPri boolean \| undefined No PRI 파일 생성 건너뛰기

CommonOptions(quiet, verbose, cwd)도 허용합니다.


restore()

리포지토리를 복제한 후 또는 .winapp/폴더가 누락된 경우 사용합니다. 버전을 변경하지 않고 기존 winapp.yaml에서 SDK 패키지를 다시 설치합니다. winapp.yaml('init'에 의해 생성됨)이 필요합니다. 최신 SDK 버전을 확인하려면 대신 'update'를 사용합니다.

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

옵션:

재산 Type 필수 Description
baseDirectory string \| undefined No winapp 작업 영역에 대한 기본/루트 디렉터리
configDir string \| undefined No 구성을 읽을 디렉터리(기본값: 현재 디렉터리)

CommonOptions(quiet, verbose, cwd)도 허용합니다.


run()

패키지된 레이아웃을 만들고, 애플리케이션을 등록하고, 패키지된 애플리케이션을 시작합니다.

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

옵션:

재산 Type 필수 Description
inputFolder string Yes 실행할 앱이 포함된 입력 폴더
args string \| undefined No 애플리케이션에 전달할 명령줄 인수
clean boolean \| undefined No 다시 배포하기 전에 기존 패키지의 애플리케이션 데이터(LocalState, 설정 등)를 제거합니다. 기본적으로 애플리케이션 데이터는 다시 배포에서 유지됩니다.
debugOutput boolean \| undefined No 시작된 애플리케이션에서 OutputDebugString 메시지 및 첫 번째 예외를 캡처합니다. 한 번에 하나의 디버거만 프로세스에 연결할 수 있으므로 다른 디버거(Visual Studio, VS Code)를 동시에 사용할 수 없습니다. 다른 디버거를 연결해야 하는 경우 --no-launch를 대신 사용합니다. --no-launch 또는 --json과 결합할 수 없습니다.
detach boolean \| undefined No 애플리케이션을 실행한 후 종료를 기다리지 않고 즉시 돌아갑니다. 시작 후 앱과 상호 작용해야 하는 CI/자동화에 유용합니다. PID를 stdout(또는 --json이 있는 JSON)에 인쇄합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
manifest string \| undefined No Package.appxmanifest 경로(기본값: 입력 폴더 또는 현재 디렉터리에서 자동 검색)
noLaunch boolean \| undefined No 애플리케이션을 시작하지 않고 디버그 ID만 만들고 패키지를 등록합니다.
outputAppxDirectory string \| undefined No 느슨한 레이아웃 패키지의 출력 디렉터리입니다. 지정하지 않으면 입력 폴더 디렉터리 내에 AppX라는 디렉터리가 사용됩니다.
symbols boolean \| undefined No 더 풍부한 네이티브 크래시 분석을 위해 Microsoft 기호 서버에서 기호를 다운로드합니다. --debug-output에서만 사용됩니다. 먼저 실행은 기호를 다운로드하고 로컬로 캐시합니다. 후속 실행에서는 캐시를 사용합니다.
unregisterOnExit boolean \| undefined No 애플리케이션이 종료된 후 개발 패키지의 등록을 취소합니다. 개발 모드에 등록된 패키지만 제거합니다.
withAlias boolean \| undefined No AUMID 활성화 대신 실행 별칭을 사용하여 앱을 시작합니다. 앱은 상속된 stdin/stdout/stderr를 사용하여 현재 터미널에서 실행됩니다. 매니페스트에 uap5:ExecutionAlias가 필요합니다. "winapp 매니페스트 추가 별칭"을 사용하여 매니페스트에 실행 별칭을 추가합니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


sign()

MSIX 패키지 또는 실행 파일을 코드 서명합니다. 예: winapp sign ./app.msix ./devcert.pfx. 프로덕션 빌드에 --timestamp를 사용하여 인증서가 만료된 후에도 유효한 상태를 유지합니다. 'package' 명령은 --cert를 사용하여 자동으로 서명할 수 있습니다.

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

옵션:

재산 Type 필수 Description
filePath string Yes 서명할 파일/패키지의 경로
certPath string Yes 인증서 파일 경로(PFX 형식)
password string \| undefined No 인증서 암호
timestamp string \| undefined No 타임스탬프 서버 URL

CommonOptions(quiet, verbose, cwd)도 허용합니다.


store()

Microsoft Store 개발자 CLI 명령을 실행합니다. 이 명령은 아직 다운로드하지 않은 경우 Microsoft Store Developer CLI를 다운로드합니다. Microsoft Store 개발자 CLI에 대해 자세히 알아보세요. https://aka.ms/msstoredevcli

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

옵션:

재산 Type 필수 Description
storeArgs string[] \| undefined No Microsoft Store Developer CLI로 전달할 인수입니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


tool()

Windows SDK 도구를 직접 실행합니다(makeappx, signtool, makepri 등). 필요한 경우 빌드 도구를 자동으로 다운로드합니다. 대부분의 작업에서는 'package' 또는 'sign'와 같은 상위 수준 명령을 선호합니다. 예: winapp 도구 makeappx pack /d ./folder /p ./out.msix

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

옵션:

재산 Type 필수 Description
toolArgs string[] \| undefined No SDK 도구에 전달할 인수(예: ['makeappx', 'pack', '/d', './folder', '/p', './out.msix']).

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiClick()

슬러그 또는 텍스트 검색을 통해 마우스 시뮬레이션으로 요소를 클릭합니다. InvokePattern을 지원하지 않는 요소(예: 열 머리글, 목록 항목)에서 작동합니다. --double을 사용하여 더블 클릭을 수행하고, --right를 사용하여 오른쪽 클릭을 수행합니다.

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

옵션:

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
double boolean \| undefined No 한 번의 클릭 대신 두 번 클릭 수행
json boolean \| undefined No 출력을 JSON으로 서식 지정
right boolean \| undefined No 왼쪽 클릭 대신 마우스 오른쪽 단추 클릭 수행
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiFocus()

UIA SetFocus를 사용하여 키보드 포커스를 지정된 요소로 이동합니다.

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

옵션:

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiGetFocused()

현재 대상 앱에 키보드 포커스가 있는 요소를 표시합니다.

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

옵션:

재산 Type 필수 Description
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiGetProperty()

요소에서 UIA 속성 값을 읽습니다. 단일 속성에 --property를 지정하거나 모두 생략합니다.

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

옵션:

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
property string \| undefined No 읽거나 필터링할 속성 이름
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiGetValue()

요소에서 현재 값을 읽습니다. TextPattern(RichEditBox, Document), ValuePattern(TextBox, ComboBox, Slider), 이름(레이블)을 시도합니다. 사용: winapp ui get-value <셀렉터> -a <앱>

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

옵션:

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiInspect()

의미 체계 슬러그, 요소 형식, 이름 및 범위가 있는 UI 요소 트리를 봅니다.

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

옵션:

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
ancestors boolean \| undefined No 지정된 요소에서 루트로 트리를 따라 위로 이동합니다.
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
depth number \| undefined No 트리 검사 깊이
hideDisabled boolean \| undefined No 출력에서 비활성화된 요소 숨기기
hideOffscreen boolean \| undefined No 출력에서 오프스크린 요소 숨기기
interactive boolean \| undefined No 대화형/호출 가능한 요소(단추, 링크, 입력, 목록 항목)만 표시합니다. 기본 깊이를 8로 늘입니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiInvoke()

슬러그 또는 텍스트 검색을 통해 요소를 활성화합니다. InvokePattern, TogglePattern, SelectionItemPattern 및 ExpandCollapsePattern을 순서대로 시도합니다.

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

옵션:

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiListWindows()

HWND, 제목, 프로세스 및 크기로 표시되는 모든 창을 나열합니다. -a 사용하여 앱 이름으로 필터링합니다. -w HWND를 사용하여 특정 창을 대상으로 지정합니다.

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

옵션:

재산 Type 필수 Description
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiScreenshot()

대상 창 또는 요소를 PNG 이미지로 캡처합니다. 여러 창(예: 대화 상자)이 있는 경우 각각을 별도의 파일로 캡처합니다. --json을 사용하여 파일 경로 및 차원을 반환합니다. 팝업 오버레이에 --capture-screen을 사용합니다.

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

옵션:

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
captureScreen boolean \| undefined No 창 렌더링 대신 화면에서 캡처(팝업/오버레이 포함) 먼저 창을 포그라운드로 가져옵니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
output string \| undefined No 파일 경로에 출력 저장(예: 스크린샷)
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiScroll()

ScrollPattern을 사용하여 컨테이너 요소를 스크롤합니다. --direction를 사용하여 단계적으로 스크롤하고, --to를 사용하여 위쪽/아래쪽으로 이동합니다.

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

옵션:

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
direction string \| undefined No 스크롤 방향: 위쪽, 아래쪽, 왼쪽, 오른쪽
json boolean \| undefined No 출력을 JSON으로 서식 지정
to string \| undefined No 위치로 이동: 위쪽, 아래쪽
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiScrollIntoView()

UIA ScrollItemPattern을 사용하여 지정된 요소를 표시 영역으로 스크롤합니다.

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

옵션:

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiSearch()

요소 트리에서 텍스트 쿼리와 일치하는 요소를 검색합니다. 의미 체계 슬러그를 사용하여 모든 일치 항목을 반환합니다.

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

옵션:

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
max number \| undefined No 최대 검색 결과
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiSetValue()

UIA ValuePattern을 사용하여 요소에 값을 설정합니다. TextBox, ComboBox, 슬라이더 및 기타 편집 가능한 컨트롤에 대해 작동합니다. 사용: winapp ui set-value <selector><value> -a <앱>

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

옵션:

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
value string \| undefined No 설정할 값(TextBox/ComboBox의 텍스트, 슬라이더의 경우 숫자)
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND로 식별되는 안정적인 핸들을 사용하여 대상 창 지정(목록 출력에서 생성된 핸들). --app보다 우선합니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiStatus()

대상 앱에 연결하고 연결 정보를 표시합니다.

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

옵션:

재산 Type 필수 Description
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND로 지정된 대상 창(목록 출력에 사용되는 안정적인 핸들). --app보다 우선권을 가집니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


uiWaitFor()

요소가 나타나거나 사라지거나 속성이 대상 값에 도달할 때까지 기다립니다. 조건이 충족되거나 시간 초과될 때까지 100ms 간격으로 폴링합니다.

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

옵션:

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 시맨틱 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
contains boolean \| undefined No 정확한 일치 대신 --value에 부분 문자열 일치 사용
gone boolean \| undefined No 요소가 나타나지 않고 사라질 때까지 기다립니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
property string \| undefined No 읽거나 필터링할 속성 이름
timeout number \| undefined No 시간 제한(밀리초)
value string \| undefined No 요소 값이 이 문자열과 같을 때까지 기다립니다. 스마트 폴백(TextPattern -> ValuePattern -> Name)을 사용합니다. 대신 --property와 결합하여 특정 속성을 확인합니다.
window number \| undefined No 목록 출력에서 얻은 안정적인 핸들인 HWND로 창을 대상으로 지정. --app보다 우선합니다.

CommonOptions(quiet, verbose, cwd)도 허용합니다.


unregister()

사이드로드된 개발 패키지를 등록 취소합니다. 개발 모드에 등록된 패키지만 제거합니다(예: 'winapp run' 또는 'create-debug-identity'를 통해).

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

옵션:

재산 Type 필수 Description
force boolean \| undefined No 다른 프로젝트 트리에서 패키지를 등록한 경우에도 설치 위치 디렉터리 검사를 건너뛰고 등록을 취소합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
manifest string \| undefined No Package.appxmanifest 경로(기본값: 현재 디렉터리에서 자동 검색)

CommonOptions(quiet, verbose, cwd)도 허용합니다.


update()

최신 SDK 버전을 확인하고 설치합니다. winapp.yaml을 최신 버전으로 업데이트하고 패키지를 다시 설치합니다. 기존 winapp.yaml('init'에 의해 생성됨)이 필요합니다. 미리 보기 SDK를 위해 --setup-sdks preview를 사용하세요. 업데이트하지 않고 현재 버전을 다시 설치하려면 대신 'restore'를 사용합니다.

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

옵션:

재산 Type 필수 Description
setupSdks SdkInstallMode \| undefined No SDK 설치 모드: 'stable'(기본값), '미리 보기', '실험적' 또는 '없음'(SDK 설치 건너뛰기)

CommonOptions(quiet, verbose, cwd)도 허용합니다.


유틸리티 함수

execWithBuildTools()

PATH 환경에 추가된 BuildTools bin 경로를 사용하여 명령 실행

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

매개 변수:

매개 변수 Type 필수 Description
command string Yes 실행할 명령
options ExecSyncOptions No execSync에 전달하는 옵션(선택 사항)

반환: execSync의 출력


addMsixIdentityToExe()

appxmanifest.xml 파일의 패키지 ID 정보를 실행 파일의 포함된 매니페스트에 추가합니다.

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

매개 변수:

매개 변수 Type 필수 Description
exePath string Yes 실행 파일의 경로
appxManifestPath string \| undefined No 패키지 ID 데이터를 포함하는 appxmanifest.xml 파일의 경로
options MsixIdentityOptions No 선택적 구성

addElectronDebugIdentity()

Electron 디버그 프로세스에 패키지 ID 추가

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

매개 변수:

매개 변수 Type 필수 Description
options MsixIdentityOptions No 구성 옵션

clearElectronDebugIdentity()

백업에서 복원하여 Electron 디버그 프로세스에서 패키지 ID를 지우거나 제거합니다.

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

매개 변수:

매개 변수 Type 필수 Description
options MsixIdentityOptions No 구성 옵션

getGlobalWinappPath()

전역 .winapp 디렉터리의 경로 가져오기

function getGlobalWinappPath(): string

반환: 전역 .winapp 디렉터리의 전체 경로


getLocalWinappPath()

로컬 .winapp 디렉터리의 경로 가져오기

function getLocalWinappPath(): string

반환: 로컬 .winapp 디렉터리의 전체 경로


Node.js CLI 명령어

이러한 명령은 단독으로 npx winapp node <subcommand> 사용할 수 있으며 프로그래밍 기능으로 내보내지지 않습니다.

node create-addon

Electron 프로젝트에 대한 네이티브 추가 기능 파일을 생성합니다. C++(node-gyp) 및 C#(node-api-dotnet) 템플릿을 지원합니다.

npx winapp node create-addon [options]

옵션:

Flag Description
--name <name> 추가 기능 이름(기본값은 템플릿에 따라 다름)
--template <type> 추가 기능 템플릿: cpp 또는 cs (기본값: cpp)
--verbose 자세한 정보 출력 사용

참고: Electron 프로젝트의 루트(포함된 package.json디렉터리)에서 실행해야 합니다.

예제:

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

스파스 패키징을 사용하여 Electron 디버그 프로세스에 패키지 ID를 추가합니다. 백업 electron.exe을 만들고, 스파스 MSIX 매니페스트를 생성하고, 실행 파일에 ID를 추가하고, 스파스 패키지를 등록합니다. Package.appxmanifest가 필요합니다 (winapp init 또는 winapp manifest generate를 사용하여 하나 생성하십시오).

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

옵션:

Flag Description
--manifest <path> 사용자 지정 Package.appxmanifest 경로(기본값: Package.appxmanifest 현재 디렉터리)
--no-install 만든 후 패키지 설치 안 함
--keep-identity .debug 접미사를 추가하지 않고 매니페스트 ID를 그대로 유지하십시오.
--verbose 자세한 정보 출력 사용

참고: Electron 프로젝트의 루트(포함된 node_modules/electron디렉터리)에서 실행해야 합니다. 실행 취소하려면 .를 사용합니다 npx winapp node clear-electron-debug-identity.

예제:

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

node clear-electron-debug-identity

Electron 디버그 프로세스에서 패키지 ID를 제거합니다. add-electron-debug-identity에 의해 생성된 백업에서 electron.exe을 복원하고 백업 파일을 제거합니다.

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

옵션:

Flag Description
--verbose 자세한 정보 출력 사용

참고: Electron 프로젝트의 루트(포함된 node_modules/electron디렉터리)에서 실행해야 합니다.

예제:

npx winapp node clear-electron-debug-identity

타입 참조

ExecSyncOptions

편의를 위해 Node.js에서 재내보낸 것입니다. Node.js 문서를 참조하세요.

MsixIdentityOptions

재산 Type 필수 Description
verbose boolean \| undefined No
noInstall boolean \| undefined No
keepIdentity boolean \| undefined No
manifest string \| undefined No

MsixIdentityResult

재산 Type 필수 Description
success boolean Yes

ElectronDebugIdentityResult

재산 Type 필수 Description
success boolean Yes
electronExePath string Yes
backupPath string Yes
manifestPath string Yes
assetsDir string Yes

ClearElectronDebugIdentityResult

재산 Type 필수 Description
success boolean Yes
electronExePath string Yes
restoredFromBackup boolean Yes

CallWinappCliOptions

재산 Type 필수 Description
exitOnError boolean \| undefined No

CallWinappCliResult

재산 Type 필수 Description
exitCode number Yes

CallWinappCliCaptureOptions

재산 Type 필수 Description
cwd string \| undefined No CLI 프로세스에 대한 작업 디렉터리(기본값: process.cwd())

CallWinappCliCaptureResult

재산 Type 필수 Description
exitCode number Yes
stdout string Yes
stderr string Yes

GenerateCppAddonOptions

재산 Type 필수 Description
name string \| undefined No
projectRoot string \| undefined No
verbose boolean \| undefined No

GenerateCppAddonResult

재산 Type 필수 Description
success boolean Yes
addonName string Yes
addonPath string Yes
needsTerminalRestart boolean Yes
files string[] Yes

GenerateCsAddonOptions

재산 Type 필수 Description
name string \| undefined No
projectRoot string \| undefined No
verbose boolean \| undefined No

GenerateCsAddonResult

재산 Type 필수 Description
success boolean Yes
addonName string Yes
addonPath string Yes
needsTerminalRestart boolean Yes
files string[] Yes

IfExists

IfExists 값입니다.

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

SdkInstallMode

SdkInstallMode 값입니다.

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

ManifestTemplates

ManifestTemplates 값입니다.

type ManifestTemplates = "packaged" | "sparse"

CertGenerateOptions

재산 Type 필수 Description
exportCer boolean \| undefined No .pfx와 함께 .cer 파일(공개 키만 해당) 내보내기
ifExists IfExists \| undefined No 출력 파일이 있을 때의 동작: 'error'(fail, default), 'skip'(기존 항목 유지) 또는 '덮어쓰기'(바꾸기)
install boolean \| undefined No 생성 후 로컬 컴퓨터 저장소에 인증서 설치
json boolean \| undefined No 출력을 JSON으로 서식 지정
manifest string \| undefined No 게시자 정보를 추출할 Package.appxmanifest 또는 appxmanifest.xml 파일의 경로
output string \| undefined No 생성된 PFX 파일의 출력 경로
password string \| undefined No 생성된 PFX 파일의 암호
publisher string \| undefined No 생성된 인증서의 Publisher 이름입니다. 지정하지 않으면 매니페스트에서 유추됩니다.
validDays number \| undefined No 인증서가 유효한 기간(일)
quiet boolean \| undefined No 진행 상황 메시지를 억제합니다.
verbose boolean \| undefined No 자세한 출력 모드를 활성화합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

CertInfoOptions

재산 Type 필수 Description
certPath string Yes 인증서 파일 경로(PFX)
json boolean \| undefined No 출력을 JSON으로 서식 지정
password string \| undefined No PFX 파일의 암호
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 활성화합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

CertInstallOptions

재산 Type 필수 Description
certPath string Yes 인증서 파일 경로(PFX 또는 CER)
force boolean \| undefined No 인증서가 이미 있는 경우에도 강제 설치
password string \| undefined No PFX 파일의 암호
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

CreateDebugIdentityOptions

재산 Type 필수 Description
entrypoint string \| undefined No ID 또는 진입점 스크립트를 사용하여 실행해야 하는 .exe 경로입니다.
keepIdentity boolean \| undefined No 패키지 이름 및 애플리케이션 ID에 '.debug'를 추가하지 않고 매니페스트에 있는 패키지 ID를 원래대로 유지합니다.
manifest string \| undefined No Package.appxmanifest 또는 appxmanifest.xml 경로
noInstall boolean \| undefined No 만든 후에는 패키지를 설치하지 마세요.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

CreateExternalCatalogOptions

재산 Type 필수 Description
inputFolder string Yes 처리할 실행 파일이 있는 입력 폴더 목록(세미콜론으로 구분)
computeFlatHashes boolean \| undefined No 카탈로그를 생성할 때 플랫 해시 포함
ifExists IfExists \| undefined No 출력 파일이 이미 있는 경우의 동작
output string \| undefined No 출력 카탈로그 파일 경로입니다. 지정하지 않으면 기본 CodeIntegrityExternal.cat 이름이 사용됩니다.
recursive boolean \| undefined No 하위 디렉터리의 파일 포함
usePageHashes boolean \| undefined No 카탈로그를 생성할 때 페이지 해시 포함
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

GetWinappPathOptions

재산 Type 필수 Description
global boolean \| undefined No 로컬이 아닌 전역 .winapp 디렉터리 가져오기
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

InitOptions

재산 Type 필수 Description
baseDirectory string \| undefined No 사용 또는 설치를 위한 winapp 작업 영역의 기본/루트 디렉터리입니다.
configDir string \| undefined No 읽기/저장 구성을 위한 디렉터리(기본값: 현재 디렉터리)
configOnly boolean \| undefined No 구성 파일 작업만 처리합니다(누락된 경우 만들고, 존재하는지 확인). 패키지 설치 및 기타 작업 영역 설정 단계를 건너뜁니다.
ignoreConfig boolean \| undefined No 버전 관리에 구성 파일을 사용하지 마세요.
noGitignore boolean \| undefined No .gitignore 파일을 업데이트하지 마세요.
setupSdks SdkInstallMode \| undefined No SDK 설치 모드: 'stable'(기본값), '미리 보기', '실험적' 또는 '없음'(SDK 설치 건너뛰기)
useDefaults boolean \| undefined No 프롬프트를 표시하지 않고 모든 프롬프트의 기본값을 사용합니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

ManifestAddAliasOptions

재산 Type 필수 Description
appId string \| undefined No 별칭을 추가할 애플리케이션 ID(기본값: 첫 번째 Application 요소)
manifest string \| undefined No Package.appxmanifest 또는 appxmanifest.xml 파일의 경로(기본값: 현재 디렉터리 검색)
name string \| undefined No 별칭 이름(예: 'myapp.exe'). 기본값: 매니페스트의 실행 파일 특성에서 유추됩니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

ManifestGenerateOptions

재산 Type 필수 Description
directory string \| undefined No 에서 매니페스트를 생성할 디렉터리
description string \| undefined No 설치 중 및 Windows 설정에 표시되는 사람이 읽을 수 있는 앱 설명
executable string \| undefined No 애플리케이션의 실행 파일 경로입니다. 기본값: <패키지 이름>.exe
ifExists IfExists \| undefined No 출력 파일이 있을 때의 동작: 'error'(fail, default), 'skip'(기존 항목 유지) 또는 '덮어쓰기'(바꾸기)
logoPath string \| undefined No 로고 이미지 파일의 경로
packageName string \| undefined No 패키지 이름(기본값: 폴더 이름)
publisherName string \| undefined No Publisher CN(기본값: CN=< 현재 사용자>)
template ManifestTemplates \| undefined No 매니페스트 템플릿 유형: 'packaged'(전체 MSIX 앱, 기본값) 또는 '스파스'(Windows API에 대한 패키지 ID가 있는 데스크톱 앱)
version string \| undefined No Major.Minor.Build.Revision 형식의 앱 버전(예: 1.0.0.0).
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

ManifestUpdateAssetsOptions

재산 Type 필수 Description
imagePath string Yes 원본 이미지 파일 경로(SVG, PNG, ICO, JPG, BMP, GIF)
lightImage string \| undefined No 밝은 테마 변형에 대한 원본 이미지 경로(SVG, PNG, ICO, JPG, BMP, GIF)
manifest string \| undefined No Package.appxmanifest 또는 appxmanifest.xml 파일의 경로(기본값: 현재 디렉터리 검색)
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

PackageOptions

재산 Type 필수 Description
inputFolder string Yes 패키지 레이아웃이 있는 입력 폴더
cert string \| undefined No 서명 인증서 경로(제공된 경우 자동 서명)
certPassword string \| undefined No 인증서 암호(기본값: 암호)
executable string \| undefined No 입력 폴더를 기준으로 실행 파일의 경로입니다.
generateCert boolean \| undefined No 새 개발 인증서 생성
installCert boolean \| undefined No 컴퓨터에 인증서 설치
manifest string \| undefined No AppX 매니페스트 파일 경로(기본값: 입력 폴더 또는 현재 디렉터리에서 자동 검색)
name string \| undefined No 패키지 이름(기본값: 매니페스트에서)
output string \| undefined No 생성된 패키지의 출력 msix 파일 이름(기본값은 nameversionarch.msix이며, 버전이나 구조<예: arch>를 확인할 수 없는 경우에는 nameversion.msix, namearch.msix, 또는 name.msix으로 대체됨)
publisher string \| undefined No 인증서 생성에 대한 Publisher 이름
selfContained boolean \| undefined No 자체 포함 배포를 위한 Windows 앱 SDK 런타임 번들
skipPri boolean \| undefined No PRI 파일 생성 건너뛰기
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

RestoreOptions

재산 Type 필수 Description
baseDirectory string \| undefined No winapp 작업 영역에 대한 기본/루트 디렉터리
configDir string \| undefined No 구성을 읽을 디렉터리(기본값: 현재 디렉터리)
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

RunOptions

재산 Type 필수 Description
inputFolder string Yes 실행할 앱이 포함된 입력 폴더
args string \| undefined No 애플리케이션에 전달할 명령줄 인수
clean boolean \| undefined No 다시 배포하기 전에 기존 패키지의 애플리케이션 데이터(LocalState, 설정 등)를 제거합니다. 기본적으로 애플리케이션 데이터는 다시 배포에서 유지됩니다.
debugOutput boolean \| undefined No 시작된 애플리케이션에서 OutputDebugString 메시지 및 첫 번째 예외를 캡처합니다. 한 번에 하나의 디버거만 프로세스에 연결할 수 있으므로 다른 디버거(Visual Studio, VS Code)를 동시에 사용할 수 없습니다. 다른 디버거를 연결해야 하는 경우 --no-launch를 대신 사용합니다. --no-launch 또는 --json과 결합할 수 없습니다.
detach boolean \| undefined No 애플리케이션을 시작하고 종료할 때까지 기다리지 않고 즉시 반환합니다. 시작 후 앱과 상호 작용해야 하는 CI/자동화에 유용합니다. PID를 stdout(또는 --json이 있는 JSON)에 인쇄합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
manifest string \| undefined No Package.appxmanifest 경로(기본값: 입력 폴더 또는 현재 디렉터리에서 자동 검색)
noLaunch boolean \| undefined No 애플리케이션을 시작하지 않고 디버그 ID만 만들고 패키지를 등록합니다.
outputAppxDirectory string \| undefined No 느슨한 레이아웃 패키지의 출력 디렉터리입니다. 지정하지 않으면 입력 폴더 디렉터리 내에 AppX라는 디렉터리가 사용됩니다.
symbols boolean \| undefined No 더 풍부한 네이티브 크래시 분석을 위해 Microsoft 기호 서버에서 기호를 다운로드합니다. --debug-output에서만 사용됩니다. 먼저 실행은 기호를 다운로드하고 로컬로 캐시합니다. 후속 실행에서는 캐시를 사용합니다.
unregisterOnExit boolean \| undefined No 애플리케이션이 종료된 후 개발 패키지의 등록을 취소합니다. 개발 모드에 등록된 패키지만 제거합니다.
withAlias boolean \| undefined No AUMID 활성화 대신 실행 별칭을 사용하여 앱을 시작합니다. 앱은 상속된 stdin/stdout/stderr를 사용하여 현재 터미널에서 실행됩니다. 매니페스트에 uap5:ExecutionAlias가 필요합니다. "winapp 매니페스트 추가 별칭"을 사용하여 매니페스트에 실행 별칭을 추가합니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

SignOptions

재산 Type 필수 Description
filePath string Yes 서명할 파일/패키지의 경로
certPath string Yes 인증서 파일 경로(PFX 형식)
password string \| undefined No 인증서 암호
timestamp string \| undefined No 타임스탬프 서버 URL
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

StoreOptions

재산 Type 필수 Description
storeArgs string[] \| undefined No Microsoft Store Developer CLI로 전달할 인수입니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

ToolOptions

재산 Type 필수 Description
toolArgs string[] \| undefined No SDK 도구에 전달할 인수(예: ['makeappx', 'pack', '/d', './folder', '/p', './out.msix']).
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiClickOptions

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
double boolean \| undefined No 한 번의 클릭 대신 두 번 클릭 수행
json boolean \| undefined No 출력을 JSON으로 서식 지정
right boolean \| undefined No 왼쪽 클릭 대신 마우스 오른쪽 단추 클릭 수행
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiFocusOptions

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiGetFocusedOptions

재산 Type 필수 Description
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiGetPropertyOptions

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
property string \| undefined No 읽거나 필터링할 속성 이름
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiGetValueOptions

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiInspectOptions

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
ancestors boolean \| undefined No 지정된 요소에서 루트로 트리를 따라 위로 이동합니다.
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
depth number \| undefined No 트리 검사 깊이
hideDisabled boolean \| undefined No 출력에서 비활성화된 요소 숨기기
hideOffscreen boolean \| undefined No 출력에서 오프스크린 요소 숨기기
interactive boolean \| undefined No 대화형/호출 가능한 요소(단추, 링크, 입력, 목록 항목)만 표시합니다. 기본 깊이를 8로 늘입니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiInvokeOptions

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiListWindowsOptions

재산 Type 필수 Description
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiScreenshotOptions

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
captureScreen boolean \| undefined No 창 렌더링 대신 화면에서 캡처(팝업/오버레이 포함) 먼저 창을 포그라운드로 가져옵니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
output string \| undefined No 파일 경로에 출력 저장(예: 스크린샷)
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 활성화합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiScrollOptions

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 시맨틱 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
direction string \| undefined No 스크롤 방향: 위쪽, 아래쪽, 왼쪽, 오른쪽
json boolean \| undefined No 출력을 JSON으로 서식 지정
to string \| undefined No 위치로 이동: 위쪽, 아래쪽
window number \| undefined No 목록 출력에서 얻은 안정적인 핸들인 HWND로 창을 대상으로 지정. --app보다 우선합니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 활성화합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiScrollIntoViewOptions

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 시맨틱 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No 목록 출력에서 얻은 안정적인 핸들인 HWND로 창을 대상으로 지정. --app보다 우선합니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 활성화합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiSearchOptions

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 시맨틱 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
max number \| undefined No 최대 검색 결과
window number \| undefined No 목록 출력에서 얻은 안정적인 핸들인 HWND로 창을 대상으로 지정. --app보다 우선합니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 활성화합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiSetValueOptions

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 시맨틱 슬러그(예: btn-minimize-d1a0) 또는 텍스트
value string \| undefined No 설정할 값(TextBox/ComboBox의 텍스트, 슬라이더의 경우 숫자)
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No 목록 출력에서 얻은 안정적인 핸들인 HWND로 창을 대상으로 지정. --app보다 우선합니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 활성화합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiStatusOptions

재산 Type 필수 Description
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
window number \| undefined No 목록 출력에서 얻은 안정적인 핸들인 HWND로 창을 대상으로 지정. --app보다 우선합니다.
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 활성화합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UiWaitForOptions

재산 Type 필수 Description
selector string \| undefined No 이름/automationId로 검색할 의미론적 슬러그(예: btn-minimize-d1a0) 또는 텍스트
app string \| undefined No 대상 앱(프로세스 이름, 창 제목 또는 PID). 모호한 경우 창을 나열합니다.
contains boolean \| undefined No 정확한 일치 대신 --value에 부분 문자열 일치 사용
gone boolean \| undefined No 요소가 나타나지 않고 사라질 때까지 기다립니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
property string \| undefined No 읽거나 필터링할 속성 이름
timeout number \| undefined No 시간 제한(밀리초)
value string \| undefined No 요소 값이 이 문자열과 같을 때까지 기다립니다. 스마트 폴백(TextPattern -> ValuePattern -> Name)을 사용합니다. 대신 --property와 결합하여 특정 속성을 확인합니다.
window number \| undefined No HWND별 대상 창(목록 출력의 안정적인 핸들). "--app"보다 우선시됩니다.
quiet boolean \| undefined No 진행률 메시지 표시 안 함.
verbose boolean \| undefined No 상세한 출력 기능을 활성화합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UnregisterOptions

재산 Type 필수 Description
force boolean \| undefined No 다른 프로젝트 트리에서 패키지를 등록한 경우에도 설치 위치 디렉터리 검사를 건너뛰고 등록을 취소합니다.
json boolean \| undefined No 출력을 JSON으로 서식 지정
manifest string \| undefined No Package.appxmanifest 경로(기본값: 현재 디렉터리에서 자동 검색)
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.

UpdateOptions

재산 Type 필수 Description
setupSdks SdkInstallMode \| undefined No SDK 설치 모드: 'stable'(기본값), '미리 보기', '실험적' 또는 '없음'(SDK 설치 건너뛰기)
quiet boolean \| undefined No 진행률 메시지를 표시하지 않습니다.
verbose boolean \| undefined No 자세한 정보 출력을 사용하도록 설정합니다.
cwd string \| undefined No CLI 프로세스의 작업 디렉터리(기본값은 process.cwd())입니다.