Elemento <file> (aplicativo ClickOnce)

Identifica todos os arquivos não desmontados baixados e usados pelo aplicativo.

Sintaxe

<file
    name
    size
    group
    optional
    writeableType
>
    <typelib
        tlbid
        version
        helpdir
        resourceid
        flags
    />
    <comClass
        clsid
        description
        threadingModel
        tlbid
        progid
        miscStatus
        miscStatusIcon
        miscStatusContent
        miscStatusDocPrint
        miscStatusThumbnail
    />
    <comInterfaceExternalProxyStub
        iid
        baseInterface
        numMethods
        name
        tlbid
        proxyStubClass32
    />
    <comInterfaceProxyStub
        iid
        baseInterface
        numMethods
        name
        tlbid
        proxyStubClass32
    />
    <windowClass
        versioned
    />
</file>

Elementos e atributos

O elemento file é opcional. O elemento tem os atributos a seguir.

Atributo Descrição
name Obrigatórios. Identifica o nome do arquivo.
size Obrigatórios. Especifica o tamanho do arquivo em bytes.
group Opcional, se o atributo optional não for especificado ou definido como false; obrigatório se optional for true. O nome do grupo ao qual este arquivo pertence. O nome pode ser qualquer valor de cadeia de caracteres Unicode escolhido pelo desenvolvedor e é usado para baixar arquivos sob demanda com a classe ApplicationDeployment.
optional Opcional. Especifica se esse arquivo precisa ser baixado quando o aplicativo é executado pela primeira vez ou se o arquivo deve residir apenas no servidor até que o aplicativo o solicite sob demanda. Se for false ou indefinido, o arquivo será baixado quando o aplicativo for executado pela primeira vez ou instalado. Se for true, um group precisará ser especificado para que o manifesto do aplicativo seja válido. optional não poderá ser true se writeableType for especificado com o valor applicationData.
writeableType Opcional. Especifica que esse arquivo é um arquivo de dados. Atualmente, o único valor válido é applicationData.

typelib

O elemento typelib é um filho opcional do elemento file. O elemento descreve a biblioteca de tipos que pertence ao componente COM. O elemento tem os atributos a seguir.

Atributo Descrição
tlbid Obrigatórios. O GUID atribuído à biblioteca de tipos.
version Obrigatórios. O número de versão da biblioteca de tipos.
helpdir Obrigatórios. O diretório que contém os arquivos de Ajuda para o componente. Pode ter comprimento zero.
resourceid Opcional. A representação de cadeia de caracteres hexadecimal do LCID (identificador de localidade). São de um a quatro dígitos hexadecimais sem um prefixo 0x e sem zeros à esquerda. O LCID pode ter um identificador de sublinguagens de programação neutro.
flags Opcional. A representação de cadeia de caracteres dos sinalizadores de biblioteca de tipos para esta biblioteca de tipos. Especificamente, ele deve ser um entre "RESTRICTED", "CONTROL", "HIDDEN" e "HASDISKIMAGE".

comClass

O elemento comClass é um filho opcional do elemento file, mas é exigido se o aplicativo ClickOnce contiver um componente COM que pretende implantar usando COM sem registro. O elemento tem os atributos a seguir.

Atributo Descrição
clsid Obrigatórios. A ID de classe do componente COM expressa como um GUID.
description Opcional. O nome da classe.
threadingModel Opcional. O modelo de threading usado por classes COM no processo. Se essa propriedade for nula, nenhum modelo de threading será usado. O componente é criado no thread principal do cliente e o marshaling de chamadas de outros threads é realizado para esse thread. A seguinte lista mostra os valores válidos:

Apartment, Free, Both e Neutral.
tlbid Opcional. Obtém o GUID para a biblioteca de tipos para este componente COM.
progid Opcional. Identificador programático dependente de versão associado ao componente COM. O formato de um ProgID é <vendor>.<component>.<version>.
miscStatus Opcional. Duplica no manifesto do assembly as informações fornecidas pela chave do Registro MiscStatus. Se os valores dos atributos miscStatusIcon, miscStatusContent, miscStatusDocprint ou miscStatusThumbnail não forem encontrados, o valor padrão correspondente listado em miscStatus será usado para os atributos ausentes. O valor pode ser uma lista delimitada por vírgulas dos valores de atributo da tabela a seguir. Você poderá usar esse atributo se a classe COM for uma classe OCX que exija valores de chave do Registro MiscStatus.
miscStatusIcon Opcional. Duplica no manifesto do assembly as informações fornecidas por DVASPECT_ICON. Ele pode fornecer um ícone de um objeto. O valor pode ser uma lista delimitada por vírgulas dos valores de atributo da tabela a seguir. Você poderá usar esse atributo se a classe COM for uma classe OCX que exija valores de chave do Registro Miscstatus.
miscStatusContent Opcional. Duplica no manifesto do assembly as informações fornecidas por DVASPECT_CONTENT. Ele pode fornecer um documento composto que pode ser exibido para uma tela ou impressora. O valor pode ser uma lista delimitada por vírgulas dos valores de atributo da tabela a seguir. Você poderá usar esse atributo se a classe COM for uma classe OCX que exija valores de chave do Registro MiscStatus.
miscStatusDocPrint Opcional. Duplica no manifesto do assembly as informações fornecidas por DVASPECT_DOCPRINT. Ele pode fornecer uma representação de objeto exibível na tela como se fosse impressa em uma impressora. O valor pode ser uma lista delimitada por vírgulas dos valores de atributo da tabela a seguir. Você poderá usar esse atributo se a classe COM for uma classe OCX que exija valores de chave do Registro MiscStatus.
miscStatusThumbnail Opcional. Duplicatas em um assembly manifestam as informações fornecidas por DVASPECT_THUMBNAIL. Ele pode fornecer uma miniatura de um objeto que pode ser exibido em uma ferramenta de navegação. O valor pode ser uma lista delimitada por vírgulas dos valores de atributo da tabela a seguir. Você poderá usar esse atributo se a classe COM for uma classe OCX que exija valores de chave do Registro MiscStatus.

