다음을 통해 공유


명령

설치

1단계: .NET Windows 런타임 설치

아직 설치하지 않은 경우 최신 버전의 .NET 8 데스크톱 런타임을 설치해야 합니다. Microsoft Store 개발자 CLI 실행을 위한 요건입니다.

가장 설치하기 쉬운 방법은 winget을 사용하는 것입니다.

winget install Microsoft.DotNet.DesktopRuntime.8

2단계: Windows에 Microsoft Store 개발자 CLI 설치

Microsoft Store에서 Microsoft Store 개발자 CLI를 다운로드할 수 있습니다. 또는 winget을 사용할 수 있습니다.

winget install "Microsoft Store Developer CLI"

1단계: .NET macOS 런타임 설치

아직 설치하지 않은 경우 최신 버전의 .NET 8 런타임을 설치해야 합니다. Microsoft Store 개발자 CLI 실행을 위한 요건입니다.

2단계: macOS에 Microsoft Store 개발자 CLI 설치

Microsoft Store 개발자 CLI 릴리스 페이지에서 특정 아키텍처(x64 또는 Arm64)에 대한 macOS .tar.gz를 다운로드할 수 있습니다. 다운로드한 후 보관 파일을 추출해 PATH에 넣습니다. 예를 들면 다음과 같습니다.

mkdir MSStoreCLI
curl https://github.com/microsoft/msstore-cli/releases/latest/download/MSStoreCLI-osx-x64.tar.gz -o MSStoreCLI-osx-x64.tar.gz
tar -xvf MSStoreCLI-osx-x64.tar.gz -C ./MSStoreCLI
sudo cp -R MSStoreCLI/. /usr/local/bin

또는 brew를 사용할 수 있습니다.

brew install microsoft/msstore-cli/msstore-cli

1단계: .NET Linux 런타임 설치

아직 설치하지 않은 경우 최신 버전의 .NET 8 런타임을 설치해야 합니다. Microsoft Store 개발자 CLI 실행을 위한 요건입니다.

2단계: Linux에 Microsoft Store 개발자 CLI 설치

Microsoft Store 개발자 CLI 릴리스 페이지에서 특정 아키텍처(x64 또는 Arm64)에 대한 Linux .tar.gz를 다운로드할 수 있습니다. 다운로드한 후 보관 파일을 추출해 PATH에 넣습니다. 예를 들면 다음과 같습니다.

mkdir MSStoreCLI
wget https://github.com/microsoft/msstore-cli/releases/latest/download/MSStoreCLI-linux-x64.tar.gz
tar -xvf MSStoreCLI-linux-x64.tar.gz -C ./MSStoreCLI
sudo cp -R MSStoreCLI/. /usr/local/bin

또는 brew를 사용할 수 있습니다.

brew install microsoft/msstore-cli/msstore-cli

info 명령

기존 구성을 인쇄합니다.

정보 명령 - 사용

msstore info

정보 명령 - 옵션

옵션 설명
-v, --verbose 자세한 정보 출력을 인쇄합니다.

명령 다시 구성

Microsoft Store 개발자 CLI를 재구성합니다. 클라이언트 암호 또는 인증서를 제공할 수 있습니다. 인증서는 지문을 통해 또는 파일 경로(암호 포함 또는 없음)를 제공하여 제공할 수 있습니다.

다시 구성 - 사용량

msstore reconfigure

다시 구성 - 옵션

옵션 설명
-t, --tenantId 사용해야 하는 테넌트 ID를 지정합니다.
-s, --sellerId 사용해야 하는 판매자 ID를 지정합니다.
-c, --clientId 사용해야 하는 클라이언트 ID를 지정합니다.
-cs, --clientSecret 사용해야 하는 클라이언트 비밀을 지정합니다.
-ct, --certificateThumbprint 사용해야 하는 인증서 지문을 지정합니다.
-cfp, --certificateFilePath 사용해야 하는 인증서 파일 경로를 지정합니다.
-cp, --certificatePassword 사용해야 하는 인증서 암호를 지정합니다.
--reset 다시 시작하지 않고 자격 증명만 초기화합니다.

Settings 명령

Microsoft Store 개발자 CLI의 설정을 변경합니다.

설정 - 사용량

msstore settings
하위 명령 설명
setpdn init 명령에서 사용하는 게시자 표시 이름 속성을 설정합니다.

설정 - 옵션

옵션 설명
-t, --enableTelemetry 원격 분석을 활성화(empty/true) 또는 비활성화(false)합니다.
-v, --verbose 자세한 정보 출력을 인쇄합니다.

