<elemento dependency> (distribuzione ClickOnce)
Identifica la versione dell'applicazione da installare e il percorso del manifesto dell'applicazione.
<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>
L'elemento dependency
è obbligatorio. Non ha attributi. Un manifesto della distribuzione può avere più dependency
elementi.
L'elemento dependency
esprime in genere le dipendenze per l'applicazione principale negli assembly contenuti in un'applicazione ClickOnce. Se l'applicazione Main.exe utilizza un assembly denominato DotNetAssembly.dll, tale assembly deve essere elencato in una sezione delle dipendenze. Le dipendenze, tuttavia, possono anche esprimere altri tipi di dipendenze, ad esempio dipendenze da una versione specifica di Common Language Runtime, in un assembly nella Global Assembly Cache (GAC) o in un oggetto COM. Poiché si tratta di una tecnologia di distribuzione senza tocco, ClickOnce non può avviare il download e l'installazione di questi tipi di dipendenze, ma impedisce l'esecuzione dell'applicazione se una o più delle dipendenze specificate non esistono.
Obbligatorio. Questo elemento contiene l'elemento assemblyIdentity
. Nella tabella seguente vengono illustrati gli attributi dependentAssembly
supportati.
Attributo | Descrizione |
---|---|
preRequisite |
Facoltativo. Specifica che questo assembly deve esistere già nella GAC. I valori validi sono true e false . Se true e l'assembly specificato non esiste nella GAC, l'applicazione non viene eseguita. |
visible |
Facoltativo. Identifica l'identità dell'applicazione di primo livello, incluse le relative dipendenze. Usato internamente da ClickOnce per gestire l'archiviazione e l'attivazione dell'applicazione. |
dependencyType |
Obbligatorio. Relazione tra questa dipendenza e l'applicazione. I valori validi sono: - install . Il componente rappresenta un'installazione separata dall'applicazione corrente.- preRequisite . Il componente è richiesto dall'applicazione corrente. |
codebase |
Facoltativo. Percorso completo del manifesto dell'applicazione. |
size |
Facoltativo. Dimensioni in byte del manifesto dell'applicazione. |
Obbligatorio. Questo elemento è figlio dell'elemento dependentAssembly
. Il contenuto di deve essere uguale a quello descritto nel manifesto dell'applicazione assemblyIdentity
ClickOnce. Nella tabella seguente vengono illustrati gli attributi dell'elemento assemblyIdentity
.
Attributo | Descrizione |
---|---|
Name |
Obbligatorio. Identifica il nome dell'applicazione. |
Version |
Obbligatorio. Specifica il numero di versione dell'applicazione, nel formato seguente: major.minor.build.revision |
publicKeyToken |
Obbligatorio. Specifica una stringa esadecimale di 16 caratteri che rappresenta gli ultimi 8 byte dell'hash SHA-1 della chiave pubblica in cui è firmata l'applicazione o l'assembly. La chiave pubblica usata per firmare deve essere di 2048 bit o superiore. |
processorArchitecture |
Obbligatorio. Specifica il microprocessore. I valori validi sono x86 per Windows a 32 bit e IA64 per Windows a 64 bit. |
Language |
Facoltativo. Identifica i codici della lingua in due parti dell'assembly. Ad esempio, EN-US, che è l'acronimo di Inglese (Stati Uniti). Il valore predefinito è neutral . Questo elemento si trova nello spazio dei asmv2 nomi . |
type |
Facoltativo. Per la compatibilità con le versioni precedenti con la tecnologia di installazione side-by-side di Windows. L'unico valore consentito è win32 . |
L'elemento hash
è un elemento figlio facoltativo dell'elemento file
. L'elemento hash
non ha attributi.
ClickOnce usa un hash algoritmico di tutti i file in un'applicazione come controllo di sicurezza per assicurarsi che nessuno dei file sia stato modificato dopo la distribuzione. Se l'elemento hash
non è incluso, questo controllo non verrà eseguito. Pertanto, l'omissione dell'elemento hash
non è consigliata.
L'elemento dsig:Transforms
è un elemento figlio obbligatorio dell'elemento hash
. L'elemento dsig:Transforms
non ha attributi.
L'elemento dsig:Transform
è un elemento figlio obbligatorio dell'elemento dsig:Transforms
. Nella tabella seguente vengono illustrati gli attributi dell'elemento dsig:Transform
.
Attributo | Descrizione |
---|---|
Algorithm |
Algoritmo utilizzato per calcolare il digest per questo file. Attualmente l'unico valore usato da ClickOnce è urn:schemas-microsoft-com:HashTransforms.Identity . |
L'elemento dsig:DigestMethod
è un elemento figlio obbligatorio dell'elemento hash
. Nella tabella seguente vengono illustrati gli attributi dell'elemento dsig:DigestMethod
.
Attributo | Descrizione |
---|---|
Algorithm |
Algoritmo utilizzato per calcolare il digest per questo file. Attualmente l'unico valore usato da ClickOnce è http://www.w3.org/2000/09/xmldsig#sha1 . |
L'elemento dsig:DigestValue
è un elemento figlio obbligatorio dell'elemento hash
. L'elemento dsig:DigestValue
non ha attributi. Il valore di testo è l'hash calcolato per il file specificato.
I manifesti di distribuzione in genere hanno un singolo assemblyIdentity
elemento che identifica il nome e la versione del manifesto dell'applicazione.
L'esempio di codice seguente mostra un dependency
elemento in un manifesto della distribuzione 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>
Nell'esempio di codice seguente viene specificata una dipendenza da un assembly già installato nella GAC.
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="GACAssembly" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
</dependentAssembly>
</dependency>
Nell'esempio di codice seguente viene specificata una dipendenza da una versione specifica di Common Language Runtime.
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50215.0" />
</dependentAssembly>
</dependency>
Nell'esempio di codice seguente viene specificata una dipendenza del sistema operativo.
<dependency>
<dependentOS supportUrl="http://www.microsoft.com" description="Microsoft Windows Operating System">
<osVersionInfo>
<os majorVersion="4" minorVersion="10" />
</osVersionInfo>
</dependentOS>
</dependency>