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