이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

ApplicationDeployment.Update 메서드

이 응용 프로그램의 최신 버전에 대한 동기 다운로드 및 설치를 시작합니다.

네임스페이스: System.Deployment.Application
어셈블리: System.Deployment(system.deployment.dll)

public bool Update ()
public boolean Update ()
public function Update () : boolean
적용할 수 없음.

반환 값

응용 프로그램이 업데이트되었으면 true이고, 그렇지 않으면 false입니다.
예외 형식조건

TrustNotGrantedException

로컬 컴퓨터에서 실행하도록 요청한 이 응용 프로그램에 권한 수준을 부여하지 않은 경우

InvalidDeploymentException

ClickOnce 배포가 손상된 경우. 이 문제의 진단 및 해결 방법에 대한 설명은 ClickOnce 배포 문제 해결을 참조하십시오.

DeploymentDownloadException

새 배포를 네트워크의 지정된 위치에서 다운로드할 수 없는 경우

InvalidOperationException

응용 프로그램이 현재 업데이트되고 있는 경우

UpdateLocation에 지정된 위치에 응용 프로그램의 새 버전이 게시되고, 응용 프로그램의 배포 매니페스트에 있는 버전 번호가 사용자의 컴퓨터에 현재 설치되어 있는 응용 프로그램의 버전 번호보다 크면 응용 프로그램은 업데이트된 것으로 간주됩니다.

업데이트가 클라이언트 컴퓨터에 다운로드되고 ClickOnce 캐시에 설치될 때까지 Update 호출은 차단되며, 이 시간 동안 응용 프로그램은 사용자에게 응답하지 않습니다. 다운로드 중에 응용 프로그램의 응답성을 유지하고 진행률 보고서를 표시하려면 대신 UpdateAsync 메서드를 사용하십시오.

Update에서는 응용 프로그램 매니페스트에 "optional"로 표시되지 않은 모든 파일을 다운로드합니다. DownloadFileGroup 또는 DownloadFileGroupAsync 메서드를 사용하여 요청 시 선택적 파일을 다운로드할 수 있습니다.

Update 메서드를 호출할 때 ClickOnce에서 이미 응용 프로그램을 자동으로 업데이트하고 있을 수 있으며, 이러한 경우가 발생하면 이 메서드 호출은 InvalidOperationException을 throw합니다.

배포에 있는 여러 파일을 업데이트한 후 응용 프로그램 매니페스트를 새로 고치지 않으면 InvalidDeploymentException이 throw됩니다. 대부분의 경우 이 문제는 ClickOnce 응용 프로그램을 다시 배포하면 해결됩니다. 이 예외는 배포 매니페스트나 응용 프로그램 매니페스트의 공개 키 서명이 유효하지 않거나 없는 경우에도 throw됩니다.

일부 업데이트의 경우 로컬 컴퓨터에서 이전 응용 프로그램 버전보다 높은 신뢰 수준을 요청할 수 있습니다. 신뢰할 수 있는 응용 프로그램 배포를 사용하는 응용 프로그램의 경우 CLR(공용 언어 런타임) 트러스트 관리자가 배포 매니페스트를 조사하여 유효한 트러스트 라이센스가 있는지 여부를 확인합니다. 배포 매니페스트에 유효한 트러스트 라이센스가 포함되어 있지 않으면 ClickOnce에서 설치를 중지하고 TrustNotGrantedException을 throw합니다. Update 메서드는 응용 프로그램 실행에 필요한 권한을 부여할지 여부를 묻는 메시지를 표시하지 않습니다.

다음 코드 예제에서는 응용 프로그램 업데이트를 확인합니다. 사용할 수 있는 업데이트가 있으면 동기적으로 설치합니다.

private void InstallUpdateSyncWithInfo()
{
    UpdateCheckInfo info = null;

    if (ApplicationDeployment.IsNetworkDeployed)
    {
        ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;

        try
        {
            info = ad.CheckForDetailedUpdate();

        }
        catch (DeploymentDownloadException dde)
        {
            MessageBox.Show("The new version of the application cannot be downloaded at this time. \n\nPlease check your network connection, or try again later. Error: " + dde.Message);
            return;
        }
        catch (InvalidDeploymentException ide)
        {
            MessageBox.Show("Cannot check for a new version of the application. The ClickOnce deployment is corrupt. Please redeploy the application and try again. Error: " + ide.Message);
            return;
        }
        catch (InvalidOperationException ioe)
        {
            MessageBox.Show("This application cannot be updated. It is likely not a ClickOnce application. Error: " + ioe.Message);
            return;
        }

        if (info.UpdateAvailable)
        {
            Boolean doUpdate = true;

            if (!info.IsUpdateRequired)
            {
                DialogResult dr = MessageBox.Show("An update is available. Would you like to update the application now?", "Update Available", MessageBoxButtons.OKCancel);
                if (!(DialogResult.OK == dr))
                {
                    doUpdate = false;
                }
            }
            else
            {
                // Display a message that the app MUST reboot. Display the minimum required version.
                MessageBox.Show("This application has detected a mandatory update from your current " + 
                    "version to version " + info.MinimumRequiredVersion.ToString() + 
                    ". The application will now install the update and restart.", 
                    "Update Available", MessageBoxButtons.OK, 
                    MessageBoxIcon.Information);
            }

            if (doUpdate)
            {
                try
                {
                    ad.Update();
                    MessageBox.Show("The application has been upgraded, and will now restart.");
                    Application.Restart();
                }
                catch (DeploymentDownloadException dde)
                {
                    MessageBox.Show("Cannot install the latest version of the application. \n\nPlease check your network connection, or try again later. Error: " + dde);
                    return;
                }
            }
        }
    }
}

  • PermissionSet  로컬 컴퓨터에 대한 모든 액세스를 허용하는 데 필요한 권한입니다. 연관된 열거형: PermissionState

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0은 Windows Vista, Microsoft Windows XP SP2 및 Windows Server 2003 SP1에서 지원됩니다.

.NET Framework

3.0, 2.0에서 지원
이 정보가 도움이 되었습니까?
(1500자 남음)

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
© 2013 Microsoft. All rights reserved.