Table de fichier

La table de fichiers contient une liste complète des fichiers sources avec leurs différents attributs, classés par un identificateur unique, non localisé. Les fichiers peuvent être stockés sur le média source sous forme de fichiers individuels ou compressés dans des fichiers cabinet. Pour plus d’informations, consultez Utilisation de cabinets et de sources compressées.

La table Fichier présente les colonnes suivantes.

Colonne Type Clé Nullable
Fichier Identificateur O N
Component_ Identificateur N N
FileName Nom du fichier N N
FileSize DoubleInteger N N
Version Version N O
Langage Langage N O
Attributs Integer N O
Séquence Integer N N

 

Colonnes

Fichier

Jeton non localisé qui identifie le fichier de manière unique. Ce champ ne respecte pas la casse. N’affectez pas d’identificateurs à différents fichiers qui diffèrent uniquement par leur casse.

Component_

Clé externe de la première colonne de la table Composant. Ce champ identifie le composant qui contrôle le fichier.

FileName

Nom de fichier utilisé pour l’installation. Le nom peut être localisé.

Étant donné que certains serveurs web peuvent respecter la casse, FileName doit correspondre exactement à la casse des fichiers sources pour garantir la prise en charge des téléchargements sur Internet.

FileSize

Taille du fichier en octets. Il doit s’agir d’un nombre non négatif.

Version

Ce champ est la chaîne de version d’un fichier avec version. Ce champ est vide pour les fichiers sans version. La version du fichier entrée dans ce champ doit être identique à la version du fichier inclus dans le package d’installation.

Le champ Version peut également être défini pour contenir la clé primaire d’un autre enregistrement dans la table Fichier. Le fichier référencé détermine ensuite la logique de contrôle de version pour ce fichier. Pour plus d’informations, consultez Fichiers compagnons. Notez que si ce fichier est le chemin de clé de son composant, il ne doit pas être spécifié en tant que fichier compagnon.

Langue

Liste d’ID de langues décimales séparés par des virgules.

Les fichiers de polices ne doivent pas être créés avec un ID de langue, car les polices n’ont pas de ressource d’ID de langue incorporée. Par conséquent, cette colonne doit être laissée null pour les fichiers de polices.

Attributs

Entier qui contient des indicateurs de bits qui représentent des attributs de fichier.

La table suivante montre la définition du champ de bits.

Constante Valeur hexadécimale Decimal Description
msidbFileAttributesReadOnly 0x000001 1 Lecture seule
msidbFileAttributesHidden 0x000002 2 Hidden
msidbFileAttributesSystem 0x000004 4 Système
msidbFileAttributesVital 0x000200 512 Le fichier est essentiel au bon fonctionnement du composant auquel il appartient. Si l’installation d’un fichier avec l’attribut msidbFileAttributesVital échoue, l’installation s’arrête et est restaurée. Dans ce cas, le programme d’installation affiche une boîte de dialogue sans bouton Ignorer. Si cet attribut n’est pas défini et que l’installation du fichier échoue, le programme d’installation affiche une boîte de dialogue avec un bouton Ignorer. Dans ce cas, l’utilisateur peut choisir d’ignorer l’échec de l’installation du fichier et de continuer.
msidbFileAttributesChecksum 0x000400 1 024 Le fichier contient une somme de contrôle valide. Une somme de contrôle est requise pour réparer un fichier endommagé.
msidbFileAttributesPatchAdded 0x001000 4096 Ce bit doit uniquement être ajouté par une retouche et si le fichier est ajouté par la retouche.
msidbFileAttributesNoncompressed 0x002000 8 192 Le type de source du fichier est décompressé. Si cette valeur est définie, ignorez la propriété Résumé du nombre de mots. Si ni msidbFileAttributesNoncompressed ni msidbFileAttributesCompressed n’est défini, l’état de compression du fichier est spécifié par la propriété Résumé du nombre de mots. Ne définissez pas msidbFileAttributesNoncompressed et msidbFileAttributesCompressed.
msidbFileAttributesCompressed 0x004000 16384 Le type de source du fichier est compressé. Si cette valeur est définie, ignorez la propriété Résumé du nombre de mots. Si ni msidbFileAttributesNoncompressed ni msidbFileAttributesCompressed n’est défini, l’état de compression du fichier est spécifié par la propriété Résumé du nombre de mots. Ne définissez pas msidbFileAttributesNoncompressed et msidbFileAttributesCompressed.

 

