Elemento <dependência> (implantação do ClickOnce)
Identifica a versão do aplicativo a ser instalada e o local do manifesto do aplicativo.
Sintaxe
<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>
Elementos e atributos
O elemento dependency
é obrigatório. Ele não tem atributos. Um manifesto de implantação pode ter vários elementos dependency
.
O elemento dependency
geralmente expressa dependências para o aplicativo principal em assemblies contidos em um aplicativo ClickOnce. Se seu aplicativo Main.exe consumir um assembly chamado DotNetAssembly.dll, esse assembly deverá ser listado em uma seção de dependência. No entanto, a dependência também pode expressar outros tipos de dependências, como dependências em uma versão específica do Common Language Runtime, em um assembly no cache de assembly global (GAC) ou em um objeto COM. Como é uma tecnologia de implantação sem toque, o ClickOnce não pode iniciar o download e a instalação desses tipos de dependências, mas impede que o aplicativo seja executado se uma ou mais das dependências especificadas não existirem.
dependentAssembly
Obrigatórios. Esse elemento contém o elemento assemblyIdentity
. A tabela a seguir mostra os atributos para os quais dependentAssembly
oferece suporte.
Atributo | Descrição |
---|---|
preRequisite |
Opcional. Especifica que esse assembly já deve existir no GAC. Os valores válidos são true e false . Se true , e o assembly especificado não existir no GAC, o aplicativo não será executado. |
visible |
Opcional. Identifica a identidade de aplicativo de nível superior, incluindo suas dependências. Usado internamente pelo ClickOnce para gerenciar o armazenamento e a ativação de aplicativos. |
dependencyType |
Obrigatórios. A relação entre essa dependência e o aplicativo. Os valores válidos são: - install . O componente representa uma instalação separada do aplicativo atual.- preRequisite . O componente é exigido pelo aplicativo atual. |
codebase |
Opcional. O caminho completo para o manifesto do aplicativo |
size |
Opcional. O tamanho do manifesto do aplicativo, em bytes. |
assemblyIdentity
Obrigatórios. Este elemento é um filho do elemento dependentAssembly
. O conteúdo de assemblyIdentity
deve ser o mesmo descrito no manifesto do aplicativo ClickOnce. A tabela a seguir mostra os atributos para o elemento assemblyIdentity
.
Atributo | Descrição |
---|---|
Name |
Obrigatórios. Identifica o nome do aplicativo. |
Version |
Obrigatórios. Especifica o número de versão do aplicativo, no seguinte formato: major.minor.build.revision |
publicKeyToken |
Obrigatórios. Especifica uma cadeia de caracteres hexadecimal de 16 caracteres que representa os últimos 8 bytes do valor de hash SHA-1 da chave pública sob a qual o aplicativo ou assembly está assinado. A chave pública usada para assinar precisa ter 2048 bits ou mais. |
processorArchitecture |
Obrigatórios. Especifica o microprocessador. Os valores válidos são x86 para Windows de 32 bits e IA64 para Windows de 64 bits. |
Language |
Opcional. Identifica os dois códigos de idioma de duas partes do assembly. Por exemplo, EN-US, que significa inglês (EUA). O padrão é neutral . Esse elemento está no namespace asmv2 . |
type |
Opcional. Para compatibilidade com as versões anteriores da tecnologia de instalação lado a lado do Windows. O único valor permitido é win32 . |
hash
O elemento hash
é um filho opcional do elemento file
. O elemento hash
não tem atributos.
O ClickOnce usa um hash algorítmico de todos os arquivos em um aplicativo como uma verificação de segurança, para garantir que nenhum dos arquivos tenha sido alterado após a implantação. Se o elemento hash
não estiver incluído, essa verificação não será executada. Portanto, não é recomendável omitir o elemento hash
.
dsig:Transforms
O elemento dsig:Transforms
é um filho obrigatório do elemento hash
. O elemento dsig:Transforms
não tem atributos.
dsig:Transform
O elemento dsig:Transform
é um filho obrigatório do elemento dsig:Transforms
. A tabela a seguir mostra os atributos do elemento dsig:Transform
.
Atributo | Descrição |
---|---|
Algorithm |
O algoritmo usado para calcular o resumo desse arquivo. Atualmente, o único valor usado pelo ClickOnce é urn:schemas-microsoft-com:HashTransforms.Identity . |
dsig:DigestMethod
O elemento dsig:DigestMethod
é um filho obrigatório do elemento hash
. A tabela a seguir mostra os atributos do elemento dsig:DigestMethod
.
Atributo | Descrição |
---|---|
Algorithm |
O algoritmo usado para calcular o resumo desse arquivo. Atualmente, o único valor usado pelo ClickOnce é http://www.w3.org/2000/09/xmldsig#sha1 . |
dsig:DigestValue
O elemento dsig:DigestValue
é um filho obrigatório do elemento hash
. O elemento dsig:DigestValue
não tem atributos. O valor de texto dele é o hash computado para o arquivo especificado.
Comentários
Os manifestos de implantação normalmente têm um único elemento assemblyIdentity
que identifica o nome e a versão do manifesto do aplicativo.
Exemplo 1
O exemplo de código a seguir mostra um elemento dependency
em um manifesto de implantação do 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>
Exemplo 2
O exemplo de código a seguir especifica uma dependência em um assembly já instalado no GAC.
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="GACAssembly" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
</dependentAssembly>
</dependency>
Exemplo 3
O exemplo de código a seguir especifica uma dependência em uma versão específica do Common Language Runtime.
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50215.0" />
</dependentAssembly>
</dependency>
Exemplo 4
O exemplo de código a seguir especifica uma dependência do sistema operacional.
<dependency>
<dependentOS supportUrl="http://www.microsoft.com" description="Microsoft Windows Operating System">
<osVersionInfo>
<os majorVersion="4" minorVersion="10" />
</osVersionInfo>
</dependentOS>
</dependency>