<file> 요소(ClickOnce 애플리케이션)

애플리케이션이 다운로드하고 사용하는 모든 비 어셈블리 파일을 나타냅니다.

구문

<file
    name
    size
    group
    optional
    writeableType
>
    <typelib
        tlbid
        version
        helpdir
        resourceid
        flags
    />
    <comClass
        clsid
        description
        threadingModel
        tlbid
        progid
        miscStatus
        miscStatusIcon
        miscStatusContent
        miscStatusDocPrint
        miscStatusThumbnail
    />
    <comInterfaceExternalProxyStub
        iid
        baseInterface
        numMethods
        name
        tlbid
        proxyStubClass32
    />
    <comInterfaceProxyStub
        iid
        baseInterface
        numMethods
        name
        tlbid
        proxyStubClass32
    />
    <windowClass
        versioned
    />
</file>

요소 및 특성

file 요소는 선택적입니다. 요소에는 다음 특성이 있습니다.

attribute Description
name 필수입니다. 파일의 이름을 식별합니다.
size 필수입니다. 파일의 크기(바이트)를 지정합니다.
group optional 특성이 지정되지 않았거나 false로 설정되면 선택 사항이고, optionaltrue이면 필수입니다. 이 파일이 속한 그룹의 이름입니다. 이름은 개발자가 선택한 임의의 유니코드 문자열 값일 수 있으며 ApplicationDeployment 클래스를 사용하여 요청 시 파일을 다운로드하는 데 사용됩니다.
optional 선택 사항. 애플리케이션이 처음 실행될 때 이 파일을 다운로드해야 하는지 또는 애플리케이션이 요청할 때까지 파일이 서버에 있어야 하는지 여부를 지정합니다. false이거나 정의되지 않은 경우 애플리케이션을 처음 실행하거나 설치할 때 파일이 다운로드됩니다. true인 경우 애플리케이션 매니페스트가 유효하려면 group을 지정해야 합니다. writeableType이 값 applicationData로 지정된 경우에는 optional이 true일 수 없습니다.
writeableType 선택 사항. 이 파일이 데이터 파일임을 지정합니다. 현재 유효한 값은 applicationData뿐입니다.

typelib

typelib 요소는 file 요소의 선택적 자식입니다. 이 요소는 COM 구성 요소에 속하는 형식 라이브러리를 설명합니다. 요소에는 다음 특성이 있습니다.

attribute Description
tlbid 필수입니다. 형식 라이브러리에 할당된 GUID입니다.
version 필수입니다. 형식 라이브러리의 버전 번호입니다.
helpdir 필수입니다. 구성 요소에 대한 도움말 파일이 들어 있는 디렉터리입니다. 길이가 0일 수 있습니다.
resourceid 선택 사항. LCID(로캘 식별자)의 16진수 문자열 표현입니다. 0x 접두사가 없고 선행 0이 없는 1~4자리 16진수입니다. LCID에는 중립 하위 언어 식별자가 있을 수 있습니다.
flags 선택 사항. 이 형식 라이브러리에 대한 형식 라이브러리 플래그의 문자열 표현입니다. 구체적으로는 "RESTRICTED", "CONTROL", "HIDDEN" 및 "HASDISKIMAGE" 중 하나여야 합니다.

comClass

comClass 요소는 file 요소의 선택적 자식이지만, ClickOnce 애플리케이션에 등록이 필요 없는 COM을 사용하여 배포하려는 COM 구성 요소가 포함되어 있는 경우 필수입니다. 요소에는 다음 특성이 있습니다.

attribute Description
clsid 필수입니다. GUID로 표현된 COM 구성 요소의 클래스 ID입니다.
description 선택 사항. 클래스 이름입니다.
threadingModel 선택 사항. In Process COM 클래스에서 사용하는 스레딩 모델입니다. 이 속성이 Null이면 스레딩 모델이 사용되지 않습니다. 구성 요소가 클라이언트의 주 스레드에 만들어지고 다른 스레드로부터의 호출이 이 스레드로 마샬링됩니다. 다음 목록은 유효한 값입니다.

