다음을 통해 공유


<deployment> 요소(ClickOnce 배포)

업데이트를 배포하고 시스템에 노출하는 데 사용되는 특성을 식별합니다.

Syntax


      <deployment
   install
   minimumRequiredVersion
   mapFileExtensions
   disallowUrlActivation
   trustUrlParameters
>
   <subscription>
         <update>
            <beforeApplicationStartup/>
            <expiration
               maximumAge
               unit
            />
         </update>
   </subscription>
   <deploymentProvider
      codebase
   />
</deployment>

요소 및 특성

deployment 요소는 필수이며 urn:schemas-microsoft-com:asm.v2 네임스페이스에 있습니다. 요소에는 다음 특성이 있습니다.

attribute Description
install 필수 요소. 이 애플리케이션이 Windows 시작 메뉴와 제어판 프로그램 추가/제거 애플리케이션에서 현재 상태를 정의하는지 여부를 지정합니다. 유효한 값은 truefalse입니다. false인 경우 ClickOnce는 항상 네트워크에서 이 애플리케이션의 최신 버전을 실행하고 subscription 요소를 인식하지 않습니다.
minimumRequiredVersion 선택 사항입니다. 클라이언트에서 실행할 수 있는 이 애플리케이션의 최소 버전을 지정합니다. 애플리케이션의 버전 번호가 배포 매니페스트에 제공된 버전 번호보다 작은 경우 애플리케이션이 실행되지 않습니다. 버전 번호는 N.N.N.N 형식으로 지정해야 합니다. 여기서 N은 부호 없는 정수입니다. install 특성이 false이면 minimumRequiredVersion을 설정하면 안 됩니다.
mapFileExtensions 선택 사항입니다. 기본값은 false입니다. true이면 배포의 모든 파일에 .deploy 확장명이 있어야 합니다. ClickOnce는 웹 서버에서 이 파일을 다운로드하는 즉시 파일에서 확장명을 제거합니다. Visual Studio를 사용하여 애플리케이션을 게시하는 경우 Visual Studio는 모든 파일에 이 확장명을 추가합니다. 이 매개 변수를 사용하면 ClickOnce 배포 내의 모든 파일을 .exe 같은 "안전하지 않은" 확장으로 끝나는 파일의 전송을 차단하는 웹 서버에서 다운로드할 수 있습니다.
disallowUrlActivation 선택 사항입니다. 기본값은 false입니다. 이 경우 trueURL을 클릭하거나 브라우저에 URL을 입력하여 설치된 애플리케이션이 시작되지 않도록 합니다. install 특성이 없으면 이 특성은 무시됩니다.
trustURLParameters 선택 사항입니다. 기본값은 false입니다. true이면 명령줄 인수가 명령줄 애플리케이션에 전달되는 것과 마찬가지로 애플리케이션에 전달되는 쿼리 문자열 매개 변수를 URL에 포함할 수 있습니다. 자세한 내용은 방법: 온라인 ClickOnce 애플리케이션에서 쿼리 문자열 정보 검색을 참조하세요.

disallowUrlActivation 특성이 true이면 trustUrlParameters를 매니페스트에서 제외하거나 명시적으로 false로 설정해야 합니다.

deployment 요소에는 다음 자식 요소도 포함됩니다.

subscription

선택 사항입니다. update 요소를 포함합니다. subscription 요소에는 특성이 없습니다. subscription 요소가 없으면 ClickOnce 애플리케이션이 업데이트를 검색하지 않습니다. deployment 요소의 install 특성이 false이면 네트워크에서 시작된 ClickOnce 애플리케이션이 항상 최신 버전을 사용하므로 subscription 요소가 무시됩니다.

update

필수 요소. 이 요소는 subscription 요소의 자식이며 beforeApplicationStartup 또는 expiration 요소를 포함합니다. 동일한 배포 매니페스트에서 beforeApplicationStartupexpiration을 모두 지정할 수는 없습니다.

update 요소에는 특성이 없습니다.

beforeApplicationStartup