설정 - SetPDN 명령 사용

msstore settings setpdn <publisherDisplayName>

인수

Argument 설명
publisherDisplayName 전역적으로 설정될 게시자 표시 이름 속성입니다.

도움말

msstore settings setpdn --help

앱 명령

하위 명령 설명
list 계정의 모든 애플리케이션을 나열합니다.
get 특정 애플리케이션의 세부 정보를 가져옵니다.

앱 - 명령 사용량 나열

msstore apps list

목록 명령 - 도움말

msstore apps list --help

앱 - 명령 사용 가져오기

msstore apps get <productId>

앱 - 명령 인수 가져오기

인수 설명
productId 제품 ID입니다.

앱 - 명령 도움말 가져오기

msstore apps get --help

제출 명령

하위 명령 설명
status 제출의 상태를 가져옵니다.
get 특정 제출의 세부 정보를 가져옵니다.
getListingAssets 특정 제출의 목록 자산을 가져옵니다.
updateMetadata 특정 제출의 메타데이터를 업데이트합니다.
업데이트 특정 제출의 세부 정보를 업데이트합니다.
poll 제출의 상태를 폴링합니다.
publish 특정 제출을 게시합니다.
delete 특정 제출을 삭제합니다.

제출 - 상태 명령 사용

msstore submission status <productId>

제출 - 상태 명령 인수

인수 설명
productId 제품 ID입니다.

제출 - 상태 명령 도움말

msstore submission status --help

제출 - 명령 사용 가져오기

msstore submission get <productId>

제출 - 명령 인수 가져오기

인수 설명
productId 제품 ID입니다.

제출 - 명령 옵션 가져오기

옵션 설명
-m, --module 검색할 모듈('availability', 'listings' 또는 'properties')을 선택합니다.
-l, --language 검색할 언어를 선택합니다. [기본값: en]

제출 - 명령 도움말 가져오기

msstore submission get --help

제출 - GetListingAssets 명령 사용

저장소 제출에서 기존 초안 목록 자산을 검색합니다.

msstore submission getListingAssets <productId>

제출 - GetListingAssets 명령 인수

인수 설명
productId 제품 ID입니다.

제출 - GetListingAssets 명령 옵션

옵션 설명
-l, --language 검색할 언어를 선택합니다. [기본값: en]

제출 - GetListingAssets 명령 도움말

msstore submission getListingAssets --help

제출 - UpdateMetadata 명령 사용

msstore submission updateMetadata <productId> <metadata>

제출 - UpdateMetadata 명령 인수

인수 설명
productId 제품 ID입니다.
metadata 업데이트된 JSON 메타데이터 표현입니다.

제출 - UpdateMetadata 명령 옵션

옵션 설명
-s, --skipInitialPolling 작업을 실행하기 전에 초기 폴링을 건너뜁니다. [기본값: False]

제출 - UpdateMetadata 명령 도움말

msstore submission updateMetadata --help

제출 - 명령 사용량 업데이트

msstore submission update <productId> <product>

제출 - 명령 인수 업데이트

인수 설명
productId 제품 ID입니다.
product 업데이트된 JSON 제품 표현입니다.

제출 - 명령 옵션 업데이트

옵션 설명
-s, --skipInitialPolling 작업을 실행하기 전에 초기 폴링을 건너뜁니다. [기본값: False]

제출 - 업데이트 명령 도움말

msstore submission update --help

제출 - 폴링 명령 사용

msstore submission poll <productId>

제출 - 폴링 명령 인수

인수 설명
productId 제품 ID입니다.

제출 - 설문 조사 명령 도움말

msstore submission poll --help

제출 - 명령 사용 게시

msstore submission publish <productId>

제출 - 명령 인수 게시

인수 설명
productId 제품 ID입니다.

제출 - 명령 도움말 게시

msstore submission publish --help

제출 - 명령 사용 삭제

스토어에서 보류 중인 제출을 삭제합니다.

제출 - 명령 인수 삭제

인수 설명
productId 제품 ID입니다.

제출 - 명령 옵션 삭제

옵션 설명
--no-confirm 확인을 묻는 메시지를 표시하지 마세요. [기본값: False]

제출 - 명령 도움말 삭제

msstore submission delete --help

Init 명령

