ClickOnce 응용 프로그램 매니페스트

응용 프로그램 매니페스트는 ClickOnce를 사용하여 배포되는 응용 프로그램을 설명하는 XML 파일입니다.

응용 프로그램 매니페스트에는 다음과 같은 요소와 특성이 있습니다.

요소

설명

특성

<assembly> 요소(ClickOnce 응용 프로그램)

필수적 요소로서, 최상위 요소.

manifestVersion

<assemblyIdentity> 요소(ClickOnce 응용 프로그램)

필수적 요소로서, ClickOnce 응용 프로그램의 주 어셈블리를 식별합니다.

name

version

publicKeyToken

processorArchitecture

language

<trustInfo> Element (ClickOnce Application)

응용 프로그램 보안 요구 사항을 식별합니다.

없음

<entryPoint> 요소(ClickOnce 응용 프로그램)

필수적 요소로서, 응용 프로그램 코드 진입점을 식별합니다.

name

<dependency> 요소(ClickOnce 응용 프로그램)

필수적 요소로서, 응용 프로그램 실행에 필요한 각 종속성을 식별합니다. 사전 설치해야 하는 어셈블리를 식별할 수도 있습니다.

없음

<file> 요소(ClickOnce 응용 프로그램)

선택적 요소로서, 응용 프로그램에 사용되는 어셈블리 이외의 각 파일을 식별합니다. 파일과 관련된 COM(Component Object Model) 격리 데이터가 포함될 수 있습니다.

name

size

group

optional

writeableType

<fileAssociation> 요소(ClickOnce 응용 프로그램)

선택적 요소로서, 응용 프로그램과 연결할 파일 확장명을 식별합니다.

extension

description

progid

defaultIcon

설명

응용 프로그램 매니페스트 파일은 ClickOnce를 사용하여 배포되는 응용 프로그램을 식별합니다. ClickOnce에 대한 자세한 내용은 ClickOnce 보안 및 배포을 참조하십시오.

파일 위치

응용 프로그램 매니페스트는 배포의 단일 버전에 대해 고유합니다. 따라서 응용 프로그램 매니페스트는 배포 매니페스트와는 별도로 저장해야 합니다. 일반적으로 응용 프로그램 매니페스트는 관련 버전에 따라 이름을 지정한 하위 디렉터리에 저장합니다.

응용 프로그램 매니페스트는 항상 배포에 앞서 서명해야 합니다. 응용 프로그램 매니페스트를 수동으로 변경하는 경우 mage.exe를 사용하여 응용 프로그램 매니페스트를 다시 서명하고 배포 매니페스트를 업데이트한 다음 배포 매니페스트를 다시 서명해야 합니다. 자세한 내용은 연습: ClickOnce 응용 프로그램 수동 배포을 참조하십시오.

파일 이름 구문

응용 프로그램 매니페스트 파일의 이름은 assemblyIdentity 요소로 식별되는 응용 프로그램의 전체 이름과 확장명 뒤에 .manifest 확장명을 추가한 형식이어야 합니다. 예를 들어, Example.exe 응용 프로그램을 가리키는 응용 프로그램 매니페스트에는 다음과 같은 파일 이름 구문을 사용해야 합니다.

example.exe.manifest

예제

다음 코드 예제에서는 ClickOnce 응용 프로그램에 대한 응용 프로그램 매니페스트를 보여 줍니다.

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1">
  <asmv1:assemblyIdentity name="My Application Deployment.exe" version="1.0.0.0" publicKeyToken="43cb1e8e7a352766" language="neutral" processorArchitecture="x86" type="win32" />
  <application />
  <entryPoint>
    <assemblyIdentity name="MyApplication" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
    <commandLine file="MyApplication.exe" parameters="" />
  </entryPoint>
  <trustInfo>
    <security>
      <applicationRequestMinimum>
        <PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
        <defaultAssemblyRequest permissionSetReference="Custom" />
      </applicationRequestMinimum>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <!--
          UAC Manifest Options
          If you want to change the Windows User Account Control level replace the 
          requestedExecutionLevel node with one of the following.

        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

         If you want to utilize File and Registry Virtualization for backward 
         compatibility then delete the requestedExecutionLevel node.
    -->
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentOS>
      <osVersionInfo>
        <os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
      </osVersionInfo>
    </dependentOS>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
      <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.20506.0" />
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MyApplication.exe" size="4096">
      <assemblyIdentity name="MyApplication" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
      <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>DpTW7RzS9IeT/RBSLj54vfTEzNg=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>
<publisherIdentity name="CN=DOMAINCONTROLLER\UserMe" issuerKeyHash="18312a18a21b215ecf4cdb20f5a0e0b0dd263c08" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#">
…
</Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>

참고 항목

개념

ClickOnce 응용 프로그램 게시