<dependency>-Element (ClickOnce-Bereitstellung)

Identifiziert die Version der Anwendung, die installiert werden soll, sowie den Speicherort des Anwendungsmanifests.

Syntax


      <dependency>
   <dependentAssembly
      preRequisite
      visible
      dependencyType
      codeBase
      size
   >
      <assemblyIdentity
         name
         version
         publicKeyToken
         processorArchitecture
         language
         type
      />
      <hash>
         <dsig:Transforms>
            <dsig:Transform
                Algorithm
            />
         </dsig:Transforms>
         <dsig:DigestMethod />
         <dsig:DigestValue>
         </dsig:DigestValue>
      </hash>

   </dependentAssembly>
</dependency>

Elemente und Attribute

Das dependency-Element ist erforderlich. Es weist keine Attribute auf. Ein Bereitstellungsmanifest kann mehrere dependency-Elemente aufweisen.

Das dependency-Element drückt in der Regel Abhängigkeiten für die Hauptanwendung von Assemblys aus, die in einer ClickOnce-Anwendung enthalten sind. Wenn Ihre Anwendung „Main.exe“ eine Assembly namens „DotNetAssembly.dll“ verwendet, muss diese Assembly in einem Abhängigkeitsabschnitt aufgeführt werden. Abhängigkeit kann jedoch auch andere Arten von Abhängigkeiten ausdrücken, z. B. Abhängigkeiten von einer bestimmten Version der Common Language Runtime, von einer Assembly im globalen Assemblycache (GAC) oder von einem COM-Objekt. Da es sich um eine Bereitstellungstechnologie ohne Benutzereingriff handelt, kann ClickOnce den Download und die Installation dieser Abhängigkeitstypen nicht initiieren, verhindert jedoch die Ausführung der Anwendung, wenn mindestens eine der angegebenen Abhängigkeiten nicht vorhanden ist.

dependentAssembly

Erforderlich. Dieses Element enthält das assemblyIdentity-Element. In der folgenden Tabelle werden die Attribute aufgeführt, die dependentAssembly unterstützt.

Attribut BESCHREIBUNG
preRequisite Optional. Gibt an, dass diese Assembly bereits im GAC vorhanden sein sollte. Gültige Werte sind true und false. Wenn der Wert true und die angegebene Assembly im GAC nicht vorhanden ist, kann die Anwendung nicht ausgeführt werden.
visible Optional. Identifiziert die Anwendungsidentität der obersten Ebene, einschließlich ihrer Abhängigkeiten. Wird intern von ClickOnce zum Verwalten von Anwendungsspeicher und -aktivierung verwendet.
dependencyType Erforderlich. Die Beziehung zwischen dieser Abhängigkeit und der Anwendung. Gültige Werte sind:

- install. Die Komponente stellt eine separate Installation aus der aktuellen Anwendung dar.
- preRequisite. Die Komponente ist für die aktuelle Anwendung erforderlich.
codebase Optional. Der vollständige Pfad zum Anwendungsmanifest.
size Optional. Die Größe des Anwendungsmanifests in Bytes.

assemblyIdentity

Erforderlich. Dieses Element ist ein untergeordnetes Element des dependentAssembly -Elements. Der Inhalt von assemblyIdentity muss mit dem im ClickOnce-Anwendungsmanifest beschriebenen Inhalt identisch sein. In der folgenden Tabelle werden die Attribute für das assemblyIdentity-Element aufgeführt.

Attribut BESCHREIBUNG
Name Erforderlich. Gibt den Namen der Anwendung an.
Version Erforderlich. Gibt die Versionsnummer der Anwendung im folgenden Format an: major.minor.build.revision
publicKeyToken Erforderlich. Gibt eine hexadezimale Zeichenfolge mit 16 Zeichen an, die die letzten 8 Bytes des SHA-1-Hashwerts des öffentlichen Schlüssels darstellt, unter dem die Anwendung oder Assembly signiert ist. Der öffentliche Schlüssel, der zum Signieren verwendet wird, muss 2.048 Bit oder mehr betragen.
processorArchitecture Erforderlich. Gibt den Mikroprozessor an. Gültige Werte sind x86 für 32-Bit-Windows und IA64 für 64-Bit-Windows.
Language Optional. Identifiziert die zweiteiligen Sprachcodes der Assembly. Beispiel: EN-US. Dieser Code steht für Englisch (USA). Der Standardwert lautet neutral. Dieses Element befindet sich im asmv2-Namespace.
type Optional. Für Abwärtskompatibilität mit der parallelen Installationstechnologie von Windows. Der einzige zulässige Wert ist win32.