init 명령은 Microsoft Store에 게시할 수 있도록 애플리케이션을 설정하는 데 도움이 됩니다. 현재 다음과 같은 애플리케이션 유형을 지원합니다.

  • Windows 앱 SDK/WinUI 3
  • UWP
  • .NET MAUI
  • Flutter
  • Electron
  • 데스크톱용 React Native
  • PWA

Init 명령 - 사용 예제

Init 명령 - Windows 앱 SDK/WinUI 3

msstore init "C:\path\to\winui3_app"

Init 명령 - UWP

msstore init "C:\path\to\uwp_app"

Init 명령 - .NET MAUI

msstore init "C:\path\to\maui_app"

Init 명령 - Flutter

msstore init "C:\path\to\flutter_app"

Init 명령 - Electron

msstore init "C:\path\to\electron_app"

Init 명령 - 데스크톱용 React Native

msstore init "C:\path\to\react_native_app"

참고 항목

Electron 및 데스크톱용 React Native 프로젝트의 경우 둘 다 Npm Yarn 지원됩니다. Yarn 잠금 파일(yarn.lock)의 존재 여부로 사용할 패키지 관리자가 결정되므로 소스 제어 시스템에 잠금 파일을 체크인해야 합니다.

Init 명령 - PWA

msstore init https://contoso.com --output .

Init 명령 - 인수

인수 설명
pathOrUrl 프로젝트 파일이 있는 루트 디렉터리 경로 또는 PWA를 가리키는 공용 URL입니다.

Init 명령 - 옵션

옵션 설명
-n, --publisherDisplayName 애플리케이션 구성에 사용되는 게시자 표시 이름입니다. 제공된 경우 추가적인 API 호출을 방지합니다.
--package 앱 유형에서 지원되는 경우, 프로젝트를 자동으로 패키징합니다.
--publish 앱 유형에서 지원되는 경우, 프로젝트를 자동으로 게시합니다. '--package true'를 의미합니다
-f, --flightId 패키지를 게시할 플라이트 ID를 지정합니다.
-prp, --packageRolloutPercentage 패키지의 출시 비율을 지정합니다. 값은 0에서 100 사이여야 합니다.
-a, --arch 빌드할 아키텍처입니다. 제공되지 않으면 현재 OS에 대한 기본 아키텍처와 프로젝트 유형이 사용됩니다. 허용되는 값: "x86", "x64", "arm64". '--package true'와 함께할 때에만 사용됩니다.
-o, --output 패키징된 앱이 저장될 출력 디렉터리입니다. 제공되지 않으면 서로 다른 각 앱 유형에 대한 기본 디렉터리가 사용됩니다.
-ver, --version 앱을 빌드할 때 사용되는 버전입니다. 제공되지 않으면 프로젝트 파일의 버전이 사용됩니다.

패키지 명령

Microsoft Store 애플리케이션을 MSIX로 패키지하는 데 도움을 줍니다.

패키지 명령 - 사용 예제

패키지 명령 - Windows 앱 SDK/WinUI 3

msstore package "C:\path\to\winui3_app"

패키지 명령 - UWP

msstore package "C:\path\to\uwp_app"

패키지 명령 - .NET MAUI

msstore package "C:\path\to\maui_app"

패키지 명령 - Flutter

msstore package "C:\path\to\flutter_app"

패키지 명령 - Electron

msstore package "C:\path\to\electron_app"

패키지 명령 - 데스크톱용 React Native

msstore package "C:\path\to\react_native_app"

패키지 명령 - PWA

msstore package "C:\path\to\pwa_app"

패키지 명령 - 인수

옵션 설명
pathOrUrl 프로젝트 파일이 있는 루트 디렉터리 경로 또는 PWA를 가리키는 공용 URL입니다.

패키지 명령 - 옵션

옵션 설명
-o, --output 패키징된 앱이 저장될 출력 디렉터리입니다. 제공되지 않으면 서로 다른 각 앱 유형에 대한 기본 디렉터리가 사용됩니다.
-a, --arch 빌드할 아키텍처입니다. 제공되지 않으면 현재 OS에 대한 기본 아키텍처와 프로젝트 유형이 사용됩니다. 허용되는 값: "x86", "x64", "arm64".
-ver, --version 앱을 빌드할 때 사용되는 버전입니다. 제공되지 않으면 프로젝트 파일의 버전이 사용됩니다.

게시 명령

Microsoft Store에 애플리케이션을 게시합니다.

게시 명령 - 사용 예제

게시 명령 - Windows 앱 SDK/WinUI 3

msstore publish "C:\path\to\winui3_app"

게시 명령 - UWP

