Partilhar via


Ordenando números de sequência de arquivos em um gabinete, tabela de arquivos e tabela de mídia

A tabela File contém uma lista completa de todos os arquivos de origem para a instalação. Os arquivos podem ser armazenados na mídia de origem como arquivos individuais ou compactados dentro de ficheiros de gabinete. Os números de sequência na coluna Sequência da tabela Arquivo, juntamente com o campo LastSequence da tabela Media, especificam a ordem de instalação dos arquivos e a mídia de origem na qual cada arquivo está localizado. Cada registro na tabela Media identifica o disco de origem que contém todos os arquivos com números de sequência menores ou iguais ao valor mostrado na coluna LastSequence e maior que o valor LastSequence do disco anterior.

Por exemplo, suponha que um arquivo tenha um número de sequência de 92 inserido na coluna Sequência da tabela Arquivo. Para determinar em qual disco de origem este ficheiro reside, o instalador verifica o registo da tabela Media para encontrar a entrada com o menor valor de LastSequence que é maior que 92. A coluna DiskId é a chave primária para a tabela Media e este campo identifica exclusivamente o disco na tabela.

O limite máximo do número de arquivos que podem ser listados na tabela Arquivo de um pacote do Windows Installer é de 32767 arquivos. Para criar um pacote do Windows Installer contendo mais arquivos, consulte Criação de um pacote grande.

Os autores de pacotes podem reduzir o tamanho de seus pacotes de instalação compactando os arquivos de origem e incluindo-os em arquivos de gabinete. A imagem do arquivo de origem pode ser compactada, descompactada ou uma mistura de ambos os tipos. Para obter mais informações sobre fontes compactadas e não compactadas, consulte Fontes compactadas e não compactadas. Os arquivos de origem compactados devem ser armazenados dentro de um arquivo de gabinete. Os arquivos compactados dentro de um gabinete têm seus próprios números de sequência interna. Os valores desses números de sequência internos não precisam corresponder ao valor dos números de sequência na tabela de Ficheiros. No entanto, a sequência dos arquivos especificados na tabela File deve ser idêntica à sequência real dos arquivos dentro dos gabinetes. Os números de sequência de arquivos não compactados não precisam ser exclusivos. Por exemplo, se todos os arquivos forem descompactados e residirem em um disco, todos os arquivos poderão ter o mesmo número de sequência na tabela Arquivo.

A tabela Media descreve o conjunto de discos que compõem a mídia de origem para a instalação. A primeira entrada na tabela Media deve ter sempre um 1 no campo DiskId. Os arquivos devem ser organizados na mídia de origem de modo que todos os arquivos no disco 1 tenham números de sequência da tabela de arquivos que são menores do que os números de sequência dos arquivos no disco 2, e todos os números de sequência no disco 2 devem ser menores do que no disco 3, e assim por diante. Este requisito também se aplica a um disco que contenha fontes comprimidas e não comprimidas. Por exemplo, se as fontes de mídia para a instalação estiverem localizadas em dois discos de origem e se o disco 1 contiver arquivos não compactados e um arquivo de gabinete, ambos os arquivos não compactados e os arquivos no gabinete deverão ter números de sequência menores do que o menor número de sequência de arquivos de qualquer arquivo armazenado no disco 2. Se todos os arquivos no disco 1 forem compactados em um arquivo de gabinete, a tabela Mídia poderá ser criada conforme mostrado na tabela a seguir.

Tabela de Mídia (parcial)

DiskId ÚltimaSequência DiskPrompt Gabinete VolumeLabel
1 5 1 mycab.cab Disco 1
2 10 2 Disco 2

 

Se alguns arquivos no disco 1 forem compactados em um gabinete e alguns forem descompactados, a tabela Mídia poderá ser criada da seguinte maneira.

Mesa de Media (parcial)

DiskId ÚltimaSequência DiskPrompt Gabinete VolumeLabel
1 5 1 Disco 1
2 10 1 mycab.cab Disco 1
3 15 2 Disco 2

 

Observe que a criação na tabela de mídia a seguir está incorreta porque especifica alguns números de sequência de arquivo no disco 2 que são menores do que alguns arquivos dentro do gabinete no disco 1.

Tabela de Mídia

DiskId ÚltimaSequência DiskPrompt Gabinete VolumeLabel
1 5 1 Disco 1
2 10 2 Disco 2
3 15 1 mycab.cab Disco 1

 

Arquivos grandes podem ser divididos entre dois ou mais arquivos de gabinete. Não pode haver mais de 15 arquivos em qualquer arquivo de gabinete que se estende até o próximo arquivo de gabinete. Por exemplo, se você tiver três arquivos de gabinete, o primeiro gabinete pode ter 15 arquivos que abrangem o segundo arquivo de gabinete, e o segundo gabinete pode ter 15 arquivos que abrangem o terceiro arquivo de gabinete. Quando se adiciona um registo à tabela Arquivo para um ficheiro em vários gabinetes, use a primeira parte do ficheiro para especificar o número de sequência do ficheiro inserido na coluna Sequência.

As tabelas Arquivo e Mídia podem ser criadas da seguinte forma se houver três arquivos, dois gabinetes e dois discos. Neste exemplo, c1.cab reside no disco1 e c2.cab reside no disco2. O arquivo f2 abrange ambos os gabinetes. O gabinete c1.cab contém todo o arquivo f1 e a primeira parte do arquivo f2. O gabinete c2.cab contém a segunda parte do ficheiro f2 e todo o ficheiro f3.

Media Table (parcial)

DiskId LastSequence DiskPrompt Gabinete VolumeLabel
1 5 1 c1.cab Disco 1
2 10 2 c2.cab Disco 2

 

Tabela de Ficheiros (parcial)

Ficheiro Sequência
F1 1
f2 2
f3 6