hash

Das hash-Element ist ein optionales untergeordnetes Element des file-Elements. Das hash -Element weist keine Attribute auf.

ClickOnce verwendet einen algorithmischen Hashwert aller Dateien in einer Anwendung als Sicherheitsüberprüfung, um sicherzustellen, dass keine der Dateien nach der Bereitstellung geändert wurde. Wenn das hash-Element nicht enthalten ist, wird diese Überprüfung nicht durchgeführt. Daher wird das Auslassen des hash-Elements nicht empfohlen.

dsig:Transforms

Das dsig:Transforms-Element ist ein erforderliches untergeordnetes Element des hash-Elements. Das dsig:Transforms -Element weist keine Attribute auf.

dsig:Transform

Das dsig:Transform-Element ist ein erforderliches untergeordnetes Element des dsig:Transforms-Elements. In der folgenden Tabelle werden die Attribute für das dsig:Transform-Element aufgeführt.

Attribut BESCHREIBUNG
Algorithm Der Algorithmus, der zum Berechnen des Digests für diese Datei verwendet wird. Der derzeit einzige Wert, der von ClickOnce verwendet wird, ist urn:schemas-microsoft-com:HashTransforms.Identity.

dsig:DigestMethod

Das dsig:DigestMethod-Element ist ein erforderliches untergeordnetes Element des hash-Elements. In der folgenden Tabelle werden die Attribute für das dsig:DigestMethod-Element aufgeführt.

Attribut BESCHREIBUNG
Algorithm Der Algorithmus, der zum Berechnen des Digests für diese Datei verwendet wird. Der derzeit einzige Wert, der von ClickOnce verwendet wird, ist http://www.w3.org/2000/09/xmldsig#sha1.

dsig:DigestValue

Das dsig:DigestValue-Element ist ein erforderliches untergeordnetes Element des hash-Elements. Das dsig:DigestValue -Element weist keine Attribute auf. Der Textwert ist der berechnete Hashwert für die angegebene Datei.

Hinweise

Bereitstellungsmanifeste verfügen in der Regel über ein einzelnes assemblyIdentity-Element, das den Namen und die Version des Anwendungsmanifests identifiziert.

Beispiel 1

Das folgende Codebeispiel zeigt ein dependency-Element in einem ClickOnce-Bereitstellungsmanifest.

<!-- Identify the assembly dependencies -->
<dependency>
  <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MyApplication.exe" size="16384">
    <assemblyIdentity name="MyApplication" version="0.0.0.0" cultural="neutral" processorArchitecture="msil" />
    <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>YzXYZJAvj9pgAG3y8jXUjC7AtHg=</dsig:DigestValue>
    </hash>
  </dependentAssembly>
</dependency>

Beispiel 2

Im folgenden Codebeispiel wird eine Abhängigkeit von einer Assembly angegeben, die bereits im GAC installiert ist.

<dependency>
  <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
    <assemblyIdentity name="GACAssembly" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
  </dependentAssembly>
</dependency>

Beispiel 3

Im folgenden Codebeispiel wird eine Abhängigkeit von einer bestimmten Version der Common Language Runtime angegeben.

<dependency>
  <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
    <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50215.0" />
  </dependentAssembly>
</dependency>

Beispiel 4

Im folgenden Codebeispiel wird eine Betriebssystemabhängigkeit angegeben.

<dependency>
   <dependentOS supportUrl="http://www.microsoft.com" description="Microsoft Windows Operating System">
      <osVersionInfo>
         <os majorVersion="4" minorVersion="10" />
      </osVersionInfo>
   </dependentOS>
</dependency>

Weitere Informationen