ClickOnce 애플리케이션 매니페스트

ClickOnce 애플리케이션 매니페스트는 ClickOnce를 사용하여 배포된 애플리케이션을 설명하는 XML 파일입니다.

ClickOnce 애플리케이션 매니페스트에는 다음 요소와 특성이 있습니다.

요소 설명 특성
<assembly> 요소 필수입니다. 최상위 요소입니다. manifestVersion
<assemblyIdentity> 요소 필수입니다. ClickOnce 애플리케이션의 주 어셈블리를 식별합니다. name

version

publicKeyToken

processorArchitecture

language
<trustInfo> 요소 애플리케이션 보안 요구 사항을 식별합니다. 없음
<entryPoint> 요소 필수입니다. 애플리케이션 코드 진입점을 식별합니다. name
<dependency> 요소 필수입니다. 애플리케이션을 실행하는 데 필요한 각 종속성을 식별합니다. 필요에 따라 사전 설치해야 하는 어셈블리를 식별합니다. 없음
<file> 요소 선택 사항. 애플리케이션에서 사용하는 각 비어셈블리 파일을 식별합니다. 파일에 연결된 COM(구성 요소 개체 모델) 격리 데이터를 포함할 수 있습니다. name

size

group

optional

writeableType
<fileAssociation> 요소 선택 사항. 애플리케이션과 연결될 파일 확장명을 식별합니다. extension

description

progid

defaultIcon

설명

ClickOnce 애플리케이션 매니페스트 파일은 ClickOnce를 사용하여 배포된 애플리케이션을 식별합니다. ClickOnce에 대한 자세한 내용은 ClickOnce 보안 및 배포를 참조하세요.

파일 위치

ClickOnce 애플리케이션 매니페스트는 배포의 단일 버전에 따라 다릅니다. 이러한 이유로 배포 매니페스트와 분리하여 저장해야 합니다. 일반적인 규칙은 연결된 버전에 따라 이름이 지정된 하위 디렉터리에 저장하는 것입니다.

애플리케이션 매니페스트는 항상 배포 전에 서명해야 합니다. 수동으로 애플리케이션 매니페스트를 변경하는 경우 mage.exe를 사용하여 애플리케이션 매니페스트에 다시 서명하고 배포 매니페스트를 업데이트한 다음, 배포 매니페스트에 다시 서명해야 합니다. 자세한 내용은 연습: ClickOnce 애플리케이션 수동 배포를 참조하세요.

파일 이름 구문

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>

참고 항목