Freigeben über


ClickOnce-Anwendungsmanifest

Ein Anwendungsmanifest ist eine XML-Datei, die eine mit ClickOnce bereitgestellte Anwendung beschreibt.

Anwendungsmanifeste verfügen über die folgenden Elemente und Attribute.

Element

Beschreibungen

Attribute

<assembly>-Element (ClickOnce-Anwendung)

Erforderlich. Oberstes Element.

manifestVersion

<assemblyIdentity>-Element (ClickOnce-Anwendung)

Erforderlich. Identifiziert die primäre Assembly der ClickOnce-Anwendung.

name

version

publicKeyToken

processorArchitecture

language

<trustInfo>-Element (ClickOnce-Anwendung)

Identifiziert die Sicherheitsanforderungen der Anwendung.

None

<entryPoint>-Element (ClickOnce-Anwendung)

Erforderlich. Identifiziert den Anwendungscodeeinstiegspunkt.

name

<dependency>-Element (ClickOnce-Anwendung)

Erforderlich. Identifiziert die zum Ausführen der Anwendung erforderlichen Abhängigkeiten. Identifiziert optional Assemblys, die vorinstalliert werden müssen.

None

<file>-Element (ClickOnce-Anwendung)

Optional. Identifiziert jede Nichtassemblydatei, die von der Anwendung verwendet wird. Kann der Datei zugeordnete COM-Isolationsdaten (Component Object Model) umfassen.

name

size

group

optional

writeableType

<fileAssociation>-Element (ClickOnce-Bereitstellung)

Optional. Gibt eine Dateierweiterung an, die der Anwendung zugeordnet sein soll.

extension

description

progid

defaultIcon

Hinweise

Die Anwendungsmanifestdatei identifiziert eine mit ClickOnce bereitgestellte Anwendung. Weitere Informationen zu ClickOnce finden Sie unter ClickOnce-Sicherheit und Bereitstellung.

Dateispeicherort

Ein Anwendungsmanifest ist nur für eine einzelne Version einer Bereitstellung bestimmt. Aus diesem Grund müssen Anwendungsmanifeste getrennt von Bereitstellungsmanifesten gespeichert werden. Im Allgemeinen werden sie in einem Unterverzeichnis platziert, das nach der zugewiesenen Version benannt ist.

Das Anwendungsmanifest muss vor der Bereitstellung immer signiert werden. Wenn Sie ein Anwendungsmanifest manuell ändern, müssen Sie das Anwendungsmanifest mit mage.exe erneut signieren, das Bereitstellungsmanifest aktualisieren und anschließend das Bereitstellungsmanifest erneut signieren. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Manuelles Bereitstellen einer ClickOnce-Anwendung.

Dateinamensyntax

Der Name einer Anwendungsmanifestdatei muss mit dem im assemblyIdentity-Element identifizierten vollständigen Namen und der entsprechenden Erweiterung identisch sein und die Erweiterung .manifest aufweisen. Beispielsweise verwendet ein auf die Anwendung Example.exe verweisendes Anwendungsmanifest die folgende Dateinamensyntax:

example.exe.manifest

Beispiel

Im folgenden Codebeispiel wird ein Anwendungsmanifest für eine ClickOnce-Anwendung veranschaulicht.

<?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>

Siehe auch

Konzepte

Veröffentlichen von ClickOnce-Anwendungen