ClickOnce-Anwendungsmanifest

Ein ClickOnce Anwendungsmanifest ist eine XML-Datei, die von einer Anwendung beschrieben, die mithilfe ClickOncebereitgestellt wird.

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

Element

Beschreibung

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 ClickOnce Anwendungsmanifestdatei identifiziert eine Anwendung, die mithilfe ClickOncebereitgestellt wird. Weitere Informationen zu ClickOnce finden Sie unter ClickOnce-Sicherheit und Bereitstellung.

Dateispeicherort

Ein Anwendungsmanifest ist ClickOnce einer bestimmten Version einer Bereitstellung bestimmt. Aus diesem Grund sollten sie separat gespeichert sind aus Bereitstellungsmanifesten. 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 ClickOnce Anwendungsmanifestdatei sollte der vollständige Name und die Erweiterung der Anwendung, wie im assemblyIdentity-Element identifiziert, gefolgt von der Erweiterung .manifest. 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