Ordinamento dei numeri di sequenza dei file in un cabinet, una tabella dei file e una tabella dei supporti
La tabella file contiene un elenco completo di tutti i file di origine per l'installazione. I file possono essere archiviati nel supporto di origine come singoli file o compressi all'interno di file CAB . I numeri di sequenza nella colonna Sequenza della tabella File, insieme al campo LastSequence della tabella Media, specificano sia l'ordine di installazione per i file che il supporto di origine su cui si trova ogni file. Ogni record nella tabella Media identifica il disco di origine contenente tutti i file con numeri di sequenza minori o uguali al valore visualizzato nella colonna LastSequence e maggiore del valore LastSequence del disco precedente.
Si supponga, ad esempio, che un file abbia un numero di sequenza di 92 immesso nella colonna Sequenza della tabella File. Per determinare il disco di origine in cui si trova questo file, il programma di installazione controlla il record della tabella Media per la voce con il valore LastSequence più piccolo maggiore di 92. La colonna DiskId è la chiave primaria per la tabella Media e questo campo identifica in modo univoco il disco nella tabella.
Il limite massimo per il numero di file che possono essere elencati nella tabella File di un pacchetto di Windows Installer è di 32767 file. Per creare un pacchetto di Windows Installer contenente altri file, vedere Creazione di un pacchetto di grandi dimensioni.
Gli autori di pacchetti possono ridurre le dimensioni dei pacchetti di installazione comprimendo i file di origine e includendoli nei file CAB. L'immagine del file di origine può essere compressa, non compressa o una combinazione di entrambi i tipi. Per altre informazioni sulle origini compresse e non compresse, vedere Origini compresse e non compresse. I file di origine compressi devono essere archiviati all'interno di un file CAB. I file compressi all'interno di un cabinet hanno numeri di sequenza interni propri. I valori di questi numeri di sequenza interni non devono corrispondere al valore dei numeri di sequenza all'interno della tabella File. Tuttavia, la sequenza dei file specificati nella tabella File deve essere identica alla sequenza effettiva dei file all'interno degli archivi. I numeri di sequenza dei file non compressi non devono essere univoci. Ad esempio, se tutti i file non sono compressi e risiedono su un disco, tutti i file possono avere lo stesso numero di sequenza nella tabella File.
La tabella Media descrive il set di dischi che costituiscono il supporto di origine per l'installazione. La prima voce nella tabella Media deve avere sempre un valore 1 nel campo DiskId. I file devono essere organizzati nel supporto di origine in modo che tutti i file sul disco 1 abbiano numeri di sequenza di tabella file inferiori ai numeri di sequenza dei file sul disco 2 e tutti i numeri di sequenza sul disco 2 devono essere inferiori rispetto al disco 3 e così via. Questo requisito si applica anche a un disco che contiene origini compresse e non compresse. Ad esempio, se le origini multimediali per l'installazione si trovano su due dischi di origine e se il disco 1 contiene sia file non compressi che un file CAB, entrambi i file non compressi e i file nel file cab devono avere numeri di sequenza inferiori al numero di sequenza più piccolo di qualsiasi file archiviato su disco 2. Se tutti i file del disco 1 vengono compressi in un file cabinet, è possibile creare la tabella dei supporti, come illustrato nella tabella seguente.
Tabella Media (parziale)
DiskId | UltimaSequenza | DiskPrompt | Armadietto | Etichetta del Volume |
---|---|---|---|---|
1 | 5 | 1 | mycab.cab | Disco 1 |
2 | 10 | 2 | Disco 2 |
Se alcuni file sul disco 1 vengono compressi in un cabinet e alcuni non sono compressi, è possibile creare la tabella Media come indicato di seguito.
Tabella Multimediale (parziale)
DiskId | UltimaSequenza | DiskPrompt | Armadietto | Etichetta del Volume |
---|---|---|---|---|
1 | 5 | 1 | Disco 1 | |
2 | 10 | 1 | mycab.cab | Disco 1 |
3 | 15 | 2 | Disco 2 |
Si noti che la redazione nella tabella media seguente non è corretta perché specifica alcuni numeri di sequenza di file nel disco 2 più piccoli di alcuni file all'interno del cabinet sul disco 1.
DiskId | Ultima Sequenza | DiskPrompt | Armadietto | VolumeLabel |
---|---|---|---|---|
1 | 5 | 1 | Disco 1 | |
2 | 10 | 2 | Disco 2 | |
3 | 15 | 1 | mycab.cab | Disco 1 |
I file di grandi dimensioni possono essere suddivisi tra due o più file cabinet. Non possono essere presenti più di 15 file in un file CAB che si estende al file CAB successivo. Ad esempio, se si dispone di tre file CAB, il primo cab può avere 15 file che si estendono al secondo file CAB e il secondo cabinet può avere 15 file che si estendono fino al terzo file cab. Quando aggiungi un record alla tabella File per un file con più cabinet, usa la prima parte del nome del file per specificare il numero di sequenza del file inserito nella colonna Sequenza.
Le tabelle File e Supporti possono essere create come segue se sono presenti tre file, due armadi e due dischi. In questo esempio, c1.cab risiede su disk1 e c2.cab risiede su disk2. Il documento f2 si estende su entrambi gli armadi. L'archivio c1.cab contiene l'intero file f1 e la prima parte del file f2. Il c2.cab cabinet contiene la seconda parte di f2 e l'intero file f3.
Media Table (parziale)
DiskId | UltimaSequenza | DiskPrompt | Armadietto | VolumeLabel |
---|---|---|---|---|
1 | 5 | 1 | c1.cab | Disco 1 |
2 | 10 | 2 | c2.cab | Disco 2 |
Tabella dei file (parziale)
File | Sequenza |
---|---|
f1 | 1 |
f2 | 2 |
f3 | 6 |