<dependency>-Element (ClickOnce-Bereitstellung)
Identifiziert die Version der Anwendung, die installiert werden soll, und den Speicherort des Anwendungsmanifests.
<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 sind keine Attribute vorhanden. Ein Bereitstellungsmanifest kann über mehrere dependency-Elemente verfügen.
Das dependency-Element drückt normalerweise Abhängigkeiten der Hauptanwendung von Assemblys aus, die in einer ClickOnce-Anwendung enthalten sind. Wenn die Anwendung Main.exe eine Assembly mit dem Namen DotNetAssembly.dll verwendet, muss diese Assembly in einem Abhängigkeitsabschnitt aufgeführt sein. Es können jedoch auch andere Typen von Abhängigkeiten ausgedrückt werden, 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 bei ClickOnce um eine NTD-Technologie (No-Touch Deployment) handelt, können für diese Typen von Abhängigkeiten weder Download noch Installation eingeleitet werden. Wenn jedoch eine oder mehrere dieser Abhängigkeiten nicht vorhanden sind, kann die Anwendung nicht ausgeführt werden.
dependentAssembly
Erforderlich. Dieses Element enthält das assemblyIdentity-Element. In der folgenden Tabelle werden die von dependentAssembly unterstützten Attribute aufgeführt.
Attribute |
Beschreibungen |
---|---|
preRequisite |
Optional. Gibt an, dass diese Assembly bereits im GAC vorhanden sein muss. Gültige Werte sind true und false. Wenn der Wert true lautet und die angegebene Assembly im GAC nicht vorhanden ist, wird die Anwendung nicht ausgeführt. |
visible |
Optional. Identifiziert die Anwendungsidentität der obersten Ebene einschließlich der Abhängigkeiten. Wird intern von ClickOnce verwendet, um Anwendungsspeicher und Aktivierung zu verwalten. |
dependencyType |
Erforderlich. Die Beziehung zwischen dieser Abhängigkeit und der Anwendung. Gültige Werte sind:
|
codebase |
Optional. Der vollständige Pfad des Anwendungsmanifests. |
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 der Beschreibung im ClickOnce-Anwendungsmanifest identisch sein. In der folgenden Tabelle werden die Attribute des assemblyIdentity-Elements aufgeführt.
Attribute |
Beschreibungen |
---|---|
Name |
Erforderlich. Identifiziert den Namen der Anwendung. |
Version |
Erforderlich. Gibt die Versionsnummer der Anwendung im folgenden Format an: major.minor.build.revision |
publicKeyToken |
Erforderlich. Gibt eine aus 16 Zeichen bestehende hexadezimale Zeichenfolge an, die die letzten 8 Bytes des SHA-1-Hashs des öffentlichen Schlüssels darstellt, der zum Signieren der Anwendung oder der Assembly verwendet wird. Der zum Signieren verwendete öffentliche Schlüssel muss mindestens 2048 Bits groß sein. |
processorArchitecture |
Erforderlich. Gibt den Mikroprozessor an. Die gültigen Werte sind x86 für 32-Bit-Windows und IA64 für 64-Bit-Windows. |
Language |
Optional. Identifiziert die zweiteiligen Sprachcodes der Assembly, zum Beispiel EN-US für Englisch (USA). Der Standardwert lautet neutral. Dieses Element ist im asmv2-Namespace vorhanden. |
type |
Optional. Für die Abwärtskompatibilität mit der Windows-Technologie für parallele Installationen. Der einzig 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 als Sicherheitsüberprüfung einen algorithmischen Hash aller Dateien in einer Anwendung, um sicherzustellen, dass keine der Dateien nach der Bereitstellung geändert wurde. Wenn das hash-Element nicht enthalten ist, wird diese Überprüfung nicht ausgefü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 des dsig:Transform-Elements aufgeführt.
Attribute |
Beschreibungen |
---|---|
Algorithm |
Der Algorithmus, der zum Berechnen des Digests für diese Datei verwendet wird. Derzeit wird von ClickOnce nur ein Wert verwendet, nämlich 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 des dsig:DigestMethod-Elements aufgeführt.
Attribute |
Beschreibungen |
---|---|
Algorithm |
Der Algorithmus, der zum Berechnen des Digests für diese Datei verwendet wird. Derzeit wird von ClickOnce nur ein Wert verwendet, nämlich 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. Sein Textwert ist der berechnete Hash für die angegebene Datei.
Hinweise
Bereitstellungsmanifeste verfügen i. d. R. über ein einzelnes assemblyIdentity-Element, das den Namen und die Version des Anwendungsmanifests bezeichnet.
Beispiel
Im folgenden Codebeispiel wird ein dependency-Element in einem ClickOnce-Bereitstellungsmanifest veranschaulicht.
<!-- 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>
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>
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>
Im folgenden Codebeispiel wird eine Betriebssystemabhängigkeit angegeben.
<dependency>
<dependentOS supportUrl="https://www.microsoft.com" description="Microsoft Windows Operating System">
<osVersionInfo>
<os majorVersion="4" minorVersion="10" />
</osVersionInfo>
</dependentOS>
</dependency>