선택 사항입니다. 이 요소는 update 요소의 자식이며 특성이 없습니다. beforeApplicationStartup 요소가 있으면 클라이언트가 온라인 상태인 경우 ClickOnce가 업데이트를 확인할 때 애플리케이션이 차단됩니다. 이 요소가 없으면 ClickOnce는 먼저 expiration 요소에 대해 지정된 값을 기반으로 업데이트를 검사합니다. 동일한 배포 매니페스트에서 beforeApplicationStartupexpiration을 모두 지정할 수는 없습니다.

expiration

선택 사항입니다. 이 요소는 update 요소의 자식이며 자식이 없습니다. 동일한 배포 매니페스트에서 beforeApplicationStartupexpiration을 모두 지정할 수는 없습니다. 업데이트 확인이 발생하고 업데이트된 버전이 검색되면 기존 버전이 실행되는 동안 새 버전이 캐시됩니다. 그러면 ClickOnce 애플리케이션이 다음에 시작할 때 새 버전이 설치됩니다.

expiration 요소는 다음 특성을 지원합니다.

attribute Description
maximumAge 필수 요소. 현재 업데이트가 얼마나 오래 되어야 애플리케이션이 업데이트 검사를 수행하는지 식별합니다. 시간 단위는 unit 특성에 의해 결정됩니다.
unit 필수 요소. maximumAge의 시간 단위를 식별합니다. 유효한 단위는 hours, days, weeks입니다.

deploymentProvider

.NET Framework 2.0에서는 배포 매니페스트에 subscription 섹션이 포함된 경우 이 요소가 필수입니다. .NET Framework 3.5 이상에서는 이 요소가 선택 사항이며, 기본적으로 배포 매니페스트가 검색된 서버 및 파일 경로로 설정됩니다.

이 요소는 deployment 요소의 자식이며 다음과 같은 특성이 있습니다.

attribute Description
codebase 필수 요소. ClickOnce 애플리케이션을 업데이트하는 데 사용되는 배포 매니페스트의 URI(Uniform Resource Identifier)로 위치를 식별합니다. 이 요소를 사용하면 CD 기반 설치의 업데이트 위치도 전달할 수 있습니다. 유효한 URI여야 합니다.

설명

시작 시 업데이트를 검색하거나, 시작 후 업데이트를 검색하거나, 업데이트를 확인하지 않도록 ClickOnce 애플리케이션을 구성할 수 있습니다. 시작 시 업데이트를 검색하려면 beforeApplicationStartup 요소가 update 요소 아래에 있어야 합니다. 시작 후 업데이트를 검색하려면 expiration 요소가 update 요소 아래에 있고 업데이트 간격을 제공해야 합니다.

업데이트 확인을 사용하지 않으려면 subscription 요소를 제거합니다. 업데이트를 검사하지 않도록 배포 매니페스트에서 지정하는 경우에도 CheckForUpdate 메서드를 사용하여 수동으로 업데이트를 확인할 수 있습니다.

참고

System.Deployment.Application 네임스페이스의 ApplicationDeployment 클래스 및 API는 .NET Core 및 .NET 5 이상 버전에서 지원되지 않습니다. .NET 7에서는 애플리케이션 배포 속성에 액세스하는 새로운 방법이 지원됩니다. 자세한 내용은 .NET에서 ClickOnce 배포 속성 액세스를 참조하세요. .NET 7은 ApplicationDeployment 메서드에 해당하는 메서드를 지원하지 않습니다.

deploymentProvider와 업데이트의 관계에 대한 자세한 내용은 ClickOnce 업데이트 전략 선택을 참조하세요.

다음 코드 예제에서는 ClickOnce 배포 매니페스트의 deployment 요소를 보여 줍니다. 이 예제는 deploymentProvider 요소를 사용하여 기본 업데이트 위치를 나타냅니다.

<deployment install="true" minimumRequiredVersion="2.0.0.0" mapFileExtension="true" trustUrlParameters="true">
    <subscription>
      <update>
        <expiration maximumAge="6" unit="hours" />
      </update>
    </subscription>
    <deploymentProvider codebase="http://www.adatum.com/MyApplication.application" />
  </deployment>

참조