Apartment, Free, BothNeutral.
tlbid 선택 사항. 이 COM 구성 요소에 대한 형식 라이브러리의 GUID입니다.
progid 선택 사항. COM 구성 요소와 연결된 버전 종속 프로그래밍 식별자입니다. ProgID의 형식은 <vendor>.<component>.<version>입니다.
miscStatus 선택 사항. 어셈블리의 중복 항목이 MiscStatus 레지스트리 키에서 제공하는 정보를 매니페스트합니다. miscStatusIcon, miscStatusContent, miscStatusDocprint 또는 miscStatusThumbnail 특성의 값을 찾을 수 없는 경우 miscStatus에 나열된 해당 기본값이 누락된 특성에 사용됩니다. 이 값은 다음 표에 나열된 특성 값의 쉼표로 구분된 목록일 수 있습니다. COM 클래스가 MiscStatus 레지스트리 키 값이 필요한 OCX 클래스인 경우 이 특성을 사용할 수 있습니다.
miscStatusIcon 선택 사항. 어셈블리의 중복 항목이 DVASPECT_ICON에서 제공하는 정보를 매니페스트합니다. 개체의 아이콘을 제공할 수 있습니다. 이 값은 다음 표에 나열된 특성 값의 쉼표로 구분된 목록일 수 있습니다. COM 클래스가 Miscstatus 레지스트리 키 값이 필요한 OCX 클래스인 경우 이 특성을 사용할 수 있습니다.
miscStatusContent 선택 사항. 어셈블리의 중복 항목이 DVASPECT_CONTENT에서 제공하는 정보를 매니페스트합니다. 화면 또는 프린터에 표시할 수 있는 복합 문서를 제공할 수 있습니다. 이 값은 다음 표에 나열된 특성 값의 쉼표로 구분된 목록일 수 있습니다. COM 클래스가 MiscStatus 레지스트리 키 값이 필요한 OCX 클래스인 경우 이 특성을 사용할 수 있습니다.
miscStatusDocPrint 선택 사항. 어셈블리의 중복 항목이 DVASPECT_DOCPRINT에서 제공하는 정보를 매니페스트합니다. 프린터에 인쇄된 것처럼 화면에 표시할 수 있는 개체 표현을 제공할 수 있습니다. 이 값은 다음 표에 나열된 특성 값의 쉼표로 구분된 목록일 수 있습니다. COM 클래스가 MiscStatus 레지스트리 키 값이 필요한 OCX 클래스인 경우 이 특성을 사용할 수 있습니다.
miscStatusThumbnail 선택 사항. 어셈블리의 중복 항목이 DVASPECT_THUMBNAIL에서 제공하는 정보를 매니페스트합니다. 검색 도구에 표시할 수 있는 개체의 썸네일을 제공할 수 있습니다. 이 값은 다음 표에 나열된 특성 값의 쉼표로 구분된 목록일 수 있습니다. COM 클래스가 MiscStatus 레지스트리 키 값이 필요한 OCX 클래스인 경우 이 특성을 사용할 수 있습니다.

comInterfaceExternalProxyStub

comInterfaceExternalProxyStub 요소는 file 요소의 선택적 자식이지만, ClickOnce 애플리케이션에 등록이 필요 없는 COM을 사용하여 배포하려는 COM 구성 요소가 포함되어 있는 경우 필수일 수 있습니다. 이 요소는 다음 특성을 포함합니다.

attribute Description
iid 필수입니다. 이 프록시에서 제공하는 IID(인터페이스 ID)입니다. IID에는 중괄호가 있어야 합니다.
baseInterface 선택 사항. iid에서 참조하는 인터페이스가 파생되는 인터페이스의 IID입니다.
numMethods 선택 사항. 인터페이스에 의해 구현된 메서드의 수입니다.
name 선택 사항. 코드에 표시되는 인터페이스의 이름입니다.
tlbid 선택 사항. iid 특성으로 지정된 인터페이스에 대한 설명을 포함하는 형식 라이브러리입니다.
proxyStubClass32 선택 사항. 32비트 프록시 DLL에서 IID를 CLSID에 매핑합니다.

comInterfaceProxyStub

comInterfaceProxyStub 요소는 file 요소의 선택적 자식이지만, ClickOnce 애플리케이션에 등록이 필요 없는 COM을 사용하여 배포하려는 COM 구성 요소가 포함되어 있는 경우 필수일 수 있습니다. 이 요소는 다음 특성을 포함합니다.

attribute Description
iid 필수입니다. 이 프록시에서 제공하는 IID(인터페이스 ID)입니다. IID에는 중괄호가 있어야 합니다.
baseInterface 선택 사항. iid에서 참조하는 인터페이스가 파생되는 인터페이스의 IID입니다.
numMethods 선택 사항. 인터페이스에 의해 구현된 메서드의 수입니다.
Name 선택 사항. 코드에 표시되는 인터페이스의 이름입니다.
Tlbid 선택 사항. iid 특성으로 지정된 인터페이스에 대한 설명을 포함하는 형식 라이브러리입니다.
proxyStubClass32 선택 사항. 32비트 프록시 DLL에서 IID를 CLSID에 매핑합니다.
threadingModel 선택 사항. 선택 사항. In Process COM 클래스에서 사용하는 스레딩 모델입니다. 이 속성이 Null이면 스레딩 모델이 사용되지 않습니다. 구성 요소가 클라이언트의 주 스레드에 만들어지고 다른 스레드로부터의 호출이 이 스레드로 마샬링됩니다. 다음 목록은 유효한 값입니다.

