StoreContext.RequestDownloadAndInstallStorePackageUpdatesAsync 메서드

정의

Microsoft Store에서 현재 앱에 대해 지정된 패키지 업데이트를 다운로드하고 설치하려고 시도합니다. 이 메서드는 작업에 대한 권한을 요청하는 UI 대화 상자도 표시합니다.

중요

이 메서드는 UI 스레드에서 호출해야 합니다.

public:
 virtual IAsyncOperationWithProgress<StorePackageUpdateResult ^, StorePackageUpdateStatus> ^ RequestDownloadAndInstallStorePackageUpdatesAsync(IIterable<StorePackageUpdate ^> ^ storePackageUpdates) = RequestDownloadAndInstallStorePackageUpdatesAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> RequestDownloadAndInstallStorePackageUpdatesAsync(IIterable<StorePackageUpdate> const& storePackageUpdates);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<StorePackageUpdateResult,StorePackageUpdateStatus> RequestDownloadAndInstallStorePackageUpdatesAsync(IEnumerable<StorePackageUpdate> storePackageUpdates);
function requestDownloadAndInstallStorePackageUpdatesAsync(storePackageUpdates)
Public Function RequestDownloadAndInstallStorePackageUpdatesAsync (storePackageUpdates As IEnumerable(Of StorePackageUpdate)) As IAsyncOperationWithProgress(Of StorePackageUpdateResult, StorePackageUpdateStatus)

매개 변수

storePackageUpdates

IIterable<StorePackageUpdate>

IEnumerable<StorePackageUpdate>

다운로드하고 설치할 업데이트된 패키지를 나타내는 StorePackageUpdate 개체 집합입니다.

반환

호출자가 작업의 진행률 및 완료를 추적하기 위해 관찰할 수 있는 개체입니다. 성공적으로 완료되면 패키지 업데이트에 대한 정보를 제공하는 StorePackageUpdateResult 개체가 생성됩니다.

특성

예외

예외의 ErrorCode 속성에 0x80070578(ERROR_INVALID_WINDOW_HANDLE) 값이 있는 경우 UI 스레드에서 메서드가 호출되지 않음을 나타냅니다. 데스크톱 브리지 사용하는 데스크톱 애플리케이션에서 이 메서드를 호출하는 경우 이 메서드가 표시하는 모달 대화 상자의 소유자 창인 애플리케이션 창을 지정하기 위해 xref:Windows.Services.Store.StoreContext?text=StoreContext> 개체를 구성<하지 않았음을 나타낼 수도 있습니다. 자세한 내용은 이 문서를 참조하세요.

설명

업데이트를 사용할 수 있는 패키지 목록을 얻으려면 GetAppAndOptionalStorePackageUpdatesAsync 메서드를 사용합니다. RequestDownloadStorePackageUpdatesAsync를 사용하여 패키지 업데이트를 이미 다운로드한 경우 이 메서드는 업데이트를 다시 다운로드하지 않고도 업데이트를 설치합니다. 코드 예제를 포함하여 이 메서드를 사용하는 방법에 대한 자세한 내용은 앱에 대한 패키지 업데이트 다운로드 및 설치를 참조하세요.

이 작업은 차단되지 않습니다. 이 메서드에서 반환된 IAsyncOperationWithProgress 개체는 업데이트 패키지를 다운로드하고 설치한 후에 완료됩니다.

이 메서드를 호출하면 OS는 다음 UI를 표시합니다.

  • OS는 앱 업데이트를 다운로드할 수 있음을 사용자에게 알리고 다운로드를 진행할 수 있는 사용자의 권한을 요청하는 대화 상자를 표시합니다. 사용자가 다운로드를 시작할 수 있는 권한을 부여하지 않으면 StorePackageUpdateResult 반환 값의 OverallState 속성에 Canceled 값이 있습니다.

  • 업데이트된 패키지를 다운로드한 후 OS는 앱 업데이트가 설치되기를 기다리고 있음을 사용자에게 알리고 사용자의 설치 진행 권한을 요청하는 다른 대화 상자를 표시합니다. 이 대화 상자는 사용자에게 앱을 다시 시작해야 할 수 있음을 경고합니다. 사용자가 설치를 시작할 수 있는 권한을 부여하지 않으면 StorePackageUpdateResult 반환 값의 OverallState 속성에 Canceled 값이 있습니다.

다운로드 및 설치에 대한 진행률 정보 표시

진행률 알림을 처리하기 위해 할당하는 메서드는 이 요청의 각 패키지에 대한 다운로드 및 설치 프로세스의 각 단계에 대해 한 번 호출됩니다. Progress 처리기는 진행률 알림을 발생시킨 업데이트 패키지에 대한 정보를 제공하는 StorePackageUpdateStatus 인수를 받습니다.

사용자에게 상태 제공하는 사용자 지정 진행률 UI(예: ProgressBar)를 표시하려면 StorePackageUpdateStatus 인수의 PackageDownloadProgress 필드를 사용하여 0.0에서 1.0까지의 값으로 표시되는 각 패키지 다운로드 및 설치 작업의 현재 진행률을 가져올 수 있습니다. 이 값은 다운로드하는 동안 0.0에서 0.8로 증가한 다음 설치하는 동안 0.8에서 1.0으로 증가합니다.

따라서 사용자 지정 진행률 UI에 표시된 백분율을 PackageDownloadProgress 필드 값에 직접 매핑하는 경우 패키지 다운로드가 완료되고 OS에서 설치 대화 상자가 표시되면 UI가 80%로 표시됩니다. 패키지가 다운로드되어 설치할 준비가 되었을 때 사용자 지정 진행 UI에 100%를 표시하려면 PackageDownloadProgress 필드가 0.8에 도달했을 때 진행 UI에 100%를 할당하도록 코드를 수정해야 합니다.

적용 대상

추가 정보