|
AddPackageOptions
|
AddPackageByUriAsync 메서드를 사용하여 패키지, 패키지 매니페스트 또는 앱 설치 관리자 파일을 추가할 때 구성할 수 있는 배포 옵션을 지정합니다.
|
|
EnsureReadyOptions
|
이 네임스페이스는 Windows 해당하는 MSIX 패키지 관리 API를 제공합니다. Management.Deployment 네임스페이스이지만 추가 기능, 향상된 개발자 환경 및 성능 최적화를 제공합니다.
이러한 WinRT(Windows 런타임) API를 사용하면 소프트웨어를 MSIX 패키지로 배포하고 관리할 수 있습니다. 패키지를 설치, 업데이트, 제거, 열거 및 관리할 수 있습니다. API가 중점적인 시나리오는 다음과 같습니다.
- 패키지 스테이징
- 패키지 등록
- 패키지 추가/업데이트
- 패키지 제거
- 패키지 복구
- 패키지 다시 설정
- 패키지 프로비전
- 패키지 프로비전 해제
추가 기능에는 다음이 포함됩니다.
-
IsReadyXxx. 패키지를 사용할 준비가 되었는지 여부를 확인합니다.
-
EnsureReady. 패키지를 사용할 준비가 되었는지 여부를 확인하고, 그렇지 않은 경우 패키지로 만듭니다.
-
IsPackageRegistrationPending. 등록 대기 중인 업데이트가 있는지 여부를 확인합니다.
-
PackageSets. 일괄 처리 작업.
-
PackageRuntimeManager. 동적 종속성을 통해 런타임에 사용하기 위한 일괄 처리 작업입니다.
- 유용성. 삶의 질 향상.
API 구조체
배포 작업을 구동하는 방법은 일반적으로 패턴을 따릅니다.
<verb>Package[Set][By<Type>][Suffix]Async(target, options)
지원되는 동사는 다음과 같습니다.
- ...입니다. Ready[OrNewerAvailable]
- 확인... 준비
- 추가
- 단계
- Register
- Remove
- 수리
- Reset
- 프로비전
- 프로비전 해제
이러한 메서드는 대상 패키지를 첫 번째 매개 변수로 허용합니다. 해당 매개 변수는 다음을 비롯한 다양한 유형의 정보일 수 있습니다.
- Filename
- Path
- PackageFamilyName
- PackageFullName
- Uri
! [참고] URI의 대상이 있는 메서드의 이름은 ... ByUri....
! [참고] PackageFamilyName의 대상이 있는 메서드의 이름은 ... ByPackageFamilyName....
! [참고] PackageFullName의 대상이 있는 메서드의 이름은 ... ByPackageFullName....
! [참고] 없는 메서드... 유형<별>... 한정자는 하나 이상의 식별자 형식을 포함할 수 있는 문자열을 허용합니다. 동사마다 다를 수 있습니다. 각 메서드에서 지원하는 특정 대상 유형에 대한 API 설명서를 참조하세요.
이러한 메서드는 옵션을 일치하는 <verb>Package[Set]Options 형식으로 허용합니다(예: .) AddPackageAsync(string packageUri, AddPackageOptions options).
다음 표에서는 동사와 대상의 지원되는 순열을 보여 줍니다.
| 동사 |
Path |
Filename |
PackageFamilyName |
PackageFullName |
파일: |
http(s): |
ms-uup: |
PackageSet |
| IsReady |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| IsReadyOrNewerAvailable |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| EnsureReady |
X |
X |
X |
X |
X |
X |
WAS |
WAS |
| 추가 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| 단계 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| Register |
WAS |
OS/WAS |
OS/WAS |
OS/WAS |
OS/WAS |
X |
OS/WAS |
WAS |
| Remove |
X |
X |
WAS |
OS/WAS |
X |
X |
OS/WAS |
WAS |
| 수리 |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| Reset |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| IsProvisioned |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 해제 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
범례:
-
OS = Windows.Management.Deployment.PackageManager 클래스에서 Windows(OS) API에서 지원됩니다.
-
WAS = Microsoft.Windows.Management.Deployment.PackageDeploymentManager 클래스의 Windows 앱 SDK API 에서 지원됩니다.
-
X = 지원되지 않음
유용성
Windows 앱 SDK(Microsoft.Windows.Management.Deployment)의 패키지 관리 API는 Windows.Management.Deployment 의 패키지 관리 API(예: PackageManager)에 대한 몇 가지 수명 품질 향상 기능을 제공합니다. 여기에는 다음이 포함됩니다.
- 패키지의 최신 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하여 ERROR_INSTALL_PACKAGE_DOWNGRADE 반환합니다. 그러나 PackageDeploymentManager.AddPackageByUriAsync 는 종속성 및 기타 패키지 참조가 일상적으로 처리되는 방식으로 요청을 "이 패키지 또는 더 높은 버전 설치"로 처리하므로 성공합니다.
- 패키지의 정확한 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하고 ERROR_PACKAGE_ALREADY_EXISTS 반환합니다. 요청된 패키지가 설치되어 있으므로 PackageDeploymentManager.AddPackageByUriAsync가 성공합니다.
- 대부분의 PackageManager 작업은 대상 패키지를 파일로 허용하지만 URI로 표현되어야 합니다.
PackageDeploymentManager 는 이를 문자열로 수락하는 재정의도 제공합니다.
- 지정된 패키지를 찾을 수 없으면 PackageManager.RemovePackageByFullNameAsync가 실패합니다. 요청된 패키지가 작업이 끝날 때 존재하지 않으므로 PackageDeploymentManager가 성공합니다.
- 이는 시스템의 이전 상태가 중요하지 않다는 핵심 배포 원칙 때문입니다. 원하는 끝 상태만 달성됩니다.
-
PackageManager 메서드는 대상 패키지를 표현하는 일관되지 않고 종종 불편한 순열을 허용합니다. 예를 들어 PackageManager 는 패키지 패밀리 이름이 아닌 패키지 전체 이름으로 패키지를 제거할 수 있습니다.
PackageDeploymentManager 는 추가 식별자를 허용하는 보다 풍부한 API를 제공합니다.
이러한 API는 Windows 10 버전 2004(10.0; 빌드 19041) 이상.
기능의 하위 집합은 최신 릴리스에서 사용할 수 있습니다. 예를 들어 AddPackageOptions.ExpectedDigests 에는 Windows 11 버전 22H2(10.0; 빌드 22621) 이상. Windows 10 버전 2004(10.0; 빌드 19041) 기준에는 현재 플랫폼이 기능을 지원하는지 여부를 런타임 시 감지하는 어도던스가 있습니다. 예를 들면 다음과 같습니다.
var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
options.LimitToExistingPackages = true;
}
|
|
PackageCertificateEkuValidator
|
이 네임스페이스는 Windows 해당하는 MSIX 패키지 관리 API를 제공합니다. Management.Deployment 네임스페이스이지만 추가 기능, 향상된 개발자 환경 및 성능 최적화를 제공합니다.
이러한 WinRT(Windows 런타임) API를 사용하면 소프트웨어를 MSIX 패키지로 배포하고 관리할 수 있습니다. 패키지를 설치, 업데이트, 제거, 열거 및 관리할 수 있습니다. API가 중점적인 시나리오는 다음과 같습니다.
- 패키지 스테이징
- 패키지 등록
- 패키지 추가/업데이트
- 패키지 제거
- 패키지 복구
- 패키지 다시 설정
- 패키지 프로비전
- 패키지 프로비전 해제
추가 기능에는 다음이 포함됩니다.
-
IsReadyXxx. 패키지를 사용할 준비가 되었는지 여부를 확인합니다.
-
EnsureReady. 패키지를 사용할 준비가 되었는지 여부를 확인하고, 그렇지 않은 경우 패키지로 만듭니다.
-
IsPackageRegistrationPending. 등록 대기 중인 업데이트가 있는지 여부를 확인합니다.
-
PackageSets. 일괄 처리 작업.
-
PackageRuntimeManager. 동적 종속성을 통해 런타임에 사용하기 위한 일괄 처리 작업입니다.
- 유용성. 삶의 질 향상.
API 구조체
배포 작업을 구동하는 방법은 일반적으로 패턴을 따릅니다.
<verb>Package[Set][By<Type>][Suffix]Async(target, options)
지원되는 동사는 다음과 같습니다.
- ...입니다. Ready[OrNewerAvailable]
- 확인... 준비
- 추가
- 단계
- Register
- Remove
- 수리
- Reset
- 프로비전
- 프로비전 해제
이러한 메서드는 대상 패키지를 첫 번째 매개 변수로 허용합니다. 해당 매개 변수는 다음을 비롯한 다양한 유형의 정보일 수 있습니다.
- Filename
- Path
- PackageFamilyName
- PackageFullName
- Uri
! [참고] URI의 대상이 있는 메서드의 이름은 ... ByUri....
! [참고] PackageFamilyName의 대상이 있는 메서드의 이름은 ... ByPackageFamilyName....
! [참고] PackageFullName의 대상이 있는 메서드의 이름은 ... ByPackageFullName....
! [참고] 없는 메서드... 유형<별>... 한정자는 하나 이상의 식별자 형식을 포함할 수 있는 문자열을 허용합니다. 동사마다 다를 수 있습니다. 각 메서드에서 지원하는 특정 대상 유형에 대한 API 설명서를 참조하세요.
이러한 메서드는 옵션을 일치하는 <verb>Package[Set]Options 형식으로 허용합니다(예: .) AddPackageAsync(string packageUri, AddPackageOptions options).
다음 표에서는 동사와 대상의 지원되는 순열을 보여 줍니다.
| 동사 |
Path |
Filename |
PackageFamilyName |
PackageFullName |
파일: |
http(s): |
ms-uup: |
PackageSet |
| IsReady |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| IsReadyOrNewerAvailable |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| EnsureReady |
X |
X |
X |
X |
X |
X |
WAS |
WAS |
| 추가 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| 단계 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| Register |
WAS |
OS/WAS |
OS/WAS |
OS/WAS |
OS/WAS |
X |
OS/WAS |
WAS |
| Remove |
X |
X |
WAS |
OS/WAS |
X |
X |
OS/WAS |
WAS |
| 수리 |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| Reset |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| IsProvisioned |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 해제 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
범례:
-
OS = Windows.Management.Deployment.PackageManager 클래스에서 Windows(OS) API에서 지원됩니다.
-
WAS = Microsoft.Windows.Management.Deployment.PackageDeploymentManager 클래스의 Windows 앱 SDK API 에서 지원됩니다.
-
X = 지원되지 않음
유용성
Windows 앱 SDK(Microsoft.Windows.Management.Deployment)의 패키지 관리 API는 Windows.Management.Deployment 의 패키지 관리 API(예: PackageManager)에 대한 몇 가지 수명 품질 향상 기능을 제공합니다. 여기에는 다음이 포함됩니다.
- 패키지의 최신 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하여 ERROR_INSTALL_PACKAGE_DOWNGRADE 반환합니다. 그러나 PackageDeploymentManager.AddPackageByUriAsync 는 종속성 및 기타 패키지 참조가 일상적으로 처리되는 방식으로 요청을 "이 패키지 또는 더 높은 버전 설치"로 처리하므로 성공합니다.
- 패키지의 정확한 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하고 ERROR_PACKAGE_ALREADY_EXISTS 반환합니다. 요청된 패키지가 설치되어 있으므로 PackageDeploymentManager.AddPackageByUriAsync가 성공합니다.
- 대부분의 PackageManager 작업은 대상 패키지를 파일로 허용하지만 URI로 표현되어야 합니다.
PackageDeploymentManager 는 이를 문자열로 수락하는 재정의도 제공합니다.
- 지정된 패키지를 찾을 수 없으면 PackageManager.RemovePackageByFullNameAsync가 실패합니다. 요청된 패키지가 작업이 끝날 때 존재하지 않으므로 PackageDeploymentManager가 성공합니다.
- 이는 시스템의 이전 상태가 중요하지 않다는 핵심 배포 원칙 때문입니다. 원하는 끝 상태만 달성됩니다.
-
PackageManager 메서드는 대상 패키지를 표현하는 일관되지 않고 종종 불편한 순열을 허용합니다. 예를 들어 PackageManager 는 패키지 패밀리 이름이 아닌 패키지 전체 이름으로 패키지를 제거할 수 있습니다.
PackageDeploymentManager 는 추가 식별자를 허용하는 보다 풍부한 API를 제공합니다.
이러한 API는 Windows 10 버전 2004(10.0; 빌드 19041) 이상.
기능의 하위 집합은 최신 릴리스에서 사용할 수 있습니다. 예를 들어 AddPackageOptions.ExpectedDigests 에는 Windows 11 버전 22H2(10.0; 빌드 22621) 이상. Windows 10 버전 2004(10.0; 빌드 19041) 기준에는 현재 플랫폼이 기능을 지원하는지 여부를 런타임 시 감지하는 어도던스가 있습니다. 예를 들면 다음과 같습니다.
var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
options.LimitToExistingPackages = true;
}
|
|
PackageDeploymentManager
|
사용자가 사용할 수 있는 소프트웨어를 관리합니다.
|
|
PackageDeploymentResult
|
배포 요청의 결과를 제공합니다.
|
|
PackageFamilyNameValidator
|
이 네임스페이스는 Windows 해당하는 MSIX 패키지 관리 API를 제공합니다. Management.Deployment 네임스페이스이지만 추가 기능, 향상된 개발자 환경 및 성능 최적화를 제공합니다.
이러한 WinRT(Windows 런타임) API를 사용하면 소프트웨어를 MSIX 패키지로 배포하고 관리할 수 있습니다. 패키지를 설치, 업데이트, 제거, 열거 및 관리할 수 있습니다. API가 중점적인 시나리오는 다음과 같습니다.
- 패키지 스테이징
- 패키지 등록
- 패키지 추가/업데이트
- 패키지 제거
- 패키지 복구
- 패키지 다시 설정
- 패키지 프로비전
- 패키지 프로비전 해제
추가 기능에는 다음이 포함됩니다.
-
IsReadyXxx. 패키지를 사용할 준비가 되었는지 여부를 확인합니다.
-
EnsureReady. 패키지를 사용할 준비가 되었는지 여부를 확인하고, 그렇지 않은 경우 패키지로 만듭니다.
-
IsPackageRegistrationPending. 등록 대기 중인 업데이트가 있는지 여부를 확인합니다.
-
PackageSets. 일괄 처리 작업.
-
PackageRuntimeManager. 동적 종속성을 통해 런타임에 사용하기 위한 일괄 처리 작업입니다.
- 유용성. 삶의 질 향상.
API 구조체
배포 작업을 구동하는 방법은 일반적으로 패턴을 따릅니다.
<verb>Package[Set][By<Type>][Suffix]Async(target, options)
지원되는 동사는 다음과 같습니다.
- ...입니다. Ready[OrNewerAvailable]
- 확인... 준비
- 추가
- 단계
- Register
- Remove
- 수리
- Reset
- 프로비전
- 프로비전 해제
이러한 메서드는 대상 패키지를 첫 번째 매개 변수로 허용합니다. 해당 매개 변수는 다음을 비롯한 다양한 유형의 정보일 수 있습니다.
- Filename
- Path
- PackageFamilyName
- PackageFullName
- Uri
! [참고] URI의 대상이 있는 메서드의 이름은 ... ByUri....
! [참고] PackageFamilyName의 대상이 있는 메서드의 이름은 ... ByPackageFamilyName....
! [참고] PackageFullName의 대상이 있는 메서드의 이름은 ... ByPackageFullName....
! [참고] 없는 메서드... 유형<별>... 한정자는 하나 이상의 식별자 형식을 포함할 수 있는 문자열을 허용합니다. 동사마다 다를 수 있습니다. 각 메서드에서 지원하는 특정 대상 유형에 대한 API 설명서를 참조하세요.
이러한 메서드는 옵션을 일치하는 <verb>Package[Set]Options 형식으로 허용합니다(예: .) AddPackageAsync(string packageUri, AddPackageOptions options).
다음 표에서는 동사와 대상의 지원되는 순열을 보여 줍니다.
| 동사 |
Path |
Filename |
PackageFamilyName |
PackageFullName |
파일: |
http(s): |
ms-uup: |
PackageSet |
| IsReady |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| IsReadyOrNewerAvailable |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| EnsureReady |
X |
X |
X |
X |
X |
X |
WAS |
WAS |
| 추가 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| 단계 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| Register |
WAS |
OS/WAS |
OS/WAS |
OS/WAS |
OS/WAS |
X |
OS/WAS |
WAS |
| Remove |
X |
X |
WAS |
OS/WAS |
X |
X |
OS/WAS |
WAS |
| 수리 |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| Reset |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| IsProvisioned |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 해제 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
범례:
-
OS = Windows.Management.Deployment.PackageManager 클래스에서 Windows(OS) API에서 지원됩니다.
-
WAS = Microsoft.Windows.Management.Deployment.PackageDeploymentManager 클래스의 Windows 앱 SDK API 에서 지원됩니다.
-
X = 지원되지 않음
유용성
Windows 앱 SDK(Microsoft.Windows.Management.Deployment)의 패키지 관리 API는 Windows.Management.Deployment 의 패키지 관리 API(예: PackageManager)에 대한 몇 가지 수명 품질 향상 기능을 제공합니다. 여기에는 다음이 포함됩니다.
- 패키지의 최신 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하여 ERROR_INSTALL_PACKAGE_DOWNGRADE 반환합니다. 그러나 PackageDeploymentManager.AddPackageByUriAsync 는 종속성 및 기타 패키지 참조가 일상적으로 처리되는 방식으로 요청을 "이 패키지 또는 더 높은 버전 설치"로 처리하므로 성공합니다.
- 패키지의 정확한 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하고 ERROR_PACKAGE_ALREADY_EXISTS 반환합니다. 요청된 패키지가 설치되어 있으므로 PackageDeploymentManager.AddPackageByUriAsync가 성공합니다.
- 대부분의 PackageManager 작업은 대상 패키지를 파일로 허용하지만 URI로 표현되어야 합니다.
PackageDeploymentManager 는 이를 문자열로 수락하는 재정의도 제공합니다.
- 지정된 패키지를 찾을 수 없으면 PackageManager.RemovePackageByFullNameAsync가 실패합니다. 요청된 패키지가 작업이 끝날 때 존재하지 않으므로 PackageDeploymentManager가 성공합니다.
- 이는 시스템의 이전 상태가 중요하지 않다는 핵심 배포 원칙 때문입니다. 원하는 끝 상태만 달성됩니다.
-
PackageManager 메서드는 대상 패키지를 표현하는 일관되지 않고 종종 불편한 순열을 허용합니다. 예를 들어 PackageManager 는 패키지 패밀리 이름이 아닌 패키지 전체 이름으로 패키지를 제거할 수 있습니다.
PackageDeploymentManager 는 추가 식별자를 허용하는 보다 풍부한 API를 제공합니다.
이러한 API는 Windows 10 버전 2004(10.0; 빌드 19041) 이상.
기능의 하위 집합은 최신 릴리스에서 사용할 수 있습니다. 예를 들어 AddPackageOptions.ExpectedDigests 에는 Windows 11 버전 22H2(10.0; 빌드 22621) 이상. Windows 10 버전 2004(10.0; 빌드 19041) 기준에는 현재 플랫폼이 기능을 지원하는지 여부를 런타임 시 감지하는 어도던스가 있습니다. 예를 들면 다음과 같습니다.
var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
options.LimitToExistingPackages = true;
}
|
|
PackageMinimumVersionValidator
|
이 네임스페이스는 Windows 해당하는 MSIX 패키지 관리 API를 제공합니다. Management.Deployment 네임스페이스이지만 추가 기능, 향상된 개발자 환경 및 성능 최적화를 제공합니다.
이러한 WinRT(Windows 런타임) API를 사용하면 소프트웨어를 MSIX 패키지로 배포하고 관리할 수 있습니다. 패키지를 설치, 업데이트, 제거, 열거 및 관리할 수 있습니다. API가 중점적인 시나리오는 다음과 같습니다.
- 패키지 스테이징
- 패키지 등록
- 패키지 추가/업데이트
- 패키지 제거
- 패키지 복구
- 패키지 다시 설정
- 패키지 프로비전
- 패키지 프로비전 해제
추가 기능에는 다음이 포함됩니다.
-
IsReadyXxx. 패키지를 사용할 준비가 되었는지 여부를 확인합니다.
-
EnsureReady. 패키지를 사용할 준비가 되었는지 여부를 확인하고, 그렇지 않은 경우 패키지로 만듭니다.
-
IsPackageRegistrationPending. 등록 대기 중인 업데이트가 있는지 여부를 확인합니다.
-
PackageSets. 일괄 처리 작업.
-
PackageRuntimeManager. 동적 종속성을 통해 런타임에 사용하기 위한 일괄 처리 작업입니다.
- 유용성. 삶의 질 향상.
API 구조체
배포 작업을 구동하는 방법은 일반적으로 패턴을 따릅니다.
<verb>Package[Set][By<Type>][Suffix]Async(target, options)
지원되는 동사는 다음과 같습니다.
- ...입니다. Ready[OrNewerAvailable]
- 확인... 준비
- 추가
- 단계
- Register
- Remove
- 수리
- Reset
- 프로비전
- 프로비전 해제
이러한 메서드는 대상 패키지를 첫 번째 매개 변수로 허용합니다. 해당 매개 변수는 다음을 비롯한 다양한 유형의 정보일 수 있습니다.
- Filename
- Path
- PackageFamilyName
- PackageFullName
- Uri
! [참고] URI의 대상이 있는 메서드의 이름은 ... ByUri....
! [참고] PackageFamilyName의 대상이 있는 메서드의 이름은 ... ByPackageFamilyName....
! [참고] PackageFullName의 대상이 있는 메서드의 이름은 ... ByPackageFullName....
! [참고] 없는 메서드... 유형<별>... 한정자는 하나 이상의 식별자 형식을 포함할 수 있는 문자열을 허용합니다. 동사마다 다를 수 있습니다. 각 메서드에서 지원하는 특정 대상 유형에 대한 API 설명서를 참조하세요.
이러한 메서드는 옵션을 일치하는 <verb>Package[Set]Options 형식으로 허용합니다(예: .) AddPackageAsync(string packageUri, AddPackageOptions options).
다음 표에서는 동사와 대상의 지원되는 순열을 보여 줍니다.
| 동사 |
Path |
Filename |
PackageFamilyName |
PackageFullName |
파일: |
http(s): |
ms-uup: |
PackageSet |
| IsReady |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| IsReadyOrNewerAvailable |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| EnsureReady |
X |
X |
X |
X |
X |
X |
WAS |
WAS |
| 추가 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| 단계 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| Register |
WAS |
OS/WAS |
OS/WAS |
OS/WAS |
OS/WAS |
X |
OS/WAS |
WAS |
| Remove |
X |
X |
WAS |
OS/WAS |
X |
X |
OS/WAS |
WAS |
| 수리 |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| Reset |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| IsProvisioned |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 해제 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
범례:
-
OS = Windows.Management.Deployment.PackageManager 클래스에서 Windows(OS) API에서 지원됩니다.
-
WAS = Microsoft.Windows.Management.Deployment.PackageDeploymentManager 클래스의 Windows 앱 SDK API 에서 지원됩니다.
-
X = 지원되지 않음
유용성
Windows 앱 SDK(Microsoft.Windows.Management.Deployment)의 패키지 관리 API는 Windows.Management.Deployment 의 패키지 관리 API(예: PackageManager)에 대한 몇 가지 수명 품질 향상 기능을 제공합니다. 여기에는 다음이 포함됩니다.
- 패키지의 최신 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하여 ERROR_INSTALL_PACKAGE_DOWNGRADE 반환합니다. 그러나 PackageDeploymentManager.AddPackageByUriAsync 는 종속성 및 기타 패키지 참조가 일상적으로 처리되는 방식으로 요청을 "이 패키지 또는 더 높은 버전 설치"로 처리하므로 성공합니다.
- 패키지의 정확한 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하고 ERROR_PACKAGE_ALREADY_EXISTS 반환합니다. 요청된 패키지가 설치되어 있으므로 PackageDeploymentManager.AddPackageByUriAsync가 성공합니다.
- 대부분의 PackageManager 작업은 대상 패키지를 파일로 허용하지만 URI로 표현되어야 합니다.
PackageDeploymentManager 는 이를 문자열로 수락하는 재정의도 제공합니다.
- 지정된 패키지를 찾을 수 없으면 PackageManager.RemovePackageByFullNameAsync가 실패합니다. 요청된 패키지가 작업이 끝날 때 존재하지 않으므로 PackageDeploymentManager가 성공합니다.
- 이는 시스템의 이전 상태가 중요하지 않다는 핵심 배포 원칙 때문입니다. 원하는 끝 상태만 달성됩니다.
-
PackageManager 메서드는 대상 패키지를 표현하는 일관되지 않고 종종 불편한 순열을 허용합니다. 예를 들어 PackageManager 는 패키지 패밀리 이름이 아닌 패키지 전체 이름으로 패키지를 제거할 수 있습니다.
PackageDeploymentManager 는 추가 식별자를 허용하는 보다 풍부한 API를 제공합니다.
이러한 API는 Windows 10 버전 2004(10.0; 빌드 19041) 이상.
기능의 하위 집합은 최신 릴리스에서 사용할 수 있습니다. 예를 들어 AddPackageOptions.ExpectedDigests 에는 Windows 11 버전 22H2(10.0; 빌드 22621) 이상. Windows 10 버전 2004(10.0; 빌드 19041) 기준에는 현재 플랫폼이 기능을 지원하는지 여부를 런타임 시 감지하는 어도던스가 있습니다. 예를 들면 다음과 같습니다.
var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
options.LimitToExistingPackages = true;
}
|
|
PackageRuntimeManager
|
PackageRuntimeManager 클래스는 PackageSet 작업에 대한 동적 종속성 지원을 제공합니다. 특히 호출자가 패키지를 통해 대상 지정하는 경우와 같이 관련된 정확한 패키지를 알 수 없는 경우에 특히 그렇습니다ms-uup:.
PackageRuntimeManager 는 PackageSet에 관련된 패키지를 결정하고 동적으로 호출자의 패키지 그래프에 추가합니다.
|
|
PackageSet
|
하나의 요청으로 작동할 패키지 그룹인 패키지 집합을 나타내는 클래스입니다. 패키지 집합은 여러 작업을 수행하는 편리한 방법을 제공합니다.
! [참고] PackageSet에서 처리되는 항목의 순서 지정 보장은 없습니다.
|
|
PackageSetItem
|
PackageSet의 패키지를 나타냅니다.
|
|
PackageSetItemRuntimeDisposition
|
이 네임스페이스는 Windows 해당하는 MSIX 패키지 관리 API를 제공합니다. Management.Deployment 네임스페이스이지만 추가 기능, 향상된 개발자 환경 및 성능 최적화를 제공합니다.
이러한 WinRT(Windows 런타임) API를 사용하면 소프트웨어를 MSIX 패키지로 배포하고 관리할 수 있습니다. 패키지를 설치, 업데이트, 제거, 열거 및 관리할 수 있습니다. API가 중점적인 시나리오는 다음과 같습니다.
- 패키지 스테이징
- 패키지 등록
- 패키지 추가/업데이트
- 패키지 제거
- 패키지 복구
- 패키지 다시 설정
- 패키지 프로비전
- 패키지 프로비전 해제
추가 기능에는 다음이 포함됩니다.
-
IsReadyXxx. 패키지를 사용할 준비가 되었는지 여부를 확인합니다.
-
EnsureReady. 패키지를 사용할 준비가 되었는지 여부를 확인하고, 그렇지 않은 경우 패키지로 만듭니다.
-
IsPackageRegistrationPending. 등록 대기 중인 업데이트가 있는지 여부를 확인합니다.
-
PackageSets. 일괄 처리 작업.
-
PackageRuntimeManager. 동적 종속성을 통해 런타임에 사용하기 위한 일괄 처리 작업입니다.
- 유용성. 삶의 질 향상.
API 구조체
배포 작업을 구동하는 방법은 일반적으로 패턴을 따릅니다.
<verb>Package[Set][By<Type>][Suffix]Async(target, options)
지원되는 동사는 다음과 같습니다.
- ...입니다. Ready[OrNewerAvailable]
- 확인... 준비
- 추가
- 단계
- Register
- Remove
- 수리
- Reset
- 프로비전
- 프로비전 해제
이러한 메서드는 대상 패키지를 첫 번째 매개 변수로 허용합니다. 해당 매개 변수는 다음을 비롯한 다양한 유형의 정보일 수 있습니다.
- Filename
- Path
- PackageFamilyName
- PackageFullName
- Uri
! [참고] URI의 대상이 있는 메서드의 이름은 ... ByUri....
! [참고] PackageFamilyName의 대상이 있는 메서드의 이름은 ... ByPackageFamilyName....
! [참고] PackageFullName의 대상이 있는 메서드의 이름은 ... ByPackageFullName....
! [참고] 없는 메서드... 유형<별>... 한정자는 하나 이상의 식별자 형식을 포함할 수 있는 문자열을 허용합니다. 동사마다 다를 수 있습니다. 각 메서드에서 지원하는 특정 대상 유형에 대한 API 설명서를 참조하세요.
이러한 메서드는 옵션을 일치하는 <verb>Package[Set]Options 형식으로 허용합니다(예: .) AddPackageAsync(string packageUri, AddPackageOptions options).
다음 표에서는 동사와 대상의 지원되는 순열을 보여 줍니다.
| 동사 |
Path |
Filename |
PackageFamilyName |
PackageFullName |
파일: |
http(s): |
ms-uup: |
PackageSet |
| IsReady |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| IsReadyOrNewerAvailable |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| EnsureReady |
X |
X |
X |
X |
X |
X |
WAS |
WAS |
| 추가 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| 단계 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| Register |
WAS |
OS/WAS |
OS/WAS |
OS/WAS |
OS/WAS |
X |
OS/WAS |
WAS |
| Remove |
X |
X |
WAS |
OS/WAS |
X |
X |
OS/WAS |
WAS |
| 수리 |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| Reset |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| IsProvisioned |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 해제 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
범례:
-
OS = Windows.Management.Deployment.PackageManager 클래스에서 Windows(OS) API에서 지원됩니다.
-
WAS = Microsoft.Windows.Management.Deployment.PackageDeploymentManager 클래스의 Windows 앱 SDK API 에서 지원됩니다.
-
X = 지원되지 않음
유용성
Windows 앱 SDK(Microsoft.Windows.Management.Deployment)의 패키지 관리 API는 Windows.Management.Deployment 의 패키지 관리 API(예: PackageManager)에 대한 몇 가지 수명 품질 향상 기능을 제공합니다. 여기에는 다음이 포함됩니다.
- 패키지의 최신 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하여 ERROR_INSTALL_PACKAGE_DOWNGRADE 반환합니다. 그러나 PackageDeploymentManager.AddPackageByUriAsync 는 종속성 및 기타 패키지 참조가 일상적으로 처리되는 방식으로 요청을 "이 패키지 또는 더 높은 버전 설치"로 처리하므로 성공합니다.
- 패키지의 정확한 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하고 ERROR_PACKAGE_ALREADY_EXISTS 반환합니다. 요청된 패키지가 설치되어 있으므로 PackageDeploymentManager.AddPackageByUriAsync가 성공합니다.
- 대부분의 PackageManager 작업은 대상 패키지를 파일로 허용하지만 URI로 표현되어야 합니다.
PackageDeploymentManager 는 이를 문자열로 수락하는 재정의도 제공합니다.
- 지정된 패키지를 찾을 수 없으면 PackageManager.RemovePackageByFullNameAsync가 실패합니다. 요청된 패키지가 작업이 끝날 때 존재하지 않으므로 PackageDeploymentManager가 성공합니다.
- 이는 시스템의 이전 상태가 중요하지 않다는 핵심 배포 원칙 때문입니다. 원하는 끝 상태만 달성됩니다.
-
PackageManager 메서드는 대상 패키지를 표현하는 일관되지 않고 종종 불편한 순열을 허용합니다. 예를 들어 PackageManager 는 패키지 패밀리 이름이 아닌 패키지 전체 이름으로 패키지를 제거할 수 있습니다.
PackageDeploymentManager 는 추가 식별자를 허용하는 보다 풍부한 API를 제공합니다.
이러한 API는 Windows 10 버전 2004(10.0; 빌드 19041) 이상.
기능의 하위 집합은 최신 릴리스에서 사용할 수 있습니다. 예를 들어 AddPackageOptions.ExpectedDigests 에는 Windows 11 버전 22H2(10.0; 빌드 22621) 이상. Windows 10 버전 2004(10.0; 빌드 19041) 기준에는 현재 플랫폼이 기능을 지원하는지 여부를 런타임 시 감지하는 어도던스가 있습니다. 예를 들면 다음과 같습니다.
var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
options.LimitToExistingPackages = true;
}
|
|
PackageSetRuntimeDisposition
|
이 네임스페이스는 Windows 해당하는 MSIX 패키지 관리 API를 제공합니다. Management.Deployment 네임스페이스이지만 추가 기능, 향상된 개발자 환경 및 성능 최적화를 제공합니다.
이러한 WinRT(Windows 런타임) API를 사용하면 소프트웨어를 MSIX 패키지로 배포하고 관리할 수 있습니다. 패키지를 설치, 업데이트, 제거, 열거 및 관리할 수 있습니다. API가 중점적인 시나리오는 다음과 같습니다.
- 패키지 스테이징
- 패키지 등록
- 패키지 추가/업데이트
- 패키지 제거
- 패키지 복구
- 패키지 다시 설정
- 패키지 프로비전
- 패키지 프로비전 해제
추가 기능에는 다음이 포함됩니다.
-
IsReadyXxx. 패키지를 사용할 준비가 되었는지 여부를 확인합니다.
-
EnsureReady. 패키지를 사용할 준비가 되었는지 여부를 확인하고, 그렇지 않은 경우 패키지로 만듭니다.
-
IsPackageRegistrationPending. 등록 대기 중인 업데이트가 있는지 여부를 확인합니다.
-
PackageSets. 일괄 처리 작업.
-
PackageRuntimeManager. 동적 종속성을 통해 런타임에 사용하기 위한 일괄 처리 작업입니다.
- 유용성. 삶의 질 향상.
API 구조체
배포 작업을 구동하는 방법은 일반적으로 패턴을 따릅니다.
<verb>Package[Set][By<Type>][Suffix]Async(target, options)
지원되는 동사는 다음과 같습니다.
- ...입니다. Ready[OrNewerAvailable]
- 확인... 준비
- 추가
- 단계
- Register
- Remove
- 수리
- Reset
- 프로비전
- 프로비전 해제
이러한 메서드는 대상 패키지를 첫 번째 매개 변수로 허용합니다. 해당 매개 변수는 다음을 비롯한 다양한 유형의 정보일 수 있습니다.
- Filename
- Path
- PackageFamilyName
- PackageFullName
- Uri
! [참고] URI의 대상이 있는 메서드의 이름은 ... ByUri....
! [참고] PackageFamilyName의 대상이 있는 메서드의 이름은 ... ByPackageFamilyName....
! [참고] PackageFullName의 대상이 있는 메서드의 이름은 ... ByPackageFullName....
! [참고] 없는 메서드... 유형<별>... 한정자는 하나 이상의 식별자 형식을 포함할 수 있는 문자열을 허용합니다. 동사마다 다를 수 있습니다. 각 메서드에서 지원하는 특정 대상 유형에 대한 API 설명서를 참조하세요.
이러한 메서드는 옵션을 일치하는 <verb>Package[Set]Options 형식으로 허용합니다(예: .) AddPackageAsync(string packageUri, AddPackageOptions options).
다음 표에서는 동사와 대상의 지원되는 순열을 보여 줍니다.
| 동사 |
Path |
Filename |
PackageFamilyName |
PackageFullName |
파일: |
http(s): |
ms-uup: |
PackageSet |
| IsReady |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| IsReadyOrNewerAvailable |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| EnsureReady |
X |
X |
X |
X |
X |
X |
WAS |
WAS |
| 추가 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| 단계 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| Register |
WAS |
OS/WAS |
OS/WAS |
OS/WAS |
OS/WAS |
X |
OS/WAS |
WAS |
| Remove |
X |
X |
WAS |
OS/WAS |
X |
X |
OS/WAS |
WAS |
| 수리 |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| Reset |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| IsProvisioned |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 해제 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
범례:
-
OS = Windows.Management.Deployment.PackageManager 클래스에서 Windows(OS) API에서 지원됩니다.
-
WAS = Microsoft.Windows.Management.Deployment.PackageDeploymentManager 클래스의 Windows 앱 SDK API 에서 지원됩니다.
-
X = 지원되지 않음
유용성
Windows 앱 SDK(Microsoft.Windows.Management.Deployment)의 패키지 관리 API는 Windows.Management.Deployment 의 패키지 관리 API(예: PackageManager)에 대한 몇 가지 수명 품질 향상 기능을 제공합니다. 여기에는 다음이 포함됩니다.
- 패키지의 최신 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하여 ERROR_INSTALL_PACKAGE_DOWNGRADE 반환합니다. 그러나 PackageDeploymentManager.AddPackageByUriAsync 는 종속성 및 기타 패키지 참조가 일상적으로 처리되는 방식으로 요청을 "이 패키지 또는 더 높은 버전 설치"로 처리하므로 성공합니다.
- 패키지의 정확한 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하고 ERROR_PACKAGE_ALREADY_EXISTS 반환합니다. 요청된 패키지가 설치되어 있으므로 PackageDeploymentManager.AddPackageByUriAsync가 성공합니다.
- 대부분의 PackageManager 작업은 대상 패키지를 파일로 허용하지만 URI로 표현되어야 합니다.
PackageDeploymentManager 는 이를 문자열로 수락하는 재정의도 제공합니다.
- 지정된 패키지를 찾을 수 없으면 PackageManager.RemovePackageByFullNameAsync가 실패합니다. 요청된 패키지가 작업이 끝날 때 존재하지 않으므로 PackageDeploymentManager가 성공합니다.
- 이는 시스템의 이전 상태가 중요하지 않다는 핵심 배포 원칙 때문입니다. 원하는 끝 상태만 달성됩니다.
-
PackageManager 메서드는 대상 패키지를 표현하는 일관되지 않고 종종 불편한 순열을 허용합니다. 예를 들어 PackageManager 는 패키지 패밀리 이름이 아닌 패키지 전체 이름으로 패키지를 제거할 수 있습니다.
PackageDeploymentManager 는 추가 식별자를 허용하는 보다 풍부한 API를 제공합니다.
이러한 API는 Windows 10 버전 2004(10.0; 빌드 19041) 이상.
기능의 하위 집합은 최신 릴리스에서 사용할 수 있습니다. 예를 들어 AddPackageOptions.ExpectedDigests 에는 Windows 11 버전 22H2(10.0; 빌드 22621) 이상. Windows 10 버전 2004(10.0; 빌드 19041) 기준에는 현재 플랫폼이 기능을 지원하는지 여부를 런타임 시 감지하는 어도던스가 있습니다. 예를 들면 다음과 같습니다.
var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
options.LimitToExistingPackages = true;
}
|
|
PackageValidationEventArgs
|
이 네임스페이스는 Windows 해당하는 MSIX 패키지 관리 API를 제공합니다. Management.Deployment 네임스페이스이지만 추가 기능, 향상된 개발자 환경 및 성능 최적화를 제공합니다.
이러한 WinRT(Windows 런타임) API를 사용하면 소프트웨어를 MSIX 패키지로 배포하고 관리할 수 있습니다. 패키지를 설치, 업데이트, 제거, 열거 및 관리할 수 있습니다. API가 중점적인 시나리오는 다음과 같습니다.
- 패키지 스테이징
- 패키지 등록
- 패키지 추가/업데이트
- 패키지 제거
- 패키지 복구
- 패키지 다시 설정
- 패키지 프로비전
- 패키지 프로비전 해제
추가 기능에는 다음이 포함됩니다.
-
IsReadyXxx. 패키지를 사용할 준비가 되었는지 여부를 확인합니다.
-
EnsureReady. 패키지를 사용할 준비가 되었는지 여부를 확인하고, 그렇지 않은 경우 패키지로 만듭니다.
-
IsPackageRegistrationPending. 등록 대기 중인 업데이트가 있는지 여부를 확인합니다.
-
PackageSets. 일괄 처리 작업.
-
PackageRuntimeManager. 동적 종속성을 통해 런타임에 사용하기 위한 일괄 처리 작업입니다.
- 유용성. 삶의 질 향상.
API 구조체
배포 작업을 구동하는 방법은 일반적으로 패턴을 따릅니다.
<verb>Package[Set][By<Type>][Suffix]Async(target, options)
지원되는 동사는 다음과 같습니다.
- ...입니다. Ready[OrNewerAvailable]
- 확인... 준비
- 추가
- 단계
- Register
- Remove
- 수리
- Reset
- 프로비전
- 프로비전 해제
이러한 메서드는 대상 패키지를 첫 번째 매개 변수로 허용합니다. 해당 매개 변수는 다음을 비롯한 다양한 유형의 정보일 수 있습니다.
- Filename
- Path
- PackageFamilyName
- PackageFullName
- Uri
! [참고] URI의 대상이 있는 메서드의 이름은 ... ByUri....
! [참고] PackageFamilyName의 대상이 있는 메서드의 이름은 ... ByPackageFamilyName....
! [참고] PackageFullName의 대상이 있는 메서드의 이름은 ... ByPackageFullName....
! [참고] 없는 메서드... 유형<별>... 한정자는 하나 이상의 식별자 형식을 포함할 수 있는 문자열을 허용합니다. 동사마다 다를 수 있습니다. 각 메서드에서 지원하는 특정 대상 유형에 대한 API 설명서를 참조하세요.
이러한 메서드는 옵션을 일치하는 <verb>Package[Set]Options 형식으로 허용합니다(예: .) AddPackageAsync(string packageUri, AddPackageOptions options).
다음 표에서는 동사와 대상의 지원되는 순열을 보여 줍니다.
| 동사 |
Path |
Filename |
PackageFamilyName |
PackageFullName |
파일: |
http(s): |
ms-uup: |
PackageSet |
| IsReady |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| IsReadyOrNewerAvailable |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| EnsureReady |
X |
X |
X |
X |
X |
X |
WAS |
WAS |
| 추가 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| 단계 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| Register |
WAS |
OS/WAS |
OS/WAS |
OS/WAS |
OS/WAS |
X |
OS/WAS |
WAS |
| Remove |
X |
X |
WAS |
OS/WAS |
X |
X |
OS/WAS |
WAS |
| 수리 |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| Reset |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| IsProvisioned |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 해제 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
범례:
-
OS = Windows.Management.Deployment.PackageManager 클래스에서 Windows(OS) API에서 지원됩니다.
-
WAS = Microsoft.Windows.Management.Deployment.PackageDeploymentManager 클래스의 Windows 앱 SDK API 에서 지원됩니다.
-
X = 지원되지 않음
유용성
Windows 앱 SDK(Microsoft.Windows.Management.Deployment)의 패키지 관리 API는 Windows.Management.Deployment 의 패키지 관리 API(예: PackageManager)에 대한 몇 가지 수명 품질 향상 기능을 제공합니다. 여기에는 다음이 포함됩니다.
- 패키지의 최신 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하여 ERROR_INSTALL_PACKAGE_DOWNGRADE 반환합니다. 그러나 PackageDeploymentManager.AddPackageByUriAsync 는 종속성 및 기타 패키지 참조가 일상적으로 처리되는 방식으로 요청을 "이 패키지 또는 더 높은 버전 설치"로 처리하므로 성공합니다.
- 패키지의 정확한 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하고 ERROR_PACKAGE_ALREADY_EXISTS 반환합니다. 요청된 패키지가 설치되어 있으므로 PackageDeploymentManager.AddPackageByUriAsync가 성공합니다.
- 대부분의 PackageManager 작업은 대상 패키지를 파일로 허용하지만 URI로 표현되어야 합니다.
PackageDeploymentManager 는 이를 문자열로 수락하는 재정의도 제공합니다.
- 지정된 패키지를 찾을 수 없으면 PackageManager.RemovePackageByFullNameAsync가 실패합니다. 요청된 패키지가 작업이 끝날 때 존재하지 않으므로 PackageDeploymentManager가 성공합니다.
- 이는 시스템의 이전 상태가 중요하지 않다는 핵심 배포 원칙 때문입니다. 원하는 끝 상태만 달성됩니다.
-
PackageManager 메서드는 대상 패키지를 표현하는 일관되지 않고 종종 불편한 순열을 허용합니다. 예를 들어 PackageManager 는 패키지 패밀리 이름이 아닌 패키지 전체 이름으로 패키지를 제거할 수 있습니다.
PackageDeploymentManager 는 추가 식별자를 허용하는 보다 풍부한 API를 제공합니다.
이러한 API는 Windows 10 버전 2004(10.0; 빌드 19041) 이상.
기능의 하위 집합은 최신 릴리스에서 사용할 수 있습니다. 예를 들어 AddPackageOptions.ExpectedDigests 에는 Windows 11 버전 22H2(10.0; 빌드 22621) 이상. Windows 10 버전 2004(10.0; 빌드 19041) 기준에는 현재 플랫폼이 기능을 지원하는지 여부를 런타임 시 감지하는 어도던스가 있습니다. 예를 들면 다음과 같습니다.
var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
options.LimitToExistingPackages = true;
}
|
|
PackageValidationEventSource
|
이 네임스페이스는 Windows 해당하는 MSIX 패키지 관리 API를 제공합니다. Management.Deployment 네임스페이스이지만 추가 기능, 향상된 개발자 환경 및 성능 최적화를 제공합니다.
이러한 WinRT(Windows 런타임) API를 사용하면 소프트웨어를 MSIX 패키지로 배포하고 관리할 수 있습니다. 패키지를 설치, 업데이트, 제거, 열거 및 관리할 수 있습니다. API가 중점적인 시나리오는 다음과 같습니다.
- 패키지 스테이징
- 패키지 등록
- 패키지 추가/업데이트
- 패키지 제거
- 패키지 복구
- 패키지 다시 설정
- 패키지 프로비전
- 패키지 프로비전 해제
추가 기능에는 다음이 포함됩니다.
-
IsReadyXxx. 패키지를 사용할 준비가 되었는지 여부를 확인합니다.
-
EnsureReady. 패키지를 사용할 준비가 되었는지 여부를 확인하고, 그렇지 않은 경우 패키지로 만듭니다.
-
IsPackageRegistrationPending. 등록 대기 중인 업데이트가 있는지 여부를 확인합니다.
-
PackageSets. 일괄 처리 작업.
-
PackageRuntimeManager. 동적 종속성을 통해 런타임에 사용하기 위한 일괄 처리 작업입니다.
- 유용성. 삶의 질 향상.
API 구조체
배포 작업을 구동하는 방법은 일반적으로 패턴을 따릅니다.
<verb>Package[Set][By<Type>][Suffix]Async(target, options)
지원되는 동사는 다음과 같습니다.
- ...입니다. Ready[OrNewerAvailable]
- 확인... 준비
- 추가
- 단계
- Register
- Remove
- 수리
- Reset
- 프로비전
- 프로비전 해제
이러한 메서드는 대상 패키지를 첫 번째 매개 변수로 허용합니다. 해당 매개 변수는 다음을 비롯한 다양한 유형의 정보일 수 있습니다.
- Filename
- Path
- PackageFamilyName
- PackageFullName
- Uri
! [참고] URI의 대상이 있는 메서드의 이름은 ... ByUri....
! [참고] PackageFamilyName의 대상이 있는 메서드의 이름은 ... ByPackageFamilyName....
! [참고] PackageFullName의 대상이 있는 메서드의 이름은 ... ByPackageFullName....
! [참고] 없는 메서드... 유형<별>... 한정자는 하나 이상의 식별자 형식을 포함할 수 있는 문자열을 허용합니다. 동사마다 다를 수 있습니다. 각 메서드에서 지원하는 특정 대상 유형에 대한 API 설명서를 참조하세요.
이러한 메서드는 옵션을 일치하는 <verb>Package[Set]Options 형식으로 허용합니다(예: .) AddPackageAsync(string packageUri, AddPackageOptions options).
다음 표에서는 동사와 대상의 지원되는 순열을 보여 줍니다.
| 동사 |
Path |
Filename |
PackageFamilyName |
PackageFullName |
파일: |
http(s): |
ms-uup: |
PackageSet |
| IsReady |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| IsReadyOrNewerAvailable |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| EnsureReady |
X |
X |
X |
X |
X |
X |
WAS |
WAS |
| 추가 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| 단계 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| Register |
WAS |
OS/WAS |
OS/WAS |
OS/WAS |
OS/WAS |
X |
OS/WAS |
WAS |
| Remove |
X |
X |
WAS |
OS/WAS |
X |
X |
OS/WAS |
WAS |
| 수리 |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| Reset |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| IsProvisioned |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 해제 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
범례:
-
OS = Windows.Management.Deployment.PackageManager 클래스에서 Windows(OS) API에서 지원됩니다.
-
WAS = Microsoft.Windows.Management.Deployment.PackageDeploymentManager 클래스의 Windows 앱 SDK API 에서 지원됩니다.
-
X = 지원되지 않음
유용성
Windows 앱 SDK(Microsoft.Windows.Management.Deployment)의 패키지 관리 API는 Windows.Management.Deployment 의 패키지 관리 API(예: PackageManager)에 대한 몇 가지 수명 품질 향상 기능을 제공합니다. 여기에는 다음이 포함됩니다.
- 패키지의 최신 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하여 ERROR_INSTALL_PACKAGE_DOWNGRADE 반환합니다. 그러나 PackageDeploymentManager.AddPackageByUriAsync 는 종속성 및 기타 패키지 참조가 일상적으로 처리되는 방식으로 요청을 "이 패키지 또는 더 높은 버전 설치"로 처리하므로 성공합니다.
- 패키지의 정확한 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하고 ERROR_PACKAGE_ALREADY_EXISTS 반환합니다. 요청된 패키지가 설치되어 있으므로 PackageDeploymentManager.AddPackageByUriAsync가 성공합니다.
- 대부분의 PackageManager 작업은 대상 패키지를 파일로 허용하지만 URI로 표현되어야 합니다.
PackageDeploymentManager 는 이를 문자열로 수락하는 재정의도 제공합니다.
- 지정된 패키지를 찾을 수 없으면 PackageManager.RemovePackageByFullNameAsync가 실패합니다. 요청된 패키지가 작업이 끝날 때 존재하지 않으므로 PackageDeploymentManager가 성공합니다.
- 이는 시스템의 이전 상태가 중요하지 않다는 핵심 배포 원칙 때문입니다. 원하는 끝 상태만 달성됩니다.
-
PackageManager 메서드는 대상 패키지를 표현하는 일관되지 않고 종종 불편한 순열을 허용합니다. 예를 들어 PackageManager 는 패키지 패밀리 이름이 아닌 패키지 전체 이름으로 패키지를 제거할 수 있습니다.
PackageDeploymentManager 는 추가 식별자를 허용하는 보다 풍부한 API를 제공합니다.
이러한 API는 Windows 10 버전 2004(10.0; 빌드 19041) 이상.
기능의 하위 집합은 최신 릴리스에서 사용할 수 있습니다. 예를 들어 AddPackageOptions.ExpectedDigests 에는 Windows 11 버전 22H2(10.0; 빌드 22621) 이상. Windows 10 버전 2004(10.0; 빌드 19041) 기준에는 현재 플랫폼이 기능을 지원하는지 여부를 런타임 시 감지하는 어도던스가 있습니다. 예를 들면 다음과 같습니다.
var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
options.LimitToExistingPackages = true;
}
|
|
PackageValidationHandler
|
이 네임스페이스는 Windows 해당하는 MSIX 패키지 관리 API를 제공합니다. Management.Deployment 네임스페이스이지만 추가 기능, 향상된 개발자 환경 및 성능 최적화를 제공합니다.
이러한 WinRT(Windows 런타임) API를 사용하면 소프트웨어를 MSIX 패키지로 배포하고 관리할 수 있습니다. 패키지를 설치, 업데이트, 제거, 열거 및 관리할 수 있습니다. API가 중점적인 시나리오는 다음과 같습니다.
- 패키지 스테이징
- 패키지 등록
- 패키지 추가/업데이트
- 패키지 제거
- 패키지 복구
- 패키지 다시 설정
- 패키지 프로비전
- 패키지 프로비전 해제
추가 기능에는 다음이 포함됩니다.
-
IsReadyXxx. 패키지를 사용할 준비가 되었는지 여부를 확인합니다.
-
EnsureReady. 패키지를 사용할 준비가 되었는지 여부를 확인하고, 그렇지 않은 경우 패키지로 만듭니다.
-
IsPackageRegistrationPending. 등록 대기 중인 업데이트가 있는지 여부를 확인합니다.
-
PackageSets. 일괄 처리 작업.
-
PackageRuntimeManager. 동적 종속성을 통해 런타임에 사용하기 위한 일괄 처리 작업입니다.
- 유용성. 삶의 질 향상.
API 구조체
배포 작업을 구동하는 방법은 일반적으로 패턴을 따릅니다.
<verb>Package[Set][By<Type>][Suffix]Async(target, options)
지원되는 동사는 다음과 같습니다.
- ...입니다. Ready[OrNewerAvailable]
- 확인... 준비
- 추가
- 단계
- Register
- Remove
- 수리
- Reset
- 프로비전
- 프로비전 해제
이러한 메서드는 대상 패키지를 첫 번째 매개 변수로 허용합니다. 해당 매개 변수는 다음을 비롯한 다양한 유형의 정보일 수 있습니다.
- Filename
- Path
- PackageFamilyName
- PackageFullName
- Uri
! [참고] URI의 대상이 있는 메서드의 이름은 ... ByUri....
! [참고] PackageFamilyName의 대상이 있는 메서드의 이름은 ... ByPackageFamilyName....
! [참고] PackageFullName의 대상이 있는 메서드의 이름은 ... ByPackageFullName....
! [참고] 없는 메서드... 유형<별>... 한정자는 하나 이상의 식별자 형식을 포함할 수 있는 문자열을 허용합니다. 동사마다 다를 수 있습니다. 각 메서드에서 지원하는 특정 대상 유형에 대한 API 설명서를 참조하세요.
이러한 메서드는 옵션을 일치하는 <verb>Package[Set]Options 형식으로 허용합니다(예: .) AddPackageAsync(string packageUri, AddPackageOptions options).
다음 표에서는 동사와 대상의 지원되는 순열을 보여 줍니다.
| 동사 |
Path |
Filename |
PackageFamilyName |
PackageFullName |
파일: |
http(s): |
ms-uup: |
PackageSet |
| IsReady |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| IsReadyOrNewerAvailable |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| EnsureReady |
X |
X |
X |
X |
X |
X |
WAS |
WAS |
| 추가 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| 단계 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| Register |
WAS |
OS/WAS |
OS/WAS |
OS/WAS |
OS/WAS |
X |
OS/WAS |
WAS |
| Remove |
X |
X |
WAS |
OS/WAS |
X |
X |
OS/WAS |
WAS |
| 수리 |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| Reset |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| IsProvisioned |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 해제 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
범례:
-
OS = Windows.Management.Deployment.PackageManager 클래스에서 Windows(OS) API에서 지원됩니다.
-
WAS = Microsoft.Windows.Management.Deployment.PackageDeploymentManager 클래스의 Windows 앱 SDK API 에서 지원됩니다.
-
X = 지원되지 않음
유용성
Windows 앱 SDK(Microsoft.Windows.Management.Deployment)의 패키지 관리 API는 Windows.Management.Deployment 의 패키지 관리 API(예: PackageManager)에 대한 몇 가지 수명 품질 향상 기능을 제공합니다. 여기에는 다음이 포함됩니다.
- 패키지의 최신 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하여 ERROR_INSTALL_PACKAGE_DOWNGRADE 반환합니다. 그러나 PackageDeploymentManager.AddPackageByUriAsync 는 종속성 및 기타 패키지 참조가 일상적으로 처리되는 방식으로 요청을 "이 패키지 또는 더 높은 버전 설치"로 처리하므로 성공합니다.
- 패키지의 정확한 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하고 ERROR_PACKAGE_ALREADY_EXISTS 반환합니다. 요청된 패키지가 설치되어 있으므로 PackageDeploymentManager.AddPackageByUriAsync가 성공합니다.
- 대부분의 PackageManager 작업은 대상 패키지를 파일로 허용하지만 URI로 표현되어야 합니다.
PackageDeploymentManager 는 이를 문자열로 수락하는 재정의도 제공합니다.
- 지정된 패키지를 찾을 수 없으면 PackageManager.RemovePackageByFullNameAsync가 실패합니다. 요청된 패키지가 작업이 끝날 때 존재하지 않으므로 PackageDeploymentManager가 성공합니다.
- 이는 시스템의 이전 상태가 중요하지 않다는 핵심 배포 원칙 때문입니다. 원하는 끝 상태만 달성됩니다.
-
PackageManager 메서드는 대상 패키지를 표현하는 일관되지 않고 종종 불편한 순열을 허용합니다. 예를 들어 PackageManager 는 패키지 패밀리 이름이 아닌 패키지 전체 이름으로 패키지를 제거할 수 있습니다.
PackageDeploymentManager 는 추가 식별자를 허용하는 보다 풍부한 API를 제공합니다.
이러한 API는 Windows 10 버전 2004(10.0; 빌드 19041) 이상.
기능의 하위 집합은 최신 릴리스에서 사용할 수 있습니다. 예를 들어 AddPackageOptions.ExpectedDigests 에는 Windows 11 버전 22H2(10.0; 빌드 22621) 이상. Windows 10 버전 2004(10.0; 빌드 19041) 기준에는 현재 플랫폼이 기능을 지원하는지 여부를 런타임 시 감지하는 어도던스가 있습니다. 예를 들면 다음과 같습니다.
var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
options.LimitToExistingPackages = true;
}
|
|
PackageVolume
|
패키지 스토리지 볼륨을 나타냅니다.
|
|
ProvisionPackageOptions
|
이 네임스페이스는 Windows 해당하는 MSIX 패키지 관리 API를 제공합니다. Management.Deployment 네임스페이스이지만 추가 기능, 향상된 개발자 환경 및 성능 최적화를 제공합니다.
이러한 WinRT(Windows 런타임) API를 사용하면 소프트웨어를 MSIX 패키지로 배포하고 관리할 수 있습니다. 패키지를 설치, 업데이트, 제거, 열거 및 관리할 수 있습니다. API가 중점적인 시나리오는 다음과 같습니다.
- 패키지 스테이징
- 패키지 등록
- 패키지 추가/업데이트
- 패키지 제거
- 패키지 복구
- 패키지 다시 설정
- 패키지 프로비전
- 패키지 프로비전 해제
추가 기능에는 다음이 포함됩니다.
-
IsReadyXxx. 패키지를 사용할 준비가 되었는지 여부를 확인합니다.
-
EnsureReady. 패키지를 사용할 준비가 되었는지 여부를 확인하고, 그렇지 않은 경우 패키지로 만듭니다.
-
IsPackageRegistrationPending. 등록 대기 중인 업데이트가 있는지 여부를 확인합니다.
-
PackageSets. 일괄 처리 작업.
-
PackageRuntimeManager. 동적 종속성을 통해 런타임에 사용하기 위한 일괄 처리 작업입니다.
- 유용성. 삶의 질 향상.
API 구조체
배포 작업을 구동하는 방법은 일반적으로 패턴을 따릅니다.
<verb>Package[Set][By<Type>][Suffix]Async(target, options)
지원되는 동사는 다음과 같습니다.
- ...입니다. Ready[OrNewerAvailable]
- 확인... 준비
- 추가
- 단계
- Register
- Remove
- 수리
- Reset
- 프로비전
- 프로비전 해제
이러한 메서드는 대상 패키지를 첫 번째 매개 변수로 허용합니다. 해당 매개 변수는 다음을 비롯한 다양한 유형의 정보일 수 있습니다.
- Filename
- Path
- PackageFamilyName
- PackageFullName
- Uri
! [참고] URI의 대상이 있는 메서드의 이름은 ... ByUri....
! [참고] PackageFamilyName의 대상이 있는 메서드의 이름은 ... ByPackageFamilyName....
! [참고] PackageFullName의 대상이 있는 메서드의 이름은 ... ByPackageFullName....
! [참고] 없는 메서드... 유형<별>... 한정자는 하나 이상의 식별자 형식을 포함할 수 있는 문자열을 허용합니다. 동사마다 다를 수 있습니다. 각 메서드에서 지원하는 특정 대상 유형에 대한 API 설명서를 참조하세요.
이러한 메서드는 옵션을 일치하는 <verb>Package[Set]Options 형식으로 허용합니다(예: .) AddPackageAsync(string packageUri, AddPackageOptions options).
다음 표에서는 동사와 대상의 지원되는 순열을 보여 줍니다.
| 동사 |
Path |
Filename |
PackageFamilyName |
PackageFullName |
파일: |
http(s): |
ms-uup: |
PackageSet |
| IsReady |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| IsReadyOrNewerAvailable |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| EnsureReady |
X |
X |
X |
X |
X |
X |
WAS |
WAS |
| 추가 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| 단계 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| Register |
WAS |
OS/WAS |
OS/WAS |
OS/WAS |
OS/WAS |
X |
OS/WAS |
WAS |
| Remove |
X |
X |
WAS |
OS/WAS |
X |
X |
OS/WAS |
WAS |
| 수리 |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| Reset |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| IsProvisioned |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 해제 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
범례:
-
OS = Windows.Management.Deployment.PackageManager 클래스에서 Windows(OS) API에서 지원됩니다.
-
WAS = Microsoft.Windows.Management.Deployment.PackageDeploymentManager 클래스의 Windows 앱 SDK API 에서 지원됩니다.
-
X = 지원되지 않음
유용성
Windows 앱 SDK(Microsoft.Windows.Management.Deployment)의 패키지 관리 API는 Windows.Management.Deployment 의 패키지 관리 API(예: PackageManager)에 대한 몇 가지 수명 품질 향상 기능을 제공합니다. 여기에는 다음이 포함됩니다.
- 패키지의 최신 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하여 ERROR_INSTALL_PACKAGE_DOWNGRADE 반환합니다. 그러나 PackageDeploymentManager.AddPackageByUriAsync 는 종속성 및 기타 패키지 참조가 일상적으로 처리되는 방식으로 요청을 "이 패키지 또는 더 높은 버전 설치"로 처리하므로 성공합니다.
- 패키지의 정확한 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하고 ERROR_PACKAGE_ALREADY_EXISTS 반환합니다. 요청된 패키지가 설치되어 있으므로 PackageDeploymentManager.AddPackageByUriAsync가 성공합니다.
- 대부분의 PackageManager 작업은 대상 패키지를 파일로 허용하지만 URI로 표현되어야 합니다.
PackageDeploymentManager 는 이를 문자열로 수락하는 재정의도 제공합니다.
- 지정된 패키지를 찾을 수 없으면 PackageManager.RemovePackageByFullNameAsync가 실패합니다. 요청된 패키지가 작업이 끝날 때 존재하지 않으므로 PackageDeploymentManager가 성공합니다.
- 이는 시스템의 이전 상태가 중요하지 않다는 핵심 배포 원칙 때문입니다. 원하는 끝 상태만 달성됩니다.
-
PackageManager 메서드는 대상 패키지를 표현하는 일관되지 않고 종종 불편한 순열을 허용합니다. 예를 들어 PackageManager 는 패키지 패밀리 이름이 아닌 패키지 전체 이름으로 패키지를 제거할 수 있습니다.
PackageDeploymentManager 는 추가 식별자를 허용하는 보다 풍부한 API를 제공합니다.
이러한 API는 Windows 10 버전 2004(10.0; 빌드 19041) 이상.
기능의 하위 집합은 최신 릴리스에서 사용할 수 있습니다. 예를 들어 AddPackageOptions.ExpectedDigests 에는 Windows 11 버전 22H2(10.0; 빌드 22621) 이상. Windows 10 버전 2004(10.0; 빌드 19041) 기준에는 현재 플랫폼이 기능을 지원하는지 여부를 런타임 시 감지하는 어도던스가 있습니다. 예를 들면 다음과 같습니다.
var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
options.LimitToExistingPackages = true;
}
|
|
RegisterPackageOptions
|
RegisterPackageByUriAsync 메서드를 사용하여 패키지를 등록할 때 구성할 수 있는 배포 옵션을 지정합니다.
|
|
RemovePackageOptions
|
이 네임스페이스는 Windows 해당하는 MSIX 패키지 관리 API를 제공합니다. Management.Deployment 네임스페이스이지만 추가 기능, 향상된 개발자 환경 및 성능 최적화를 제공합니다.
이러한 WinRT(Windows 런타임) API를 사용하면 소프트웨어를 MSIX 패키지로 배포하고 관리할 수 있습니다. 패키지를 설치, 업데이트, 제거, 열거 및 관리할 수 있습니다. API가 중점적인 시나리오는 다음과 같습니다.
- 패키지 스테이징
- 패키지 등록
- 패키지 추가/업데이트
- 패키지 제거
- 패키지 복구
- 패키지 다시 설정
- 패키지 프로비전
- 패키지 프로비전 해제
추가 기능에는 다음이 포함됩니다.
-
IsReadyXxx. 패키지를 사용할 준비가 되었는지 여부를 확인합니다.
-
EnsureReady. 패키지를 사용할 준비가 되었는지 여부를 확인하고, 그렇지 않은 경우 패키지로 만듭니다.
-
IsPackageRegistrationPending. 등록 대기 중인 업데이트가 있는지 여부를 확인합니다.
-
PackageSets. 일괄 처리 작업.
-
PackageRuntimeManager. 동적 종속성을 통해 런타임에 사용하기 위한 일괄 처리 작업입니다.
- 유용성. 삶의 질 향상.
API 구조체
배포 작업을 구동하는 방법은 일반적으로 패턴을 따릅니다.
<verb>Package[Set][By<Type>][Suffix]Async(target, options)
지원되는 동사는 다음과 같습니다.
- ...입니다. Ready[OrNewerAvailable]
- 확인... 준비
- 추가
- 단계
- Register
- Remove
- 수리
- Reset
- 프로비전
- 프로비전 해제
이러한 메서드는 대상 패키지를 첫 번째 매개 변수로 허용합니다. 해당 매개 변수는 다음을 비롯한 다양한 유형의 정보일 수 있습니다.
- Filename
- Path
- PackageFamilyName
- PackageFullName
- Uri
! [참고] URI의 대상이 있는 메서드의 이름은 ... ByUri....
! [참고] PackageFamilyName의 대상이 있는 메서드의 이름은 ... ByPackageFamilyName....
! [참고] PackageFullName의 대상이 있는 메서드의 이름은 ... ByPackageFullName....
! [참고] 없는 메서드... 유형<별>... 한정자는 하나 이상의 식별자 형식을 포함할 수 있는 문자열을 허용합니다. 동사마다 다를 수 있습니다. 각 메서드에서 지원하는 특정 대상 유형에 대한 API 설명서를 참조하세요.
이러한 메서드는 옵션을 일치하는 <verb>Package[Set]Options 형식으로 허용합니다(예: .) AddPackageAsync(string packageUri, AddPackageOptions options).
다음 표에서는 동사와 대상의 지원되는 순열을 보여 줍니다.
| 동사 |
Path |
Filename |
PackageFamilyName |
PackageFullName |
파일: |
http(s): |
ms-uup: |
PackageSet |
| IsReady |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| IsReadyOrNewerAvailable |
X |
X |
OS/WAS |
WAS |
X |
X |
WAS |
WAS |
| EnsureReady |
X |
X |
X |
X |
X |
X |
WAS |
WAS |
| 추가 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| 단계 |
OS/WAS |
X |
X |
X |
OS/WAS |
OS/WAS |
OS/WAS |
WAS |
| Register |
WAS |
OS/WAS |
OS/WAS |
OS/WAS |
OS/WAS |
X |
OS/WAS |
WAS |
| Remove |
X |
X |
WAS |
OS/WAS |
X |
X |
OS/WAS |
WAS |
| 수리 |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| Reset |
X |
X |
WAS |
WAS |
X |
X |
WAS |
WAS |
| IsProvisioned |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
| 프로비전 해제 |
X |
X |
OS/WAS |
X |
X |
X |
WAS |
WAS |
범례:
-
OS = Windows.Management.Deployment.PackageManager 클래스에서 Windows(OS) API에서 지원됩니다.
-
WAS = Microsoft.Windows.Management.Deployment.PackageDeploymentManager 클래스의 Windows 앱 SDK API 에서 지원됩니다.
-
X = 지원되지 않음
유용성
Windows 앱 SDK(Microsoft.Windows.Management.Deployment)의 패키지 관리 API는 Windows.Management.Deployment 의 패키지 관리 API(예: PackageManager)에 대한 몇 가지 수명 품질 향상 기능을 제공합니다. 여기에는 다음이 포함됩니다.
- 패키지의 최신 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하여 ERROR_INSTALL_PACKAGE_DOWNGRADE 반환합니다. 그러나 PackageDeploymentManager.AddPackageByUriAsync 는 종속성 및 기타 패키지 참조가 일상적으로 처리되는 방식으로 요청을 "이 패키지 또는 더 높은 버전 설치"로 처리하므로 성공합니다.
- 패키지의 정확한 버전이 이미 설치된 경우 PackageManager.AddPackageByUriAsync가 실패하고 ERROR_PACKAGE_ALREADY_EXISTS 반환합니다. 요청된 패키지가 설치되어 있으므로 PackageDeploymentManager.AddPackageByUriAsync가 성공합니다.
- 대부분의 PackageManager 작업은 대상 패키지를 파일로 허용하지만 URI로 표현되어야 합니다.
PackageDeploymentManager 는 이를 문자열로 수락하는 재정의도 제공합니다.
- 지정된 패키지를 찾을 수 없으면 PackageManager.RemovePackageByFullNameAsync가 실패합니다. 요청된 패키지가 작업이 끝날 때 존재하지 않으므로 PackageDeploymentManager가 성공합니다.
- 이는 시스템의 이전 상태가 중요하지 않다는 핵심 배포 원칙 때문입니다. 원하는 끝 상태만 달성됩니다.
-
PackageManager 메서드는 대상 패키지를 표현하는 일관되지 않고 종종 불편한 순열을 허용합니다. 예를 들어 PackageManager 는 패키지 패밀리 이름이 아닌 패키지 전체 이름으로 패키지를 제거할 수 있습니다.
PackageDeploymentManager 는 추가 식별자를 허용하는 보다 풍부한 API를 제공합니다.
이러한 API는 Windows 10 버전 2004(10.0; 빌드 19041) 이상.
기능의 하위 집합은 최신 릴리스에서 사용할 수 있습니다. 예를 들어 AddPackageOptions.ExpectedDigests 에는 Windows 11 버전 22H2(10.0; 빌드 22621) 이상. Windows 10 버전 2004(10.0; 빌드 19041) 기준에는 현재 플랫폼이 기능을 지원하는지 여부를 런타임 시 감지하는 어도던스가 있습니다. 예를 들면 다음과 같습니다.
var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
options.LimitToExistingPackages = true;
}
|
|
StagePackageOptions
|
StagePackageByUriAsync 메서드를 사용하여 패키지를 스테이징할 때 구성할 수 있는 배포 옵션을 지정합니다.
|