Ler em inglês

Compartilhar via


File Table

A tabela File contém uma lista completa de arquivos de origem com os vários atributos, ordenados por um identificador exclusivo, não localizado. Os arquivos podem ser armazenados na mídia de origem como arquivos individuais ou compactados em um arquivo de gabinete. Para obter mais informações, confira Como usar gabinetes e fontes compactadas.

A tabela File tem as colunas a seguir.

Coluna Tipo Chave Nullable
Arquivo Identificador S N
Component_ Identificador N N
FileName Filename N N
FileSize DoubleInteger N N
Versão Versão N S
Idioma Idioma N S
Atributos Inteiro N S
Sequência Inteiro N N

 

Colunas

File

Um token não localizado que identifica exclusivamente o arquivo. Esse campo não diferencia maiúsculas de minúsculas. Não atribua identificadores a arquivos diferentes que diferem apenas no uso de maiúsculas e minúsculas.

Component_

A chave externa na primeira coluna da tabela Component. Esse campo identifica o Componente que controla o arquivo.

FileName

O nome do arquivo usado para instalação. O nome pode ser localizado.

Como alguns servidores Web podem diferenciar maiúsculas de minúsculas, FileName deve ter maiúsculas e minúsculas exatamente correspondentes aos arquivos de origem para garantir o suporte de downloads da Internet.

FileSize

O tamanho do arquivo em bytes. Precisa ser um número não negativo.

Version

Esse campo é a cadeia de caracteres de versão de um arquivo com controle de versão. Ele fica em branco para arquivos sem controle de versão. A versão do arquivo inserida nesse campo precisa ser idêntica à versão do arquivo incluída no pacote de instalação.

O campo Version também pode ser definido para conter a chave primária de outro registro na tabela File. Em seguida, o arquivo referenciado determina a lógica de controle de versão desse arquivo. Para obter mais informações, confira Arquivos complementares. Observe que, se esse arquivo for o caminho da chave do respectivo componente, ele não deverá ser especificado como um arquivo complementar.

Language

Uma lista de IDs de idioma decimal separadas por vírgulas.

Os arquivos de fonte não devem ser criados com uma ID de idioma, pois as fontes não têm um recurso de ID de idioma integrado. Portanto, essa coluna deve ser deixada nula para arquivos de fonte.

Attributes

O inteiro que contém sinalizadores de bits que representam atributos de arquivo.

A tabela a seguir mostra a definição do campo de bits.

Constante Hexadecimal Decimal Descrição
msidbFileAttributesReadOnly 0x000001 1 Somente leitura
msidbFileAttributesHidden 0x000002 2 Hidden
msidbFileAttributesSystem 0x000004 4 Sistema
msidbFileAttributesVital 0x000200 512 O arquivo é essencial para a operação precisa do componente ao qual ele pertence. Se ocorrer uma falha na instalação de um arquivo com o atributo msidbFileAttributesVital, a instalação será interrompida e revertida. Nesse caso, o Installer exibe uma caixa de diálogo sem um botão Ignorar. Se esse atributo não for definido e ocorrer uma falha na instalação do arquivo, o Installer exibirá uma caixa de diálogo com um botão Ignorar. Nesse caso, o usuário poderá optar por ignorar a falha para instalar o arquivo e continuar.
msidbFileAttributesChecksum 0x000400 1024 O arquivo contém uma soma de verificação válida. Uma soma de verificação é necessária para reparar um arquivo corrompido.
msidbFileAttributesPatchAdded 0x001000 4096 Esse bit só precisa ser adicionado por um patch e se o arquivo estiver sendo adicionado pelo patch.
msidbFileAttributesNoncompressed 0x002000 8192 O tipo de origem do arquivo é descompactado. Se isso for definido, ignore a propriedade Word Count Summary. Se msidbFileAttributesNoncompressed nem msidbFileAttributesCompressed for definido, o estado de compactação do arquivo será especificado pela propriedade Word Count Summary. Não defina msidbFileAttributesNoncompressed e msidbFileAttributesCompressed juntos.
msidbFileAttributesCompressed 0x004000 16384 O tipo de origem do arquivo é compactado. Se isso for definido, ignore a propriedade Word Count Summary. Se msidbFileAttributesNoncompressed nem msidbFileAttributesCompressed for definido, o estado de compactação do arquivo será especificado pela propriedade Word Count Summary. Não defina msidbFileAttributesNoncompressed e msidbFileAttributesCompressed juntos.

 