Si le bit msidbFileAttributesVital dans la colonne Attributs est défini et si le composant auquel appartient le fichier est sélectionné pour l’installation, le programme d’installation doit être en mesure d’installer ce fichier pour que l’installation se termine correctement. Si le programme d’installation ne parvient pas à installer le fichier pour une raison quelconque (par exemple, si le fichier source ne peut pas se trouver dans l’image source), une boîte de dialogue d’erreur s’affiche avec les options « Réessayer » ou « Annuler ». Pour un fichier qui n’a pas msidbFileAttributesVital défini, les options en cas d’erreur d’installation seront « Abandonner », « Réessayer » et « Ignorer » (autrement dit, l’utilisateur aura la possibilité de terminer l’installation correctement sans installer ce fichier).

Le bit msidbFileAttributesChecksum dans la colonne Attributs doit être défini pour chaque fichier exécutable de l’installation qui a une somme de contrôle valide stockée dans l’en-tête du fichier exécutable portable (PE). Seuls les fichiers qui ont ce jeu de bits seront vérifiés pour la somme de contrôle valide lors d’une réinstallation. Pour plus d’informations, consultez REINSTALLMODE.

Séquence

Position séquentielle de ce fichier sur les images multimédias. Cet ordre doit correspondre à l’ordre des fichiers dansle cabinet si les fichiers sont compressés. Les entiers de ce champ doivent être égaux ou supérieurs à 1.

Les numéros de séquence de la colonne Séquence sont utilisés pour spécifier à la fois l’ordre d’installation des fichiers et le média source sur lequel se trouve le fichier (conjointement avec la table Média). Par exemple, supposons qu’un fichier a un numéro de séquence de 92. Pour déterminer le disque source sur lequel réside ce fichier, recherchez dans la table Média l’entrée avec la plus petite valeur Dernière séquence supérieure à 92.

Bien que les fichiers compressés se voient attribuer des numéros de séquence internes dans des cabinets, ces nombres absolus n’ont pas besoin de correspondre aux numéros de séquence dans la table Fichier. Il est toutefois important que la séquence de fichiers de la table Fichier soit identique à la séquence des fichiers dans les cabinets.

Pour les fichiers qui ne sont pas compressés, les numéros de séquence ne doivent pas nécessairement être uniques. Par exemple, si tous vos fichiers sont décompressés et résident tous sur un seul disque, vous pouvez donner à tous les fichiers le même numéro de séquence.

La limite maximale est de 32 767 fichiers. Pour créer un package du programme d’installation Windows contenant d’autres fichiers, consultez Création d’un package volumineux.

Notes

Les actions InstallFiles et RemoveFiles dans les tables Séquence traitent les informations contenues dans cette table. Pour plus d’informations sur l’utilisation des tables Séquence, consultez Utilisation d’une table de séquence.

La table est initialement générée à partir de la liste des fichiers, mais si la compression de cabinets est utilisée, la table est régénérée à partir de la sortie du moteur de compression. Pour plus d’informations, consultez Fichiers de cabinet.

Pour déplacer un fichier existant sur l’ordinateur de l’utilisateur pendant l’installation, utilisez l’action MoveFiles et la table MoveFile. Pour installer un fichier à plusieurs emplacements, utilisez l’action DuplicateFiles et la table DuplicateFile.

La table suivante récapitule les combinaisons possibles de valeurs dans la colonne Version et la colonne Langue. Pour plus d’informations, consultez Règles de contrôle de version de fichiers.

Version Langage Description
1.2.3.4 1033 Version et langue.
1.2.3.4 (Null) Version, mais pas de langue.
1.2.3.4 0 La version et la langue sont neutres.
Testdb (Null) Fichier compagnon sans langue associée.
Testdb 1033 Fichier compagnon et langue.
(Null) 1033 Aucune version, mais une langue lui est associée (c’est-à-dire typelib, helpfile).

 

Pour plus d’informations, consultez la table MsiLockPermissionsEx et la table LockPermissions.

Validation

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