Classement des numéros de séquence de fichiers dans une armoire, une table de fichiers et une table multimédia

La table File contient une liste complète de tous les fichiers sources pour l’installation. Les fichiers peuvent être stockés sur le média source sous forme de fichiers individuels ou compressés dans des fichiers d’armoire. Les numéros de séquence dans la colonne Séquence de la table Fichier, ainsi que le champ LastSequence de la table Media, spécifient à la fois l’ordre d’installation des fichiers et le média source sur lequel se trouve chaque fichier. Chaque enregistrement de la table Media identifie le disque source contenant tous les fichiers dont les numéros de séquence sont inférieurs ou égaux à la valeur indiquée dans la colonne LastSequence et supérieur à la valeur LastSequence du disque précédent.

Par exemple, supposons qu’un fichier a un numéro de séquence 92 entré dans la colonne Séquence de la table Fichier. Pour déterminer sur quel disque source réside ce fichier, le programme d’installation vérifie l’enregistrement de la table Media pour l’entrée avec la plus petite valeur LastSequence supérieure à 92. La colonne DiskId est la clé primaire de la table Media et ce champ identifie de manière unique le disque dans la table.

La limite maximale du nombre de fichiers pouvant être répertoriés dans la table Fichier d’un package Windows Installer est de 32767 fichiers. Pour créer un package Windows Installer contenant d’autres fichiers, consultez Création d’un package volumineux.

Les auteurs de packages peuvent réduire la taille de leurs packages d’installation en compressant les fichiers sources et en les incluant dans les fichiers d’armoire. L’image de fichier source peut être compressée, non compressée ou un mélange des deux types. Pour plus d’informations sur les sources compressées et non compressées, consultez Sources compressées et non compressées. Les fichiers sources compressés doivent être stockés à l’intérieur d’un fichier d’armoire. Les fichiers compressés à l’intérieur d’une armoire ont leurs propres numéros de séquence internes. Les valeurs de ces numéros de séquence internes n’ont pas besoin de correspondre à la valeur des numéros de séquence dans la table File. Toutefois, la séquence des fichiers spécifiés dans la table File doit être identique à la séquence réelle des fichiers dans les armoires. Les numéros de séquence des fichiers non compressés ne doivent pas nécessairement être uniques. Par exemple, si tous les fichiers ne sont pas compressés et résident sur un seul disque, tous les fichiers peuvent avoir le même numéro de séquence dans la table Fichier.

Le tableau Media décrit l’ensemble de disques qui composent le média source pour l’installation. La première entrée de la table Media doit toujours avoir un 1 dans le champ DiskId. Les fichiers doivent être organisés sur le support source de telle sorte que tous les fichiers sur le disque 1 aient des numéros de séquence de table de fichiers inférieurs aux numéros de séquence des fichiers sur le disque 2, et que tous les numéros de séquence sur le disque 2 soient plus petits que sur le disque 3, et ainsi de suite. Cette exigence s’applique également à un disque qui contient à la fois des sources compressées et non compressées. Par exemple, si les sources multimédias pour l’installation se trouvent sur deux disques sources et si le disque 1 contient à la fois des fichiers non compressés et un fichier d’armoire, les fichiers non compressés et les fichiers de l’armoire doivent avoir des numéros de séquence plus petits que le plus petit des fichiers stockés sur le disque 2. Si tous les fichiers du disque 1 sont compressés dans un fichier d’armoire, la table Media peut être créée comme indiqué dans le tableau suivant.

Table Media (partielle)

DiskId LastSequence DiskPrompt Cabinet VolumeLabel
1 5 1 mycab.cab Disque 1
2 10 2 Disque 2

 

Si certains fichiers sur le disque 1 sont compressés dans une armoire et d’autres non compressés, la table Media peut être créée comme suit.

Table Media (partielle)

DiskId LastSequence DiskPrompt Cabinet VolumeLabel
1 5 1 Disque 1
2 10 1 mycab.cab Disque 1
3 15 2 Disque 2

 

Notez que la création de la table Media suivante est incorrecte, car elle spécifie certains numéros de séquence de fichiers sur le disque 2 qui sont plus petits que certains fichiers à l’intérieur de l’armoire sur le disque 1.

Media Table

DiskId LastSequence DiskPrompt Cabinet VolumeLabel
1 5 1 Disque 1
2 10 2 Disque 2
3 15 1 mycab.cab Disque 1

 

Les fichiers volumineux peuvent être divisés entre au moins deux fichiers d’armoire. Il ne peut pas y avoir plus de 15 fichiers dans un fichier d’armoire qui s’étend au fichier d’armoire suivant. Par exemple, si vous avez trois fichiers d’armoire, le premier cabinet peut avoir 15 fichiers qui s’étendent au deuxième fichier cabinet, et le deuxième cabinet peut avoir 15 fichiers qui s’étendent au troisième fichier cabinet. Lorsque vous ajoutez un enregistrement à la table File pour un fichier plusieurs armoires, utilisez la première partie du fichier pour spécifier le numéro de séquence de fichier que vous entrez dans la colonne Séquence.

Les tables Fichier et Média peuvent être créées comme suit s’il existe trois fichiers, deux armoires et deux disques. Dans cet exemple, c1.cab réside sur disk1 et c2.cab réside sur disk2. Le fichier f2 couvre les deux armoires. L’armoire c1.cab contient l’intégralité du fichier f1 et la première partie du fichier f2. L’armoire c2.cab contient la deuxième partie de f2 et le fichier f3 entier.

Table Media (partielle)

DiskId LastSequence DiskPrompt Cabinet VolumeLabel
1 5 1 c1.cab Disque 1
2 10 2 c2.cab Disque 2

 

Table File (partielle)

Fichier Séquence
f1 1
f2 2
f3 6