comInterfaceExternalProxyStub

O elemento comInterfaceExternalProxyStub é um filho opcional do elemento file, mas pode ser exigido se o aplicativo ClickOnce contiver um componente COM que pretende implantar usando COM sem registro. O elemento contém os atributos a seguir.

Atributo Descrição
iid Obrigatórios. A IID (ID da interface) que é atendida por esse proxy. A IID precisa ser cercada por chaves.
baseInterface Opcional. A IID da interface da qual a interface referenciada por iid é derivada.
numMethods Opcional. O número de métodos implementados pela interface.
name Opcional. O nome da interface como ela aparecerá no código.
tlbid Opcional. A biblioteca de tipos que contém a descrição da interface especificada pelo atributo iid.
proxyStubClass32 Opcional. Mapeia uma IID para uma CLSID em DLLs de proxy de 32 bits.

comInterfaceProxyStub

O elemento comInterfaceProxyStub é um filho opcional do elemento file, mas pode ser exigido se o aplicativo ClickOnce contiver um componente COM que pretende implantar usando COM sem registro. O elemento contém os atributos a seguir.

Atributo Descrição
iid Obrigatórios. A IID (ID da interface) que é atendida por esse proxy. A IID precisa ser cercada por chaves.
baseInterface Opcional. A IID da interface da qual a interface referenciada por iid é derivada.
numMethods Opcional. O número de métodos implementados pela interface.
Name Opcional. O nome da interface como ela aparecerá no código.
Tlbid Opcional. A biblioteca de tipos que contém a descrição da interface especificada pelo atributo iid.
proxyStubClass32 Opcional. Mapeia uma IID para uma CLSID em DLLs de proxy de 32 bits.
threadingModel Opcional. Opcional. O modelo de threading usado por classes COM no processo. Se essa propriedade for nula, nenhum modelo de threading será usado. O componente é criado no thread principal do cliente e o marshaling de chamadas de outros threads é realizado para esse thread. A seguinte lista mostra os valores válidos:

Apartment, Free, Both e Neutral.

windowClass

O elemento windowClass é um filho opcional do elemento file, mas pode ser exigido se o aplicativo ClickOnce contiver um componente COM que pretende implantar usando COM sem registro. O elemento refere-se a uma classe de janela definida pelo componente COM que precisa ter uma versão aplicada a ela. O elemento contém os atributos a seguir.

Atributo Descrição
versioned Opcional. Controla se o nome de classe de janela interno que é usado no registro contém a versão do assembly que contém a classe de janela. O valor desse atributo pode ser yes ou no. O padrão é yes. O valor no só deverá ser usado se a mesma classe de janela for definida por um componente lado a lado e um componente não lado a lado equivalente e você quiser tratá-los como a mesma classe de janela. Observe que as regras usuais sobre o registro de classe de janela se aplicam. Somente o primeiro componente que registra a classe de janela poderá registrá-la, pois ela não tem uma versão aplicada a ela.

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.

Se um manifesto contiver um arquivo que não tenha hash, esse manifesto não poderá ser assinado digitalmente, pois os usuários não poderão verificar o conteúdo de um arquivo sem 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. O elemento dsig:Transform tem o atributo a seguir.

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. O elemento dsig:DigestMethod tem o atributo a seguir.

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

Esse elemento identifica todos os arquivos não remontados que compõem o aplicativo e, em particular, os valores de hash para verificação de arquivo. Esse elemento também pode incluir dados de isolamento COM (Component Object Model) associados ao arquivo. Se um arquivo for alterado, o arquivo de manifesto do aplicativo também precisará ser atualizado para refletir a alteração.

Exemplo

O exemplo de código a seguir ilustra elementos file em um manifesto do aplicativo para um aplicativo implantado usando ClickOnce.

<file name="Icon.ico" size="9216">
  <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>lVoj+Rh6RQ/HPNLOdayQah5McrI=</dsig:DigestValue>
  </hash>
</file>

Confira também