<dependency> – element (nasazení ClickOnce)
Identifikuje verzi aplikace, která se má nainstalovat, a umístění manifestu aplikace.
Syntaxe
<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>
Prvky a atributy
Prvek dependency
je povinný. Nemá žádné atributy. Manifest nasazení může mít více dependency
prvků.
Element dependency
obvykle vyjadřuje závislosti pro hlavní aplikaci na sestaveních obsažených v aplikaci ClickOnce. Pokud aplikace Main.exe využívá sestavení s názvem DotNetAssembly.dll, pak musí být toto sestavení uvedeno v části závislostí. Závislost však může také vyjádřit jiné typy závislostí, jako jsou závislosti na konkrétní verzi modulu CLR (Common Language Runtime), sestavení v globální mezipaměti sestavení (GAC) nebo objektu COM. Vzhledem k tomu, že se jedná o technologii bez dotykového nasazení, technologie ClickOnce nemůže zahájit stahování a instalaci těchto typů závislostí, ale brání spuštění aplikace, pokud neexistuje jedna nebo více zadaných závislostí.
dependentAssembly
Povinný: Tento prvek obsahuje assemblyIdentity
prvek. Následující tabulka uvádí atributy, které dependentAssembly
podporuje.
Atribut | Popis |
---|---|
preRequisite |
Nepovinné. Určuje, že toto sestavení by již mělo existovat v GAC. Platné hodnoty jsou true a false . Pokud true a zadané sestavení v GAC neexistuje, aplikace se nepodaří spustit. |
visible |
Nepovinné. Identifikuje identitu aplikace nejvyšší úrovně, včetně jejích závislostí. ClickOnce interně používá ke správě úložiště a aktivace aplikací. |
dependencyType |
Povinný: Vztah mezi touto závislostí a aplikací. Platné hodnoty jsou: - install . Komponenta představuje samostatnou instalaci od aktuální aplikace.- preRequisite . Aktuální aplikace vyžaduje komponentu. |
codebase |
Nepovinné. Úplná cesta k manifestu aplikace. |
size |
Nepovinné. Velikost manifestu aplikace v bajtech |
Assemblyidentity
Povinný: Tento prvek je podřízený prvek dependentAssembly
. Obsah assemblyIdentity
musí být stejný, jak je popsáno v manifestu aplikace ClickOnce. Následující tabulka ukazuje atributy elementu assemblyIdentity
.
Atribut | Popis |
---|---|
Name |
Požadováno. Určuje název aplikace. |
Version |
Povinný: Určuje číslo verze aplikace v následujícím formátu: major.minor.build.revision |
publicKeyToken |
Povinný: Určuje šestnáctkový řetězec 16 znaků, který představuje posledních 8 bajtů hodnoty hash SHA-1 veřejného klíče, pod kterým je aplikace nebo sestavení podepsána. Veřejný klíč použitý k podepsání musí být 2048 bitů nebo vyšší. |
processorArchitecture |
Povinný: Určuje mikroprocesor. Platné hodnoty platí x86 pro 32bitovou verzi Windows a IA64 pro 64bitovou verzi Windows. |
Language |
Nepovinné. Identifikuje kódy dvoudílného jazyka sestavení. Například EN-US, což je zkratka pro angličtinu (USA). Výchozí hodnota je neutral . Tento prvek je v asmv2 oboru názvů. |
type |
Nepovinné. Pro zpětnou kompatibilitu s technologií instalace systému Windows vedle sebe. Jediná povolená hodnota je win32 . |
hash
Prvek hash
je volitelná podřízená položka elementu file
. Element hash
nemá žádné atributy.
ClickOnce používá algoritmus hash všech souborů v aplikaci jako bezpečnostní kontrolu, aby se zajistilo, že se po nasazení žádné soubory nezměnily. hash
Pokud prvek není součástí, nebude tato kontrola provedena. Proto se nedoporučuje vynechat hash
prvek.
dsig:Transforms
Prvek dsig:Transforms
je povinný podřízený prvek hash
. Element dsig:Transforms
nemá žádné atributy.
dsig:Transform
Prvek dsig:Transform
je povinný podřízený prvek dsig:Transforms
. Následující tabulka ukazuje atributy elementu dsig:Transform
.
Atribut | Popis |
---|---|
Algorithm |
Algoritmus použitý k výpočtu hodnoty hash pro tento soubor. V současné době je jediná hodnota používaná technologií ClickOnce urn:schemas-microsoft-com:HashTransforms.Identity . |
dsig:DigestMethod
Prvek dsig:DigestMethod
je povinný podřízený prvek hash
. Následující tabulka ukazuje atributy elementu dsig:DigestMethod
.
Atribut | Popis |
---|---|
Algorithm |
Algoritmus použitý k výpočtu hodnoty hash pro tento soubor. V současné době je jediná hodnota používaná technologií ClickOnce http://www.w3.org/2000/09/xmldsig#sha1 . |
dsig:DigestValue
Prvek dsig:DigestValue
je povinný podřízený prvek hash
. Element dsig:DigestValue
nemá žádné atributy. Jeho textová hodnota je vypočítaná hodnota hash pro zadaný soubor.
Poznámky
Manifesty nasazení obvykle mají jeden assemblyIdentity
prvek, který identifikuje název a verzi manifestu aplikace.
Příklad 1
Následující příklad kódu ukazuje dependency
prvek v manifestu nasazení ClickOnce.
<!-- 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>
Příklad 2
Následující příklad kódu určuje závislost na sestavení, které je již nainstalováno v GAC.
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="GACAssembly" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
</dependentAssembly>
</dependency>
Příklad 3
Následující příklad kódu určuje závislost na konkrétní verzi modulu CLR (Common Language Runtime).
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50215.0" />
</dependentAssembly>
</dependency>
Příklad 4
Následující příklad kódu určuje závislost operačního systému.
<dependency>
<dependentOS supportUrl="http://www.microsoft.com" description="Microsoft Windows Operating System">
<osVersionInfo>
<os majorVersion="4" minorVersion="10" />
</osVersionInfo>
</dependentOS>
</dependency>