Se o bit msidbFileAttributesVital na coluna Attributes for definido e se o componente ao qual o arquivo pertence estiver selecionado para instalação, o instalador precisará ter a capacidade de instalar esse arquivo para que a instalação seja concluída com sucesso. Se o instalador não puder instalar o arquivo por algum motivo (por exemplo, se o arquivo de origem não puder ser localizado na imagem de origem), uma caixa de diálogo de erro será exibida com as opções "Repetir" ou "Cancelar". Para um arquivo que não tem o msidbFileAttributesVital definido, as opções no caso de um erro de instalação serão "Anular", "Repetir" e "Ignorar" (ou seja, o usuário terá a opção de concluir a instalação com sucesso sem instalar esse arquivo).

O bit msidbFileAttributesChecksum na coluna Attributes deve ser definido para cada arquivo executável na instalação que tenha uma soma de verificação válida armazenada no cabeçalho do arquivo PE. Somente os arquivos que têm esse bit definido serão verificados quanto à soma de verificação válida durante uma reinstalação. Para obter mais informações, confira REINSTALLMODE.

Sequence

Posição de sequência desse arquivo nas imagens de mídia. Essa ordem precisará corresponder à ordem dos arquivos no gabinete se os arquivos forem compactados. Os inteiros desse campo precisam ser iguais ou superiores a 1.

Os números de sequência da coluna Sequence são usados para especificar a ordem de instalação dos arquivos e a mídia de origem na qual o arquivo está localizado (em conjunto com a tabela Media). Por exemplo, suponha que um arquivo tenha o número de sequência 92. Para determinar o disco de origem no qual esse arquivo se encontra, procure na tabela Media a entrada com o menor valor de Last Sequence maior que 92.

Embora os arquivos compactados recebam números de sequência internos nos gabinetes, esses números absolutos não precisam corresponder aos números de sequência da tabela File. No entanto, é importante que a sequência de arquivos na tabela File seja idêntica à sequência dos arquivos nos gabinetes.

Para os arquivos que não são compactados, os números de sequência não precisam ser exclusivos. Por exemplo, se todos os arquivos estiverem descompactados e todos estiverem localizados em um disco, você poderá fornecer a todos os arquivos o mesmo número de sequência.

O limite máximo é de 32.767 arquivos. Para criar um pacote do Windows Installer com mais arquivos, confira Como criar um pacote grande.

Comentários

As ações InstallFiles e RemoveFiles nas tabelas de sequência processam as informações dessa tabela. Para obter informações sobre como usar tabelas de sequência, confira Como usar uma tabela de sequência.

A tabela é inicialmente gerada com base na lista de arquivos, mas se a compactação de gabinete for usada, a tabela será regenerada da saída do mecanismo de compactação. Para obter mais informações, confira Arquivos de gabinete.

Para mover um arquivo existente no computador do usuário durante a instalação, use a ação MoveFiles e a tabela MoveFile. Para instalar um arquivo em vários locais, use a ação DuplicateFiles e a tabela DuplicateFile.

A tabela a seguir resume as possíveis combinações de valores das colunas Version e Language. Para obter mais informações, confira Regras de controle de versão de arquivo.

Versão Linguagem Descrição
1.2.3.4 1033 A versão e o idioma.
1.2.3.4 (Null) A versão, mas nenhum idioma.
1.2.3.4 0 A versão e o idioma são neutros.
Testdb (Null) O arquivo complementar sem nenhum idioma associado.
Testdb 1033 O arquivo complementar e o idioma.
(Null) 1033 Nenhuma versão, mas com um idioma associado (ou seja, typelib, helpfile).

 

Para obter mais informações, confira Tabela MsiLockPermissionsEx e Tabela LockPermissions.

Validação

ICE02
ICE03
ICE04
ICE06
ICE18
ICE30
ICE32
ICE35
ICE39
ICE42
ICE45
ICE50
ICE51
ICE54
ICE55
ICE57
ICE59
ICE60
ICE67
ICE69
ICE76
ICE91