이 문서에서는 다시 서명하거나 ClickOnce 매니페스트를 변경하지 않고 여러 네트워크 위치에서 ClickOnce 애플리케이션을 배포할 수 있도록 하는 .NET Framework 버전 3.5에 도입된 ClickOnce의 기능을 설명합니다.
비고
사임은 여전히 새 버전의 애플리케이션을 배포하는 데 선호되는 방법입니다. 가능하면 사임 방법을 사용합니다. 자세한 내용은 Mage.exe (매니페스트 생성 및 편집 도구)를 참조하세요.
타사 개발자와 ISV는 이 기능을 옵트인하여 고객이 애플리케이션을 더 쉽게 업데이트할 수 있도록 합니다. 이 기능은 다음과 같은 경우에 사용할 수 있습니다.
애플리케이션을 업데이트할 때 (첫 설치가 아닌 경우).
컴퓨터에 애플리케이션 구성이 하나만 있는 경우 예를 들어 애플리케이션이 서로 다른 두 데이터베이스를 가리키도록 구성된 경우 이 기능을 사용할 수 없습니다.
배포 매니페스트에서 deploymentProvider 제외
.NET Framework 2.0 및 .NET Framework 3.0에서는 오프라인 사용 가능하도록 시스템에 설치되는 모든 ClickOnce 애플리케이션이 배포 매니페스트에 deploymentProvider를 나열해야 합니다. 업데이트 deploymentProvider 위치라고도 합니다. ClickOnce가 애플리케이션 업데이트를 확인하는 위치입니다. 이 요구 사항으로 인해 애플리케이션 게시자가 배포에 서명해야 하므로 회사에서 공급업체 또는 다른 타사에서 ClickOnce 애플리케이션을 업데이트하기가 어려웠습니다. 또한 동일한 네트워크의 여러 위치에서 동일한 애플리케이션을 배포하기가 더 어려워집니다.
.NET Framework 3.5에서 ClickOnce가 변경된 경우 타사에서 ClickOnce 애플리케이션을 다른 조직에 제공할 수 있으며, 이 애플리케이션은 자체 네트워크에 배포할 수 있습니다.
이 기능을 활용하려면 ClickOnce 애플리케이션 개발자가 배포 매니페스트에서 제외 deploymentProvider 해야 합니다. 이 요구 사항은 Mage.exe사용하여 배포 매니페스트를 -providerUrl 만들 때 인수를 제외해야 임을 의미합니다. 또는 MageUI.exe사용하여 배포 매니페스트를 생성하는 경우 애플리케이션 매니페스트 탭의 시작 위치 텍스트 상자가 비어 있는지 확인해야 합니다.
비고
.NET Core 3.1 및 .NET 5 이상용 ClickOnce에서 Mage.exe 대신 dotnet-mage.exe사용합니다. 자세한 내용은 .NET용 ClickOnce를 참조하세요.
deploymentProvider 및 애플리케이션 업데이트
.NET Framework 3.5부터 온라인 및 오프라인 사용 모두에 대해 ClickOnce 애플리케이션을 배포하기 위해 배포 매니페스트에서 더 이상 지정할 deploymentProvider 필요가 없습니다. 이 변경은 배포를 직접 패키지하고 서명해야 하지만 다른 회사에서 네트워크를 통해 애플리케이션을 배포하도록 허용하는 시나리오를 지원합니다.
기억해야 할 중요한 점은 deploymentProvider 태그를 제외한 애플리케이션은 deploymentProvider 태그가 포함된 업데이트를 다시 제공할 때까지는 업데이트 중에 설치 위치를 변경할 수 없다는 것입니다.
다음은 이 점을 명확히 하는 두 가지 예입니다. 첫 번째 예제에서는 태그가 없는 deploymentProvider ClickOnce 애플리케이션을 게시하고 사용자에게 설치하도록 http://www.adatum.com/MyApplication/요청합니다. 애플리케이션 http://subdomain.adatum.com/MyApplication/의 다음 업데이트를 게시하려는 경우 상주하는 배포 매니페스트 http://www.adatum.com/MyApplication/에서 이를 나타낼 방법이 없습니다. 다음 두 가지 작업 중 하나를 수행할 수 있습니다.
사용자에게 이전 버전을 제거하고 새 위치에서 새 버전을 설치하도록 지시합니다.
업데이트에는
deploymentProvider를 포인팅하는http://www.adatum.com/MyApplication/가 포함되며,http://www.adatum.com/MyApplication/를 참조합니다. 그런 다음 나중에deploymentProvider을 가리키는 다른 업데이트를 릴리스합니다http://subdomain.adatum.com/MyApplication/.두 번째 예제에서는 ClickOnce 애플리케이션을
deploymentProvider로 지정하여 게시한 후 이를 제거하기로 결정합니다. 새 버전이 클라이언트에deploymentProvider없이 다운로드되면 애플리케이션의deploymentProvider가 복원된 버전을 릴리스할 때까지 업데이트에 사용되는 경로를 리디렉션할 수 없습니다. 첫 번째 예제deploymentProvider와 마찬가지로 처음에는 새 위치가 아닌 현재 업데이트 위치를 가리킵니다. 이 경우 참조deploymentProvider하는http://subdomain.adatum.com/MyApplication/항목을 삽입하려고 하면 다음 업데이트가 실패합니다.
배포 생성하기
다른 네트워크 위치에서 배포할 수 있는 배포를 만드는 단계별 지침은 연습: 다시 서명할 필요가 없으며 브랜딩 정보를 유지하는 ClickOnce 애플리케이션을 수동으로 배포하는 방법을 참조하세요.