정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

PackageManager.RemovePackageAsync(String) | removePackageAsync(String) Method

현재 사용자에 대해 패키지를 비동기적으로 제거하고 제거 작업에 대한 진행률 및 상태 메시지를 수신합니다. 종속성 패키지에 종속되어 있는 다른 패키지가 없으면 해당 종속성 패키지도 제거됩니다.

구문


packageManager.removePackageAsync(packageFullName).done( /* 성공 및 오류 처리기 */ );

매개 변수

packageFullName

형식: String [JavaScript] | System.String [.NET] | Platform::String [C++]

제거할 패키지를 식별하는 패키지 ID의 문자열 표현입니다.

반환 값

형식: IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>

배포 요청 상태입니다. DeploymentResult는 배포 작업이 완료된 후 배포 작업의 마지막 반환 값을 포함합니다. DeploymentProgress는 배포 작업 전체 과정에 대한 완료 백분율을 가져오는 데 사용할 수 있습니다.

설명

이 요청은 취소할 수 없습니다. 패키지 전체 이름은 더 짧은 패키지 ID의 대체 형식이며 파일과 디렉터리 같은 개체를 명명하는 데 적합합니다. 패키지 ID는 패키지 매니페스트의 Identity 요소로 나타냅니다. 패키지가 제거되면 현재 사용자에 대해 제거됩니다. 즉, 패키지 페이로드는 다른 사용자가 패키지를 설치한 경우 계속 존재하지만 현재 사용자가 액세스할 수 없게 됩니다. 지정된 패키지를 설치한 다른 사용자가 없을 경우 해당 페이로드는 %ProgramFiles%\WindowsApps 디렉터리에서 제거됩니다. 제거 중인 패키지와 관련된 앱은 패키지를 제거할 때 자동으로 종료됩니다.

예제

RemovePackageAsync(String) 메서드를 호출하여 앱 패키지를 제거합니다. packageFullName의 패키지 전체 이름은 명령줄 인수에서 가져옵니다.

RemovePackageAsync(String)는 비동기 작업을 관리하는 데 사용할 수 있는 개체를 반환합니다. Completed 속성을 사용하여 delegate를 설정합니다. Status 속성을 확인하면 배포 작업의 상태를 알 수 있습니다. 상태가 Error인 경우 예제에서는 GetResults 메서드를 호출하여 추가 오류 정보를 가져옵니다.



using Windows.Foundation;
using Windows.Management.Deployment;

[STAThread]
public static int Main(string[] args)
{
    string inputPackageFullName = args[0];
    int returnValue = 0;

    PackageManager packageManager = new Windows.Management.Deployment.PackageManager();

    IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> deploymentOperation = 
        packageManager.RemovePackageAsync(inputPackageFullName);
    // This event is signaled when the operation completes
    ManualResetEvent opCompletedEvent = new ManualResetEvent(false); 

    // Define the delegate using a statement lambda
    deploymentOperation.Completed = (depProgress, status) => { opCompletedEvent.Set(); };

    // Wait until the operation completes
    opCompletedEvent.WaitOne();

    // Check the status of the operation
    if (deploymentOperation.Status == AsyncStatus.Error)
    {
        DeploymentResult deploymentResult = deploymentOperation.GetResults();
        Console.WriteLine("Error code: {0}", deploymentOperation.ErrorCode);
        Console.WriteLine("Error text: {0}", deploymentResult.ErrorText);
        returnValue = 1;
    }
    else if (deploymentOperation.Status == AsyncStatus.Canceled)
    {
        Console.WriteLine("Removal canceled");
    }
    else if (deploymentOperation.Status == AsyncStatus.Completed)
    {
        Console.WriteLine("Removal succeeded");
    }
    else
    {
        returnValue = 1;
        Console.WriteLine("Removal status unknown");
    }

    return returnValue;
}

요구 사항

지원되는 최소 클라이언트

Windows 8

지원되는 최소 서버

Windows Server 2012

Namespace

Windows.Management.Deployment
Windows::Management::Deployment [C++]

Metadata

Windows.winmd

참고 항목

PackageManager
RemovePackageAsync(String, RemovalOptions)

 

 

표시: