Manifes aplikasi ClickOnce

Manifes aplikasi ClickOnce adalah file XML yang menjelaskan aplikasi yang disebarkan menggunakan ClickOnce.

Manifes aplikasi ClickOnce memiliki elemen dan atribut berikut.

Elemen Deskripsi Atribut
<Elemen rakitan> Harus diisi. Elemen tingkat atas. manifestVersion
<Elemen assemblyIdentity> Harus diisi. Mengidentifikasi rakitan utama aplikasi ClickOnce. name

version

publicKeyToken

processorArchitecture

language
<TrustInfo> Element Mengidentifikasi persyaratan keamanan aplikasi. Tidak
<Elemen entryPoint> Harus diisi. Mengidentifikasi titik entri kode aplikasi. name
<Elemen dependensi> Harus diisi. Mengidentifikasi setiap dependensi yang diperlukan agar aplikasi berjalan. Secara opsional mengidentifikasi rakitan yang perlu diinstal sebelumnya. Tidak
<Elemen file> Opsional. Mengidentifikasi setiap file nonassembly yang digunakan oleh aplikasi. Dapat menyertakan data isolasi Model Objek Komponen (COM) yang terkait dengan file. name

size

group

optional

writeableType
<Elemen fileAssociation> Opsional. Mengidentifikasi ekstensi file yang akan dikaitkan dengan aplikasi. extension

description

progid

defaultIcon

Keterangan

File manifes aplikasi ClickOnce mengidentifikasi aplikasi yang disebarkan menggunakan ClickOnce. Untuk informasi selengkapnya tentang ClickOnce, lihat Keamanan dan Penyebaran ClickOnce.

Lokasi file

Manifes aplikasi ClickOnce khusus untuk satu versi penyebaran. Untuk alasan ini, mereka harus disimpan secara terpisah dari manifes penyebaran. Konvensi umumnya adalah menempatkannya dalam subdirektori yang dinamai sesuai dengan versi terkait.

Manifes aplikasi selalu harus ditandatangani sebelum penyebaran. Jika Anda mengubah manifes aplikasi secara manual, Anda harus menggunakan mage.exe untuk menandatangani ulang manifes aplikasi, memperbarui manifes penyebaran, lalu menandatangani kembali manifes penyebaran. Untuk informasi selengkapnya, lihat Panduan: Menyebarkan aplikasi ClickOnce secara manual.

Sintaks nama file

Nama file manifes aplikasi ClickOnce harus menjadi nama lengkap dan ekstensi aplikasi seperti yang diidentifikasi dalam assemblyIdentity elemen , diikuti oleh ekstensi .manifest. Misalnya, manifes aplikasi yang mengacu pada aplikasi Example.exe akan menggunakan sintaks nama file berikut.

example.exe.manifest

Contoh

Contoh kode berikut menunjukkan manifes aplikasi untuk aplikasi 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>

Baca juga