msstore publish "C:\path\to\uwp_app"

게시 명령 - .NET MAUI

msstore publish "C:\path\to\maui_app"

게시 명령 - Flutter

msstore publish "C:\path\to\flutter_app"

게시 명령 - Electron

msstore publish "C:\path\to\electron_app"

게시 명령 - 데스크톱용 React Native

msstore publish "C:\path\to\react_native_app"

게시 명령 - PWA

msstore publish "C:\path\to\pwa_app"

게시 명령 - 인수

옵션 설명
pathOrUrl 프로젝트 파일이 있는 루트 디렉터리 경로 또는 PWA를 가리키는 공용 URL입니다.

게시 명령 - 옵션

옵션 설명
-i, --inputDirectory 게시 명령에 사용할 '.msix' 또는 '.msixupload' 파일이 있는 디렉터리입니다. 제공되지 않은 경우 CLI는 'pathOrUrl' 인수를 기반으로 최적의 후보를 찾으려 시도합니다.
-id, --appId 애플리케이션 ID를 지정합니다. 'init' 명령을 사용해 이전에 프로젝트를 초기화하지 않은 경우에만 필요합니다.
-nc, --noCommit 제출을 커밋하지 않고 초안 상태로 유지합니다.
-f, --flightId 패키지를 게시할 플라이트 ID를 지정합니다.
-prp, --packageRolloutPercentage 패키지의 출시 비율을 지정합니다. 값은 0에서 100 사이여야 합니다.

CI/CD 환경

Microsoft Store 개발자 CLI(프리뷰)는 CI/CD 환경에서의 실행을 지원합니다. 즉, 예를 들어 CI/CD 파이프라인에서 Microsoft Store 개발자 CLI(프리뷰)를 사용하면 애플리케이션을 Microsoft Store에 자동으로 게시할 수 있습니다.

이를 위한 첫 번째 단계는 CI/CD 환경에 Microsoft Store 개발자 CLI(프리뷰)를 설치하는 것입니다. 이를 수행하는 방법에 대한 자세한 지침은 여기를 참조하세요.

Microsoft Store 개발자 CLI(프리뷰)를 설치한 후 명령을 실행할 수 있도록 환경을 구성해야 합니다. 파트너 센터 계정(TenantId, SellerId, ClientId)을 식별하는 특정 매개 변수를 사용하여 명령을 실행 msstore reconfigure 하여 이 작업을 수행할 수 있습니다. 또한 ClientSecret 또는 인증서제공해야 합니다.

이러한 자격 증명은 CI/CD 파이프라인의 로그에 표시되므로 잘 숨겨야 합니다. 비밀을 사용하여 이 작업을 수행할 수 있습니다. 각 CI/CD 파이프라인 시스템은 이 비밀에 대해 상이한 이름을 가지고 있습니다. 예를 들어 Azure DevOps는 비밀 변수라 부르지만 GitHub Action은 암호화된 비밀이라고 부릅니다. 각 매개 변수(TenantId, SellerId, ClientIdClientSecret 또는 인증서)에 대해 하나의 비밀을 만든 다음, 명령을 사용하여 reconfigure 환경을 설정합니다.

예시:

Azure DevOps

- task: UseMSStoreCLI@0
  displayName: Setup Microsoft Store Developer CLI
- script: msstore reconfigure --tenantId $(PARTNER_CENTER_TENANT_ID) --sellerId $(PARTNER_CENTER_SELLER_ID) --clientId $(PARTNER_CENTER_CLIENT_ID) --clientSecret $(PARTNER_CENTER_CLIENT_SECRET)
  displayName: Configure Microsoft Store Developer CLI

GitHub Actions

- name: Setup Microsoft Store Developer CLI
  uses: microsoft/setup-msstore-cli@v1
- name: Configure Microsoft Store Developer CLI
  run: msstore reconfigure --tenantId ${{ secrets.PARTNER_CENTER_TENANT_ID }} --sellerId ${{ secrets.PARTNER_CENTER_SELLER_ID }} --clientId ${{ secrets.PARTNER_CENTER_CLIENT_ID }} --clientSecret ${{ secrets.PARTNER_CENTER_CLIENT_SECRET }}

이 명령이 실행되면 Microsoft Store 개발자 CLI(프리뷰)가 제공된 자격 증명을 사용하도록 구성됩니다. 이제 CI/CD 파이프라인에서 Microsoft Store 개발자 CLI(프리뷰)를 사용할 수 있습니다.