Apartment, Free, BothNeutral.

windowClass

windowClass 요소는 file 요소의 선택적 자식이지만, ClickOnce 애플리케이션에 등록이 필요 없는 COM을 사용하여 배포하려는 COM 구성 요소가 포함되어 있는 경우 필수일 수 있습니다. 이 요소는 버전을 적용해야 하는 COM 구성 요소로 정의된 창 클래스를 참조합니다. 이 요소는 다음 특성을 포함합니다.

attribute 설명
versioned 선택 사항입니다. 등록에 사용되는 내부 창 클래스 이름이 창 클래스를 포함하는 어셈블리의 버전을 포함하는지 여부를 제어합니다. 이 특성의 값은 다음과 같습니다 yesno. 기본값은 yes입니다. 값 no는 동일한 창 클래스가 side-by-side 구성 요소 및 동등한 비 side-by-side 구성 요소로 정의되고 이러한 클래스를 동일한 창 클래스로 처리하려는 경우에만 사용해야 합니다. 창 클래스 등록에 대한 일반적인 규칙이 적용됩니다. 창 클래스에 적용되는 버전이 없기 때문에 창 클래스를 등록하는 첫 번째 구성 요소만 해당 클래스를 등록할 수 있습니다.

hash

hash 요소는 file 요소의 선택적 자식 요소입니다. hash 요소에는 특성이 없습니다.

ClickOnce는 애플리케이션에 있는 모든 파일의 알고리즘 해시를 보안 검사로 사용하여 배포 후 어떤 파일도 변경되지 않았음을 확인합니다. hash 요소가 없으면 이 검사가 수행되지 않습니다. 따라서 hash 요소를 생략하는 것은 권장되지 않습니다.

매니페스트에 해시되지 않은 파일이 포함되어 있는 경우 사용자는 해시되지 않은 파일의 콘텐츠를 확인할 수 없으므로 해당 매니페스트를 디지털 서명할 수 없습니다.

dsig:Transforms

dsig:Transforms 요소는 hash 요소의 필수 자식 요소입니다. dsig:Transforms 요소에는 특성이 없습니다.

dsig:Transform

dsig:Transform 요소는 dsig:Transforms 요소의 필수 자식 요소입니다. dsig:Transform 요소에는 다음 특성이 있습니다.

attribute 설명
Algorithm 이 파일의 다이제스트를 계산하는 데 사용되는 알고리즘입니다. 현재 ClickOnce에서 사용하는 유일한 값은 urn:schemas-microsoft-com:HashTransforms.Identity입니다.

dsig:DigestMethod

dsig:DigestMethod 요소는 hash 요소의 필수 자식 요소입니다. dsig:DigestMethod 요소에는 다음 특성이 있습니다.

attribute 설명
Algorithm 이 파일의 다이제스트를 계산하는 데 사용되는 알고리즘입니다. 현재 ClickOnce에서 사용하는 유일한 값은 http://www.w3.org/2000/09/xmldsig#sha1입니다.

dsig:DigestValue

dsig:DigestValue 요소는 hash 요소의 필수 자식 요소입니다. dsig:DigestValue 요소에는 특성이 없습니다. 해당 텍스트 값은 지정된 파일에 대해 계산된 해시입니다.

설명

이 요소는 애플리케이션을 구성하는 모든 비 어셈블리 파일 및 특히 파일 확인을 위한 해시 값을 식별합니다. 이 요소가 파일에 연결된 COM(구성 요소 개체 모델) 격리 데이터를 포함할 수도 있습니다. 파일이 변경된 경우 애플리케이션 매니페스트 파일도 변경 내용을 반영하도록 업데이트해야 합니다.

예시

다음 코드 예제에서는 ClickOnce를 사용하여 배포된 애플리케이션에 대한 애플리케이션 매니페스트의 file 요소를 보여 줍니다.

<file name="Icon.ico" size="9216">
  <hash>
    <dsig:Transforms>
      <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
    </dsig:Transforms>
    <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
    <dsig:DigestValue>lVoj+Rh6RQ/HPNLOdayQah5McrI=</dsig:DigestValue>
  </hash>
</file>

참고 항목